diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 6e63b6e0c..000000000 --- a/.babelrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "presets": [ - ["@babel/preset-env", { "targets": { "node": "current" } }], - "@babel/preset-typescript" - ] -} diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml index c21e52f64..e2fefde3c 100644 --- a/.github/workflows/_test.yml +++ b/.github/workflows/_test.yml @@ -35,7 +35,7 @@ jobs: # TODO - periodically check if conditional services are supported; https://github.com/actions/runner/issues/822 services: devnet: - image: ${{ (inputs.use-devnet) && 'shardlabs/starknet-devnet-rs:0.4.2' || '' }} + image: ${{ (inputs.use-devnet) && 'shardlabs/starknet-devnet-rs:0.6.0' || '' }} ports: - 5050:5050 diff --git a/.github/workflows/manual-tests-testnet.yml b/.github/workflows/manual-tests-testnet.yml index 63000d5c3..299bd68fb 100644 --- a/.github/workflows/manual-tests-testnet.yml +++ b/.github/workflows/manual-tests-testnet.yml @@ -32,14 +32,14 @@ on: description: 'Protocol: WS' type: boolean default: true - matrix-version-v0_7: - description: 'RPC version: 0.7' - type: boolean - default: true matrix-version-v0_8: description: 'RPC version: 0.8' type: boolean default: true + matrix-version-v0_9: + description: 'RPC version: 0.9' + type: boolean + default: true jobs: prepare-matrix: @@ -78,9 +78,6 @@ jobs: node: ${{ fromJson(needs.prepare-matrix.outputs.matrix).node }} protocol: ${{ fromJson(needs.prepare-matrix.outputs.matrix).protocol }} version: ${{ fromJson(needs.prepare-matrix.outputs.matrix).version }} - exclude: - - version: v0_7 - protocol: WS uses: ./.github/workflows/_test.yml with: diff --git a/.github/workflows/pr-push-main.yml b/.github/workflows/pr-push-main.yml index dd49bc6fe..d1cb010eb 100644 --- a/.github/workflows/pr-push-main.yml +++ b/.github/workflows/pr-push-main.yml @@ -43,10 +43,7 @@ jobs: matrix: protocol: [RPC, WS] node: [Juno, Pathfinder] - version: [v0_7, v0_8] - exclude: - - version: v0_7 - protocol: WS + version: [v0_8, v0_9] uses: ./.github/workflows/_test.yml with: diff --git a/.gitignore b/.gitignore index b84a92e49..0e214821a 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ .eslintcache .vscode .idea +.claude coverage coverage-ts dist diff --git a/CHANGELOG.md b/CHANGELOG.md index da5e2604b..b6c78fdd7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,189 @@ +# [8.6.0](https://github.com/starknet-io/starknet.js/compare/v8.5.5...v8.6.0) (2025-10-17) + +### Features + +- blake2s ([#1502](https://github.com/starknet-io/starknet.js/issues/1502)) ([dd3f8ec](https://github.com/starknet-io/starknet.js/commit/dd3f8eca44091a01d240f03e488a25b1119af524)) + +## [8.5.5](https://github.com/starknet-io/starknet.js/compare/v8.5.4...v8.5.5) (2025-10-03) + +### Bug Fixes + +- ensure cleanHex has valid output ([f5123b6](https://github.com/starknet-io/starknet.js/commit/f5123b6f9c7fa49ad104a48fd4a1f62e2520488e)) + +## [8.5.4](https://github.com/starknet-io/starknet.js/compare/v8.5.3...v8.5.4) (2025-09-17) + +### Bug Fixes + +- fix waitfortransaction for rotating nodes services with lifeCycleRetries default 3 ([7296850](https://github.com/starknet-io/starknet.js/commit/72968500c9b0f4b889e9e388b3a98a0ea0de3b43)) + +## [8.5.3](https://github.com/starknet-io/starknet.js/compare/v8.5.2...v8.5.3) (2025-09-05) + +### Bug Fixes + +- enforce fixed size for cairo bytes ([6a56166](https://github.com/starknet-io/starknet.js/commit/6a56166e65c79d68e012083cefff3fb532e150ac)) + +## [8.5.2](https://github.com/starknet-io/starknet.js/compare/v8.5.1...v8.5.2) (2025-08-27) + +### Bug Fixes + +- preserve leading zeros for cairo bytes data ([5542a00](https://github.com/starknet-io/starknet.js/commit/5542a0015d0cc3cae186d63fe4258c9942ff07d2)) + +## [8.5.1](https://github.com/starknet-io/starknet.js/compare/v8.5.0...v8.5.1) (2025-08-27) + +### Bug Fixes + +- preserve leading zeros for pending word within byte array ([5d7ab04](https://github.com/starknet-io/starknet.js/commit/5d7ab042ce1a81e4f31a5ec4488db758308e872a)) + +# [8.5.0](https://github.com/starknet-io/starknet.js/compare/v8.4.0...v8.5.0) (2025-08-18) + +### Features + +- **provider:** Add Brother ID domain resolution support ([#1313](https://github.com/starknet-io/starknet.js/issues/1313)) ([0bea966](https://github.com/starknet-io/starknet.js/commit/0bea966d29b51b026c6ed5d9916d9039d5fd6a17)) + +# [8.4.0](https://github.com/starknet-io/starknet.js/compare/v8.3.1...v8.4.0) (2025-08-15) + +### Features + +- fast execute ([#1463](https://github.com/starknet-io/starknet.js/issues/1463)) ([d76fb63](https://github.com/starknet-io/starknet.js/commit/d76fb6321782b87a9bfc18c9ac859d21acb4f47e)) + +## [8.3.1](https://github.com/starknet-io/starknet.js/compare/v8.3.0...v8.3.1) (2025-08-15) + +### Bug Fixes + +- ensure a Buffer type is available for all environments ([6e67834](https://github.com/starknet-io/starknet.js/commit/6e678343876504082d3c232a115b1c48a8f6ce96)) + +# [8.3.0](https://github.com/starknet-io/starknet.js/compare/v8.2.0...v8.3.0) (2025-08-15) + +### Features + +- implement websocket 0.9 ([#1467](https://github.com/starknet-io/starknet.js/issues/1467)) ([7e988c4](https://github.com/starknet-io/starknet.js/commit/7e988c417ac2b4c862dc438b56a149ba7c20439d)) + +# [8.2.0](https://github.com/starknet-io/starknet.js/compare/v8.1.2...v8.2.0) (2025-08-15) + +### Features + +- a CairoByteArray, CairoTypes, updates ([#1469](https://github.com/starknet-io/starknet.js/issues/1469)) ([430fb70](https://github.com/starknet-io/starknet.js/commit/430fb70e5c54d59f9fde9acadd701632170aca25)), closes [#1472](https://github.com/starknet-io/starknet.js/issues/1472) + +## [8.1.2](https://github.com/starknet-io/starknet.js/compare/v8.1.1...v8.1.2) (2025-08-04) + +### Bug Fixes + +- migration docs update and fix overhead method to allow false overhead for no overhead ([3b74e62](https://github.com/starknet-io/starknet.js/commit/3b74e621b69447790a6bd1c4112b60e2b428c946)) + +## [8.1.1](https://github.com/starknet-io/starknet.js/compare/v8.1.0...v8.1.1) (2025-08-04) + +### Bug Fixes + +- repair published types ([#1465](https://github.com/starknet-io/starknet.js/issues/1465)) ([6ab9db0](https://github.com/starknet-io/starknet.js/commit/6ab9db0fd41155735f8536d9add046e2c89abb14)) + +# [8.1.0](https://github.com/starknet-io/starknet.js/compare/v8.0.0...v8.1.0) (2025-07-28) + +### Bug Fixes + +- improve hex string validation in isHex function with support for 0X prefix ([316c12f](https://github.com/starknet-io/starknet.js/commit/316c12f416f3c49c8c2cd3374d3ef1543c3ff43d)) +- interfaces fixes and optional param fix ([86b41a0](https://github.com/starknet-io/starknet.js/commit/86b41a0460683d57ca85ef3ac44a9703bc2f9f58)) +- missing options Acc.-deployContract,declareAndDeploy; Con.-estimate with options, test: False tests for pre-confirm event and estimate with tip ([2bd9305](https://github.com/starknet-io/starknet.js/commit/2bd93053d5e2dfbf0db6af8da7b88653f17ee749)) +- test event on devnet ([50b98f3](https://github.com/starknet-io/starknet.js/commit/50b98f35f3a85c38a1ff7ee6899d238e2df6addb)) + +### Features + +- contract.Factory can deploy contract with only class hash provided ([fe4cba6](https://github.com/starknet-io/starknet.js/commit/fe4cba6a667ad0e8a7e94eabd89554dc9d26dedb)) +- fees and tip helpers ([200318b](https://github.com/starknet-io/starknet.js/commit/200318bda4341cd7816fb0202d8f2965ccb2147a)) + +# [8.0.0](https://github.com/starknet-io/starknet.js/compare/v7.6.4...v8.0.0) (2025-07-28) + +- feat!: bump version ([0afb3f8](https://github.com/starknet-io/starknet.js/commit/0afb3f8e82b147bcc7084c417826313c1e488053)) + +### Bug Fixes + +- accountInvocationsFactory typing ([a1b1e7f](https://github.com/starknet-io/starknet.js/commit/a1b1e7f60e7abfa43836666a0d801abd33242d7b)) +- change DeclareDeployDCResponse name to DeclareDeployUDCResponse ([6498b8b](https://github.com/starknet-io/starknet.js/commit/6498b8b0bbd137658862422031132073f1c42ac3)) +- devenet ([3b2be9d](https://github.com/starknet-io/starknet.js/commit/3b2be9d46beec4931eb96183c0985e0f607e5713)) +- export Deployer, remove old helper parseUDCEvent, fix some tests imports ([c2d0d55](https://github.com/starknet-io/starknet.js/commit/c2d0d5508239f164ec538707bd19625c70dcb604)) +- factory jsdocs, CompleteDeclareContractPayload type update for Cairo1 ([06920cb](https://github.com/starknet-io/starknet.js/commit/06920cbcb52c70fe01d8161d27d6f0e32be94627)) +- import all types from ./api, remove 07 package ([68ac49c](https://github.com/starknet-io/starknet.js/commit/68ac49ceab4de5738671fd9d05757056a8c980df)) +- improve DeclareContractPayload type ([00835ca](https://github.com/starknet-io/starknet.js/commit/00835caf9406e8a9afd2cde22b43e5d3e2773990)) +- remove helper buildUDCCall ([d299f7b](https://github.com/starknet-io/starknet.js/commit/d299f7b3b175c265b218c2d182762ee38f3aa27a)) +- removed duplicated buildDeployerContractPayload ([e7b728d](https://github.com/starknet-io/starknet.js/commit/e7b728ddc6e5e9e3cffea941f4dcc6e20d8df1ff)) +- sepolia Pathfinder tests PASS ([0c41fc2](https://github.com/starknet-io/starknet.js/commit/0c41fc222c33077c7aad45c79af06852a0db3f69)) +- type problem in tests, due to merge in v8 ([fd49e8a](https://github.com/starknet-io/starknet.js/commit/fd49e8af3051b31f105cc82767248b7832df8130)) +- use new entrypoint on the new UDC ([992ee09](https://github.com/starknet-io/starknet.js/commit/992ee09e08533efb3a12ff91abc0fca2acb552f2)) + +### Features + +- add custom Deployer in Account constructor ([7d62e20](https://github.com/starknet-io/starknet.js/commit/7d62e202c3bab698e383a2128f117675f30f38f7)) +- await Contract.factory() with rawArgs support, del connect(), del contractFactory Class ([c108160](https://github.com/starknet-io/starknet.js/commit/c108160e9b14df7411fa27e8587129d9deaae85e)) +- contract & factory type-sync with Account, fix SierraContractClass abi, buildUDCCall with abi ([20a732a](https://github.com/starknet-io/starknet.js/commit/20a732a47f8312206c1ab946bd99f37c57d92075)) +- customize tip type, cleanup, account interface update, remove types namespace export ([586ffde](https://github.com/starknet-io/starknet.js/commit/586ffdeb9ddcd38da4f93b2f579ad296a349fca5)) +- introduce roc09, made batchClient generic ([c49dd10](https://github.com/starknet-io/starknet.js/commit/c49dd1011ddf1ddec7c1e4403235338ab347b7a0)) +- main modifications without tests ([3407201](https://github.com/starknet-io/starknet.js/commit/34072010ce0a47fe94b80b29288ee129cce2bae1)) +- new channel init ([ffec346](https://github.com/starknet-io/starknet.js/commit/ffec346463f26b3aca8cb77d15d4440a08948e5b)) +- object-base API Account,WalletAccount, backward support methods ([06a3760](https://github.com/starknet-io/starknet.js/commit/06a37606fdde521d862f1608aa4ccf77eebba55c)) +- second swipe update, clean or commented tests ([92185f5](https://github.com/starknet-io/starknet.js/commit/92185f5674f8f1ded18c2aeb3ac273341bb3b117)) +- tip metric, test update ([e665389](https://github.com/starknet-io/starknet.js/commit/e665389c4fe8de6e7b386d6598ecc46b9a3d37c4)) +- tip raw impl in account, tests ([07d4e73](https://github.com/starknet-io/starknet.js/commit/07d4e738ef3e7c6c3c50b9ea3ceb9c3a76310eb4)) +- update packages ([a52db43](https://github.com/starknet-io/starknet.js/commit/a52db430f10dd00e04844933c46e400abb8a2833)) + +### BREAKING CHANGES + +- starknet version 0.14: + +# [8.0.0-beta.4](https://github.com/starknet-io/starknet.js/compare/v8.0.0-beta.3...v8.0.0-beta.4) (2025-07-24) + +### Bug Fixes + +- accountInvocationsFactory typing ([a1b1e7f](https://github.com/starknet-io/starknet.js/commit/a1b1e7f60e7abfa43836666a0d801abd33242d7b)) + +# [8.0.0-beta.3](https://github.com/starknet-io/starknet.js/compare/v8.0.0-beta.2...v8.0.0-beta.3) (2025-07-24) + +### Bug Fixes + +- change DeclareDeployDCResponse name to DeclareDeployUDCResponse ([6498b8b](https://github.com/starknet-io/starknet.js/commit/6498b8b0bbd137658862422031132073f1c42ac3)) +- devenet ([3b2be9d](https://github.com/starknet-io/starknet.js/commit/3b2be9d46beec4931eb96183c0985e0f607e5713)) +- export Deployer, remove old helper parseUDCEvent, fix some tests imports ([c2d0d55](https://github.com/starknet-io/starknet.js/commit/c2d0d5508239f164ec538707bd19625c70dcb604)) +- remove helper buildUDCCall ([d299f7b](https://github.com/starknet-io/starknet.js/commit/d299f7b3b175c265b218c2d182762ee38f3aa27a)) +- removed duplicated buildDeployerContractPayload ([e7b728d](https://github.com/starknet-io/starknet.js/commit/e7b728ddc6e5e9e3cffea941f4dcc6e20d8df1ff)) +- type problem in tests, due to merge in v8 ([fd49e8a](https://github.com/starknet-io/starknet.js/commit/fd49e8af3051b31f105cc82767248b7832df8130)) +- use new entrypoint on the new UDC ([992ee09](https://github.com/starknet-io/starknet.js/commit/992ee09e08533efb3a12ff91abc0fca2acb552f2)) + +### Features + +- add custom Deployer in Account constructor ([7d62e20](https://github.com/starknet-io/starknet.js/commit/7d62e202c3bab698e383a2128f117675f30f38f7)) +- update packages ([a52db43](https://github.com/starknet-io/starknet.js/commit/a52db430f10dd00e04844933c46e400abb8a2833)) + +# [8.0.0-beta.2](https://github.com/starknet-io/starknet.js/compare/v8.0.0-beta.1...v8.0.0-beta.2) (2025-07-21) + +### Features + +- customize tip type, cleanup, account interface update, remove types namespace export ([586ffde](https://github.com/starknet-io/starknet.js/commit/586ffdeb9ddcd38da4f93b2f579ad296a349fca5)) +- tip metric, test update ([e665389](https://github.com/starknet-io/starknet.js/commit/e665389c4fe8de6e7b386d6598ecc46b9a3d37c4)) +- tip raw impl in account, tests ([07d4e73](https://github.com/starknet-io/starknet.js/commit/07d4e738ef3e7c6c3c50b9ea3ceb9c3a76310eb4)) + +# [8.0.0-beta.1](https://github.com/starknet-io/starknet.js/compare/v7.6.4...v8.0.0-beta.1) (2025-07-16) + +- feat!: bump version ([0afb3f8](https://github.com/starknet-io/starknet.js/commit/0afb3f8e82b147bcc7084c417826313c1e488053)) + +### Bug Fixes + +- factory jsdocs, CompleteDeclareContractPayload type update for Cairo1 ([06920cb](https://github.com/starknet-io/starknet.js/commit/06920cbcb52c70fe01d8161d27d6f0e32be94627)) +- import all types from ./api, remove 07 package ([68ac49c](https://github.com/starknet-io/starknet.js/commit/68ac49ceab4de5738671fd9d05757056a8c980df)) +- improve DeclareContractPayload type ([00835ca](https://github.com/starknet-io/starknet.js/commit/00835caf9406e8a9afd2cde22b43e5d3e2773990)) +- sepolia Pathfinder tests PASS ([0c41fc2](https://github.com/starknet-io/starknet.js/commit/0c41fc222c33077c7aad45c79af06852a0db3f69)) + +### Features + +- await Contract.factory() with rawArgs support, del connect(), del contractFactory Class ([c108160](https://github.com/starknet-io/starknet.js/commit/c108160e9b14df7411fa27e8587129d9deaae85e)) +- contract & factory type-sync with Account, fix SierraContractClass abi, buildUDCCall with abi ([20a732a](https://github.com/starknet-io/starknet.js/commit/20a732a47f8312206c1ab946bd99f37c57d92075)) +- introduce roc09, made batchClient generic ([c49dd10](https://github.com/starknet-io/starknet.js/commit/c49dd1011ddf1ddec7c1e4403235338ab347b7a0)) +- main modifications without tests ([3407201](https://github.com/starknet-io/starknet.js/commit/34072010ce0a47fe94b80b29288ee129cce2bae1)) +- new channel init ([ffec346](https://github.com/starknet-io/starknet.js/commit/ffec346463f26b3aca8cb77d15d4440a08948e5b)) +- object-base API Account,WalletAccount, backward support methods ([06a3760](https://github.com/starknet-io/starknet.js/commit/06a37606fdde521d862f1608aa4ccf77eebba55c)) +- second swipe update, clean or commented tests ([92185f5](https://github.com/starknet-io/starknet.js/commit/92185f5674f8f1ded18c2aeb3ac273341bb3b117)) + +### BREAKING CHANGES + +- starknet version 0.14: + ## [7.6.4](https://github.com/starknet-io/starknet.js/compare/v7.6.3...v7.6.4) (2025-07-10) ### Bug Fixes diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3b5173345..3a6694bd1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -45,8 +45,8 @@ By default, the tests are executed in your local Devnet, and everything should r If you want to use a specific RPC node, you have to set some global variables before executing the tests: ```bash -export TEST_RPC_URL=http://192.168.1.44:9545/rpc/v0_7 # example of a Pathfinder node located in your local network -export TEST_RPC_URL=https://starknet-sepolia.public.blastapi.io/rpc/v0_7 # example of a public Sepolia testnet node +export TEST_RPC_URL=http://192.168.1.44:9545/rpc/v0_9 # example of a Pathfinder node located in your local network +export TEST_RPC_URL=https://starknet-sepolia.public.blastapi.io/rpc/v0_9 # example of a public Sepolia testnet node export TEST_ACCOUNT_ADDRESS=0x065A822f0000000000000000000000000c26641 export TEST_ACCOUNT_PRIVATE_KEY=0x02a80000000000000000000000001754438a ``` diff --git a/README.md b/README.md index 0bdbdc449..d1f7f8487 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,6 @@ This library would not be possible without these rockstars. ## 📜 License -Copyright (c) 2024 StarkWare +Copyright (c) 2025 StarkWare Licensed under the [MIT license](https://github.com/starknet-io/starknet.js/blob/main/LICENSE). diff --git a/__mocks__/cairo/byteArray/Scarb.lock b/__mocks__/cairo/byteArray/Scarb.lock new file mode 100644 index 000000000..5051c3849 --- /dev/null +++ b/__mocks__/cairo/byteArray/Scarb.lock @@ -0,0 +1,24 @@ +# Code generated by scarb DO NOT EDIT. +version = 1 + +[[package]] +name = "snforge_scarb_plugin" +version = "0.45.0" +source = "registry+https://scarbs.xyz/" +checksum = "sha256:568482e8c40e7018d9ea729d6df3d5ec22b665cfff1e89181d8ad31bacca11cc" + +[[package]] +name = "snforge_std" +version = "0.45.0" +source = "registry+https://scarbs.xyz/" +checksum = "sha256:c08b359c266e45c4e71b71baa3c4af8dae7fc5416fc8168f0983e5c9a2ac0abe" +dependencies = [ + "snforge_scarb_plugin", +] + +[[package]] +name = "test" +version = "0.1.0" +dependencies = [ + "snforge_std", +] diff --git a/__mocks__/cairo/byteArray/Scarb.toml b/__mocks__/cairo/byteArray/Scarb.toml new file mode 100644 index 000000000..dc74f90f7 --- /dev/null +++ b/__mocks__/cairo/byteArray/Scarb.toml @@ -0,0 +1,21 @@ +[package] +name = "test" +version = "0.1.0" +edition = "2024_07" + +[dependencies] +starknet = "2.11.4" + +[dev-dependencies] +snforge_std = "0.45.0" +assert_macros = "2.11.4" + +[[target.starknet-contract]] +sierra = true +casm = true + +[scripts] +test = "snforge test" + +[tool.scarb] +allow-prebuilt-plugins = ["snforge_std"] diff --git a/__mocks__/cairo/byteArray/src/lib.cairo b/__mocks__/cairo/byteArray/src/lib.cairo new file mode 100644 index 000000000..81fdf5ddf --- /dev/null +++ b/__mocks__/cairo/byteArray/src/lib.cairo @@ -0,0 +1,62 @@ +// ByteArray Storage Contract Interface +#[starknet::interface] +pub trait IByteArrayStorage { + fn store_message(ref self: TContractState, message: ByteArray); + fn store_message_noevent(ref self: TContractState, message: ByteArray); + fn read_message(self: @TContractState) -> ByteArray; +} + +// ByteArray Storage Contract +#[starknet::contract] +pub mod ByteArrayStorage { + use starknet::get_caller_address; + use starknet::storage::*; + + #[storage] + struct Storage { + stored_message: ByteArray, + } + + #[event] + #[derive(Drop, starknet::Event)] + pub enum Event { + MessageStored: MessageStored, + } + + #[derive(Drop, starknet::Event)] + pub struct MessageStored { + pub caller: starknet::ContractAddress, + pub message: ByteArray, + } + + #[constructor] + fn constructor(ref self: ContractState) { + // Initialize with empty ByteArray + self.stored_message.write(""); + } + + #[abi(embed_v0)] + impl ByteArrayStorageImpl of super::IByteArrayStorage { + fn store_message(ref self: ContractState, message: ByteArray) { + let caller = get_caller_address(); + + // Store the message in storage + self.stored_message.write(message.clone()); + + // Emit event with the message + self.emit(Event::MessageStored(MessageStored { + caller, + message + })); + } + + fn store_message_noevent(ref self: ContractState, message: ByteArray) { + // Store the message in storage + self.stored_message.write(message.clone()); + } + + fn read_message(self: @ContractState) -> ByteArray { + self.stored_message.read() + } + } +} \ No newline at end of file diff --git a/__mocks__/cairo/byteArray/target/CACHEDIR.TAG b/__mocks__/cairo/byteArray/target/CACHEDIR.TAG new file mode 100644 index 000000000..e95ca71c3 --- /dev/null +++ b/__mocks__/cairo/byteArray/target/CACHEDIR.TAG @@ -0,0 +1,3 @@ +Signature: 8a477f597d28d172789f06886806bc55 +# This file is a cache directory tag created by scarb. +# For information about cache directory tags see https://bford.info/cachedir/ diff --git a/__mocks__/cairo/byteArray/target/dev/test.starknet_artifacts.json b/__mocks__/cairo/byteArray/target/dev/test.starknet_artifacts.json new file mode 100644 index 000000000..787418ed7 --- /dev/null +++ b/__mocks__/cairo/byteArray/target/dev/test.starknet_artifacts.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "contracts": [ + { + "id": "e4evnsfe9oipm", + "package_name": "test", + "contract_name": "ByteArrayStorage", + "module_path": "test::ByteArrayStorage", + "artifacts": { + "sierra": "test_ByteArrayStorage.contract_class.json", + "casm": "test_ByteArrayStorage.compiled_contract_class.json" + } + } + ] +} diff --git a/__mocks__/cairo/byteArray/target/dev/test_ByteArrayStorage.casm b/__mocks__/cairo/byteArray/target/dev/test_ByteArrayStorage.casm new file mode 100644 index 000000000..e4dbc45e0 --- /dev/null +++ b/__mocks__/cairo/byteArray/target/dev/test_ByteArrayStorage.casm @@ -0,0 +1,3050 @@ +{ + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "compiler_version": "2.11.4", + "bytecode": [ + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xfffffffffffffffffffffffffffff5c4", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x7a", + "0x4825800180007ffa", + "0xa3c", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x229", + "0x20680017fff7ff8", + "0x64", + "0x48127ff77fff8000", + "0x20680017fff7ffa", + "0x55", + "0x48127fff7fff8000", + "0x48307ff780007ff8", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xe", + "0x1104800180018000", + "0x2e6", + "0x48127fed7fff8000", + "0x480a7ff97fff8000", + "0x482480017ff68000", + "0x55a", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x94e", + "0x482480017fff8000", + "0x94d", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0xfe88", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ffb", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fe97fff", + "0x10780017fff7fff", + "0x26", + "0x48307ffe80007ffb", + "0x400080007fea7fff", + "0x482480017fea8000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x480a7ffb7fff8000", + "0x48127fec7fff8000", + "0x48127fec7fff8000", + "0x48127fec7fff8000", + "0x48127fec7fff8000", + "0x1104800180018000", + "0x2c7", + "0x20680017fff7ffd", + "0xd", + "0x40780017fff7fff", + "0x1", + "0x48127ff87fff8000", + "0x48127ff97fff8000", + "0x48127ff77fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x48127ffa7fff8000", + "0x482480017ff88000", + "0x64", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x35d", + "0x482480017fe38000", + "0x1", + "0x480a7ff97fff8000", + "0x48127ff17fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x35a", + "0x48127fef7fff8000", + "0x480a7ff97fff8000", + "0x482480017ff78000", + "0x686", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x482480017ff58000", + "0xa0a", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x33b", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x482680017ffa8000", + "0x1fc2", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xfffffffffffffffffffffffffffff5c4", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x7a", + "0x4825800180007ffa", + "0xa3c", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x19d", + "0x20680017fff7ff8", + "0x64", + "0x48127ff77fff8000", + "0x20680017fff7ffa", + "0x55", + "0x48127fff7fff8000", + "0x48307ff780007ff8", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xe", + "0x1104800180018000", + "0x25a", + "0x48127fed7fff8000", + "0x480a7ff97fff8000", + "0x482480017ff68000", + "0x55a", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x8c2", + "0x482480017fff8000", + "0x8c1", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x901a", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ffb", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fe97fff", + "0x10780017fff7fff", + "0x26", + "0x48307ffe80007ffb", + "0x400080007fea7fff", + "0x482480017fea8000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x480a7ffb7fff8000", + "0x48127fec7fff8000", + "0x48127fec7fff8000", + "0x48127fec7fff8000", + "0x48127fec7fff8000", + "0x1104800180018000", + "0x2fc", + "0x20680017fff7ffd", + "0xd", + "0x40780017fff7fff", + "0x1", + "0x48127ff87fff8000", + "0x48127ff97fff8000", + "0x48127ff77fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x48127ffa7fff8000", + "0x482480017ff88000", + "0x64", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x2d1", + "0x482480017fe38000", + "0x1", + "0x480a7ff97fff8000", + "0x48127ff17fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x2ce", + "0x48127fef7fff8000", + "0x480a7ff97fff8000", + "0x482480017ff78000", + "0x686", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x482480017ff58000", + "0xa0a", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x2af", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x482680017ffa8000", + "0x1fc2", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x6", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x89", + "0x4825800180007ffa", + "0x0", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x482480017ffe8000", + "0x189c", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xe", + "0x1104800180018000", + "0x1d5", + "0x48127ff77fff8000", + "0x480a7ff97fff8000", + "0x482480017ff68000", + "0x55a", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x83d", + "0x482480017fff8000", + "0x83c", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x8d2c", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ffb", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff37fff", + "0x10780017fff7fff", + "0x54", + "0x48307ffe80007ffb", + "0x400080007ff47fff", + "0x482480017ff48000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x3fd9821fe2e34dec6abc18fb7750dcb4e5cff2ebca70d2b1659b0ed803b1b5d", + "0x1104800180018000", + "0x2c7", + "0x40137ff87fff8000", + "0x40137ff97fff8001", + "0x20680017fff7ffa", + "0x34", + "0x48127ff77fff8000", + "0x20680017fff7ffa", + "0x2b", + "0x40780017fff7fff", + "0x1", + "0x40137ffa7fff8002", + "0x40137ffb7fff8003", + "0x40137ffc7fff8004", + "0x40137ffd7fff8005", + "0x4829800280008003", + "0x400080007ffe7fff", + "0x48127ff37fff8000", + "0x48127ffc7fff8000", + "0x480a80027fff8000", + "0x480a80037fff8000", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x1104800180018000", + "0x3b3", + "0x20680017fff7ffd", + "0xe", + "0x400180007fff8004", + "0x400180017fff8005", + "0x48127ffb7fff8000", + "0x480a80007fff8000", + "0x48127ffa7fff8000", + "0x480a80017fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x482480017ff98000", + "0x2", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x480a80007fff8000", + "0x482480017ffa8000", + "0xc8", + "0x480a80017fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fff8000", + "0xbd6", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x1", + "0x482480017ff68000", + "0xc94", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ff27fff8000", + "0x480a80007fff8000", + "0x48127ffb7fff8000", + "0x480a80017fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x21e", + "0x482480017fed8000", + "0x1", + "0x480a7ff97fff8000", + "0x48127ff17fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x212", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x482680017ffa8000", + "0x1f22", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x71", + "0x4825800180007ffa", + "0x0", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x482480017ffe8000", + "0x193c", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xe", + "0x1104800180018000", + "0x13a", + "0x48127ff77fff8000", + "0x480a7ff97fff8000", + "0x482480017ff68000", + "0x55a", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x7a2", + "0x482480017fff8000", + "0x7a1", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x7ddc", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ffb", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff37fff", + "0x10780017fff7fff", + "0x3c", + "0x48307ffe80007ffb", + "0x400080007ff47fff", + "0x40780017fff7fff", + "0x1", + "0x482480017ff38000", + "0x1", + "0x48127ffd7fff8000", + "0x480a7ff97fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x3fd9821fe2e34dec6abc18fb7750dcb4e5cff2ebca70d2b1659b0ed803b1b5d", + "0x48127ff97fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0x359", + "0x20680017fff7ffc", + "0x16", + "0x48127ff97fff8000", + "0x20680017fff7ffc", + "0xe", + "0x40780017fff7fff", + "0x1", + "0x48127ff67fff8000", + "0x48127ff77fff8000", + "0x482480017ffc8000", + "0x12c", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x1", + "0x482480017ff88000", + "0xbe", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ff47fff8000", + "0x48127ff57fff8000", + "0x48127ffb7fff8000", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x19b", + "0x482480017fed8000", + "0x1", + "0x480a7ff97fff8000", + "0x48127ff17fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x18f", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x482680017ffa8000", + "0x1fc2", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x9", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0x9f", + "0x40780017fff7fff", + "0x1", + "0x480a7ffa7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff88000", + "0x1104800180018000", + "0x3ea", + "0x20680017fff7ffa", + "0x80", + "0x48127ff97fff8000", + "0x20680017fff7ffc", + "0x76", + "0x48127fff7fff8000", + "0x48307ff980007ffa", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x5e", + "0x482480017ff88000", + "0x1", + "0x48127ff87fff8000", + "0x48127ffc7fff8000", + "0x480080007ff58000", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffd7fff8000", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff77fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffd7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0x2e", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x100000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007fe57fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000ffffffff", + "0x480080017fe37fff", + "0x400080027fe27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x17", + "0x402780017fff7fff", + "0x1", + "0x400080007fe87ffd", + "0x482480017ffd8000", + "0xffffffffffffffffffffffff00000000", + "0x400080017fe77fff", + "0x482480017fe78000", + "0x2", + "0x482480017ffc8000", + "0x302", + "0x480680017fff8000", + "0x0", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x480680017fff8000", + "0x0", + "0x48127fe77fff8000", + "0x48127fe77fff8000", + "0x48127fed7fff8000", + "0x48127ff37fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fe28000", + "0x3", + "0x48127ff77fff8000", + "0x10780017fff7fff", + "0x7", + "0x40780017fff7fff", + "0x9", + "0x48127fe27fff8000", + "0x482480017ff18000", + "0x528", + "0x480680017fff8000", + "0x0", + "0x48127ff07fff8000", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff57fff8000", + "0x482480017ffd8000", + "0xa96", + "0x480680017fff8000", + "0x0", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff77fff8000", + "0x482480017ffe8000", + "0xa32", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x10780017fff7fff", + "0x19", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0xcee", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x482480017ffa8000", + "0x175c", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x8", + "0x480680017fff8000", + "0x476574457865637574696f6e496e666f", + "0x400280007ff97fff", + "0x400380017ff97ff7", + "0x480280037ff98000", + "0x20680017fff7fff", + "0x95", + "0x480280027ff98000", + "0x480280047ff98000", + "0x40780017fff7fff", + "0x1", + "0x480a7ff67fff8000", + "0x48127ffc7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x402780017ff98007", + "0x5", + "0x400180007ff88002", + "0x400180017ff88003", + "0x400180027ff88004", + "0x400180037ff88005", + "0x400180047ff88006", + "0x1104800180018000", + "0x39c", + "0x20680017fff7ffb", + "0x6f", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480a7ff87fff8000", + "0x480a80077fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x3fd9821fe2e34dec6abc18fb7750dcb4e5cff2ebca70d2b1659b0ed803b1b5d", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x21c", + "0x40137ffa7fff8001", + "0x40137ffb7fff8000", + "0x20680017fff7ffc", + "0x4e", + "0x48127ff97fff8000", + "0x20680017fff7ffc", + "0x45", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x48127ff57fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a80047fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x48127ff67fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ff47fff8000", + "0x1104800180018000", + "0x3ba", + "0x20680017fff7ffb", + "0x26", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x4002800080007fff", + "0x4002800180007ffe", + "0x4002800280007ffa", + "0x4002800380007ffb", + "0x4002800480007ffc", + "0x4002800580007ffd", + "0x4802800780008000", + "0x20680017fff7fff", + "0xf", + "0x4802800680008000", + "0x48127ff57fff8000", + "0x48127ffe7fff8000", + "0x480a80017fff8000", + "0x4826800180008000", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x4802800680008000", + "0x48127ff57fff8000", + "0x48127ffe7fff8000", + "0x480a80017fff8000", + "0x4826800180008000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x4802800880008000", + "0x4802800980008000", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x482480017ff98000", + "0x2b5c", + "0x480a80017fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fff8000", + "0x411e", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x1", + "0x482480017ff88000", + "0x41dc", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ff47fff8000", + "0x48127ffc7fff8000", + "0x480a80017fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x5e0", + "0x482480017fff8000", + "0x5df", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0xc076", + "0x48127ff37fff8000", + "0x48307ffe7ff38000", + "0x480a7ff87fff8000", + "0x480a80077fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x208b7fff7fff7ffe", + "0x480280027ff98000", + "0x1104800180018000", + "0x5ce", + "0x482480017fff8000", + "0x5cd", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0xce2c", + "0x480a7ff67fff8000", + "0x48307ffe7ff88000", + "0x480a7ff87fff8000", + "0x482680017ff98000", + "0x6", + "0x480680017fff8000", + "0x1", + "0x480280047ff98000", + "0x480280057ff98000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202331", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x2ed", + "0x20680017fff7ffb", + "0x35", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x3fd9821fe2e34dec6abc18fb7750dcb4e5cff2ebca70d2b1659b0ed803b1b5d", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x16d", + "0x20680017fff7ffc", + "0x16", + "0x48127ff97fff8000", + "0x20680017fff7ffc", + "0xe", + "0x48127ff77fff8000", + "0x482480017ffe8000", + "0x190", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x1", + "0x482480017ff88000", + "0xbe", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ff47fff8000", + "0x48127ffc7fff8000", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x56b", + "0x482480017fff8000", + "0x56a", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x7ea4", + "0x48127ff37fff8000", + "0x48307ffe7ff38000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffb7fff", + "0x400380017ffb7ff9", + "0x400380027ffb7ffc", + "0x400380037ffb7ffd", + "0x480280057ffb8000", + "0x20680017fff7fff", + "0xe2", + "0x480280047ffb8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x100000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480280007ff87fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000ffffffff", + "0x480280017ff87fff", + "0x400280027ff87ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0xaf", + "0x402780017fff7fff", + "0x1", + "0x400280007ff87ffc", + "0x482480017ffc8000", + "0xffffffffffffffffffffffff00000000", + "0x400280017ff87fff", + "0x480680017fff8000", + "0x1f", + "0x480280027ff88004", + "0x4824800180037fff", + "0x1", + "0x48307ffe7fff7ffd", + "0x480280037ff87ffe", + "0x480280047ff87fff", + "0x40507ffe7ffa7ffd", + "0x40307fff7ffd7ff5", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x427974654172726179", + "0x400380007ffa7ffd", + "0x400280017ffa7ffe", + "0x400280027ffa7fff", + "0x480280037ffa8000", + "0xa0680017fff8005", + "0xe", + "0x4824800180057ffe", + "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8003", + "0x480280057ff87ffc", + "0x480280067ff87ffc", + "0x482480017ffb7ffd", + "0xffffffffffffffeefffffffffffffeff", + "0x400280077ff87ffc", + "0x10780017fff7fff", + "0x11", + "0x48127ffe7fff8005", + "0x484480017ffe8000", + "0x8000000000000000000000000000000", + "0x48307ffe7fff8003", + "0x480280057ff87ffd", + "0x482480017ffc7ffe", + "0xf0000000000000000000000000000100", + "0x480280067ff87ffd", + "0x400280077ff87ff9", + "0x402480017ffd7ff9", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7ffd", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x482680017ff88000", + "0x8", + "0x48127feb7fff8000", + "0x482680017ffa8000", + "0x6", + "0x48127fe87fff8000", + "0x480a7ffc7fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff67fff8000", + "0x48127ff57fff8000", + "0x48127fe87fff8000", + "0x40137fe87fff8000", + "0x1104800180018000", + "0x2b3", + "0x20680017fff7ff6", + "0x53", + "0x48127ff37fff8000", + "0x20680017fff7ffc", + "0x40", + "0x48127fff7fff8000", + "0x20780017fff8000", + "0xd", + "0x40780017fff7fff", + "0x5", + "0x482480017ffa8000", + "0x29fe", + "0x48127fed7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x13", + "0x48127fff7fff8000", + "0x48307ff97ff88000", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400080007ff07fff", + "0x400080017ff07ffd", + "0x400180027ff07ffc", + "0x400080037ff07ffe", + "0x480080057ff08000", + "0x20680017fff7fff", + "0x15", + "0x480080047fef8000", + "0x48127fff7fff8000", + "0x482480017fed8000", + "0x7", + "0x480a80007fff8000", + "0x480080067feb8000", + "0x48127fe77fff8000", + "0x48127ffb7fff8000", + "0x48127fe77fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127fe67fff8000", + "0x48127fe67fff8000", + "0x48127ff77fff8000", + "0x48127ff57fff8000", + "0x208b7fff7fff7ffe", + "0x480080047fef8000", + "0x48127feb7fff8000", + "0x482480017ffe8000", + "0x190", + "0x48127feb7fff8000", + "0x482480017feb8000", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480080067fe68000", + "0x480080077fe58000", + "0x208b7fff7fff7ffe", + "0x48127ff17fff8000", + "0x482480017ffe8000", + "0x2d50", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff27fff8000", + "0x482480017ff28000", + "0x2e18", + "0x48127ff27fff8000", + "0x48127ff27fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x48d", + "0x482480017fff8000", + "0x48c", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x465a", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e76616c696420427974654172726179206c656e677468", + "0x400080007ffe7fff", + "0x482680017ff88000", + "0x3", + "0x48307ffc7fef8000", + "0x480a7ffa7fff8000", + "0x48127fec7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff67fff8000", + "0x482480017ff58000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480280047ffb8000", + "0x1104800180018000", + "0x46e", + "0x482480017fff8000", + "0x46d", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x4d6c", + "0x480a7ff87fff8000", + "0x48307ffe7ff88000", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480280067ffb8000", + "0x480280077ffb8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff98000", + "0xfffffffffffffffffffffffffffff916", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x22", + "0x4825800180007ff9", + "0x6ea", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48127ffe7fff8000", + "0x48297ffa80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xf", + "0x480280007ffa8000", + "0x400280007ffd7fff", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x482680017ffa8000", + "0x1", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe5", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x482480017ffd8000", + "0x816", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe74", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48297ffa80007ffb", + "0x484480017fff8000", + "0x1f", + "0xa0680017fff8000", + "0x7", + "0x4824800180007ffe", + "0x100000000", + "0x400280007ff47fff", + "0x10780017fff7fff", + "0xcf", + "0x482480017ffe8000", + "0xffffffffffffffffffffffff00000000", + "0x400280007ff47fff", + "0x480a7ff57fff8000", + "0xa0680017fff8000", + "0x8", + "0x48287ffd7ffb8000", + "0x4824800180007fff", + "0x100000000", + "0x400280017ff47fff", + "0x10780017fff7fff", + "0xb2", + "0x48287ffd7ffb8001", + "0x4824800180007fff", + "0xffffffffffffffffffffffff00000000", + "0x400280017ff47ffe", + "0x48127ffc7fff8000", + "0x482680017ff48000", + "0x2", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ff77fff", + "0x400280017ff77ffd", + "0x400380027ff77ff8", + "0x400380037ff77ff9", + "0x400280047ff77ffc", + "0x480280067ff78000", + "0x20680017fff7fff", + "0x8c", + "0x480280057ff78000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x427974654172726179", + "0x400380007ff67ff9", + "0x400280017ff67ffe", + "0x400280027ff67fff", + "0x480280037ff68000", + "0xa0680017fff8005", + "0xe", + "0x4824800180057ffe", + "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8003", + "0x480080007ff57ffc", + "0x480080017ff47ffc", + "0x482480017ffb7ffd", + "0xffffffffffffffeefffffffffffffeff", + "0x400080027ff27ffc", + "0x10780017fff7fff", + "0x11", + "0x48127ffe7fff8005", + "0x484480017ffe8000", + "0x8000000000000000000000000000000", + "0x48307ffe7fff8003", + "0x480080007ff57ffd", + "0x482480017ffc7ffe", + "0xf0000000000000000000000000000100", + "0x480080017ff37ffd", + "0x400080027ff27ff9", + "0x402480017ffd7ff9", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7ffd", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x482480017ff28000", + "0x3", + "0x48127ff47fff8000", + "0x482680017ff68000", + "0x6", + "0x482680017ff78000", + "0x7", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ff97fff8000", + "0x480a7ff87fff8000", + "0x48127ff77fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0x2c7", + "0x20680017fff7ff7", + "0x46", + "0x48127ff47fff8000", + "0x20680017fff7ffc", + "0x37", + "0x48127fff7fff8000", + "0x20780017fff7ffd", + "0x9", + "0x40780017fff7fff", + "0x5", + "0x482480017ffa8000", + "0x2a62", + "0x48127fee7fff8000", + "0x10780017fff7fff", + "0x12", + "0x48127fff7fff8000", + "0x48307ff97ff88000", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400080007ff17fff", + "0x400080017ff17ffd", + "0x400180027ff17ff8", + "0x400080037ff17ffe", + "0x400180047ff17ffc", + "0x480080067ff18000", + "0x20680017fff7fff", + "0x13", + "0x480080057ff08000", + "0x48127fff7fff8000", + "0x482480017fee8000", + "0x7", + "0x48127fea7fff8000", + "0x48127ffd7fff8000", + "0x48127fea7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480080057ff08000", + "0x48127fec7fff8000", + "0x482480017ffe8000", + "0xc8", + "0x48127fec7fff8000", + "0x482480017fec8000", + "0x9", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480080077fe98000", + "0x480080087fe88000", + "0x208b7fff7fff7ffe", + "0x48127ff27fff8000", + "0x482480017ffe8000", + "0x2cec", + "0x48127ff27fff8000", + "0x48127ff27fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff37fff8000", + "0x482480017ff38000", + "0x2db4", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x480280057ff78000", + "0x1104800180018000", + "0x373", + "0x482480017fff8000", + "0x372", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x4448", + "0x48127ff67fff8000", + "0x48307ffe7ff88000", + "0x480a7ff67fff8000", + "0x482680017ff78000", + "0x9", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480280077ff78000", + "0x480280087ff78000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x35f", + "0x482480017fff8000", + "0x35e", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x6a90", + "0x1104800180018000", + "0x33c", + "0x482680017ff48000", + "0x2", + "0x48307ff87fef8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x10780017fff7fff", + "0x11", + "0x1104800180018000", + "0x34e", + "0x482480017fff8000", + "0x34d", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x6d2e", + "0x1104800180018000", + "0x334", + "0x482680017ff48000", + "0x1", + "0x48327ff87ff58000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff88000", + "0xfffffffffffffffffffffffffffff13c", + "0x400280007ff77fff", + "0x10780017fff7fff", + "0x6a", + "0x4825800180007ff8", + "0xec4", + "0x400280007ff77fff", + "0x482680017ff78000", + "0x1", + "0x48127ffe7fff8000", + "0x20780017fff7ffd", + "0xe", + "0x48127ffe7fff8000", + "0x482480017ffe8000", + "0x10b8", + "0x480680017fff8000", + "0x0", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48297ff980007ffa", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ff97fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0x2e", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffd", + "0x100000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x7000000000000110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff17ffc", + "0x480080017ff07ffc", + "0x402480017ffb7ffd", + "0xf8ffffffffffffeeffffffffffffffff", + "0x400080027fef7ffd", + "0x10780017fff7fff", + "0x18", + "0x484480017fff8001", + "0x1000000000000000000000000000000", + "0x48307fff80007ffc", + "0x480080007ff27ffd", + "0x480080017ff17ffd", + "0x402480017ffc7ffe", + "0xff000000000000000000000000000000", + "0x400080027ff07ffe", + "0x400280007ffc7ff9", + "0x482480017ff08000", + "0x3", + "0x48127ff97fff8000", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x1", + "0x4825800180007ffd", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffab", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff88000", + "0x74e", + "0x10780017fff7fff", + "0x7", + "0x40780017fff7fff", + "0x8", + "0x48127fef7fff8000", + "0x482480017ff28000", + "0xc1c", + "0x480680017fff8000", + "0x0", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd0a", + "0x482680017ff78000", + "0x1", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff98000", + "0xfffffffffffffffffffffffffffff65a", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x35", + "0x4825800180007ff9", + "0x9a6", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48127ffe7fff8000", + "0x48297ffa80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffa8000", + "0x1", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffa7fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xe", + "0x480080007fff8000", + "0x400280007ffd7fff", + "0x48127ff77fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd4", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x87a", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffcc0", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0x480680017fff8000", + "0x2a2711309ebdd59f095728c61329dcb7541da014ea3361f767c489cc56d0d7c", + "0x400280007ffb7fff", + "0x400380007ffd7ff5", + "0x48297ff680007ff7", + "0x400280017ffd7fff", + "0x480a7ff27fff8000", + "0x480a7ff37fff8000", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x2", + "0x400b7ffa7fff8000", + "0x402780017ffb8001", + "0x1", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe06", + "0x20680017fff7ffd", + "0xe", + "0x400180007fff7ff8", + "0x400180017fff7ff9", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x48127ff97fff8000", + "0x482480017ff98000", + "0x2", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x482480017ffb8000", + "0xc8", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x23f", + "0x482480017fff8000", + "0x23e", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x49f2", + "0xa0680017fff8000", + "0x8", + "0x48317ffe80007ff3", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280007ff27fff", + "0x10780017fff7fff", + "0x116", + "0x48317ffe80007ff3", + "0x400280007ff27fff", + "0x482680017ff28000", + "0x1", + "0x48127ffe7fff8000", + "0x20780017fff7ffd", + "0x1d", + "0x1104800180018000", + "0x228", + "0x482480017fff8000", + "0x227", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x49f2", + "0x48127ff87fff8000", + "0x48307ffe7ff88000", + "0x480a7ff47fff8000", + "0x480a7ff57fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x482a7ff87ff78000", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ff57fff", + "0x400280017ff57ffd", + "0x400380027ff57ff6", + "0x400280037ff57ffe", + "0x480280057ff58000", + "0x20680017fff7fff", + "0xce", + "0x480280047ff58000", + "0x480280067ff58000", + "0x482680017ff58000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffc", + "0x100000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x7000000000000110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff27ffc", + "0x480080017ff17ffc", + "0x402480017ffb7ffd", + "0xf8ffffffffffffeeffffffffffffffff", + "0x400080027ff07ffd", + "0x10780017fff7fff", + "0x9b", + "0x484480017fff8001", + "0x1000000000000000000000000000000", + "0x48307fff80007ffb", + "0x480080007ff37ffd", + "0x480080017ff27ffd", + "0x402480017ffc7ffe", + "0xff000000000000000000000000000000", + "0x400080027ff17ffe", + "0x400280007ffc7ff8", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x1", + "0x48317ffc80017ffd", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080037fea7fff", + "0x10780017fff7fff", + "0x62", + "0x400080037feb7fff", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x8", + "0x48327ffd7ff88000", + "0x4824800180007fff", + "0x100", + "0x400080047fe67fff", + "0x10780017fff7fff", + "0x19", + "0x48327ffd7ff88001", + "0x4824800180007fff", + "0xffffffffffffffffffffffffffffff00", + "0x400080047fe67ffe", + "0x40780017fff7fff", + "0x4", + "0x1104800180018000", + "0x1c6", + "0x482480017fff8000", + "0x1c5", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x42e", + "0x482480017fdc8000", + "0x5", + "0x48307ffe7ff18000", + "0x480a7ff47fff8000", + "0x480a7ffa7fff8000", + "0x480a7ff77fff8000", + "0x48127ff07fff8000", + "0x10780017fff7fff", + "0x30", + "0x482680017ffa8000", + "0x1", + "0x480680017fff8000", + "0x427974654172726179", + "0x400380007ff47ff9", + "0x400280017ff47ffe", + "0x400280027ff47fff", + "0x480280037ff48000", + "0xa0680017fff8005", + "0xe", + "0x4824800180057ffe", + "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8003", + "0x480080057fdf7ffc", + "0x480080067fde7ffc", + "0x482480017ffb7ffd", + "0xffffffffffffffeefffffffffffffeff", + "0x400080077fdc7ffc", + "0x10780017fff7fff", + "0x11", + "0x48127ffe7fff8005", + "0x484480017ffe8000", + "0x8000000000000000000000000000000", + "0x48307ffe7fff8003", + "0x480080057fdf7ffd", + "0x482480017ffc7ffe", + "0xf0000000000000000000000000000100", + "0x480080067fdd7ffd", + "0x400080077fdc7ff9", + "0x402480017ffd7ff9", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7ffd", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x482480017fdc8000", + "0x8", + "0x48127ff17fff8000", + "0x482680017ff48000", + "0x6", + "0x48127ff37fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127fdb7fff8000", + "0x480a7ff67fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480a7ff97fff8000", + "0x48127ff57fff8000", + "0x48127fde7fff8000", + "0x48127fde7fff8000", + "0x48127fdf7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff3d", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x178", + "0x482480017fff8000", + "0x177", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x1356", + "0x1104800180018000", + "0x167", + "0x482480017fde8000", + "0x4", + "0x48307ff87fed8000", + "0x480a7ff47fff8000", + "0x48127fe37fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff27fff8000", + "0x48127ff27fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x156", + "0x482480017fff8000", + "0x155", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x184c", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e76616c69642076616c7565", + "0x400080007ffe7fff", + "0x482480017fe88000", + "0x3", + "0x48307ffc7ff08000", + "0x480a7ff47fff8000", + "0x48127fed7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff27fff8000", + "0x482480017ff18000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480280047ff58000", + "0x1104800180018000", + "0x135", + "0x482480017fff8000", + "0x134", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x1efa", + "0x48127ff37fff8000", + "0x48307ffe7ff88000", + "0x480a7ff47fff8000", + "0x482680017ff58000", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480a7ffa7fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480280067ff58000", + "0x480280077ff58000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffb60", + "0x482680017ff28000", + "0x1", + "0x480a7ff37fff8000", + "0x480a7ff47fff8000", + "0x480a7ff57fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff27fff8000", + "0x48127ff27fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x101", + "0x482480017fff8000", + "0x100", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x45ba", + "0xa0680017fff8000", + "0x8", + "0x48317ffe80007ff4", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280007ff37fff", + "0x10780017fff7fff", + "0xc0", + "0x48317ffe80007ff4", + "0x400280007ff37fff", + "0x482680017ff38000", + "0x1", + "0x48127ffe7fff8000", + "0x48297ff780007ff8", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ff78000", + "0x1", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ff77fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0x8a", + "0x48127ffb7fff8000", + "0x482a7ffc7ffb8000", + "0x480080007ffd8000", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ff67fff", + "0x400280017ff67ffc", + "0x400380027ff67ffa", + "0x400280037ff67ffd", + "0x400280047ff67ffe", + "0x480280067ff68000", + "0x20680017fff7fff", + "0x63", + "0x480280057ff68000", + "0x480680017fff8000", + "0x1", + "0x482680017ff68000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x8", + "0x48327ffc7ffc8000", + "0x4824800180007fff", + "0x100", + "0x400080007fec7fff", + "0x10780017fff7fff", + "0x19", + "0x48327ffc7ffc8001", + "0x4824800180007fff", + "0xffffffffffffffffffffffffffffff00", + "0x400080007fec7ffe", + "0x40780017fff7fff", + "0x4", + "0x1104800180018000", + "0xb4", + "0x482480017fff8000", + "0xb3", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x42e", + "0x482480017fe28000", + "0x1", + "0x48307ffe7ff18000", + "0x480a7ff57fff8000", + "0x480a7ffd7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff07fff8000", + "0x10780017fff7fff", + "0x30", + "0x482680017ffd8000", + "0x1", + "0x480680017fff8000", + "0x427974654172726179", + "0x400380007ff57ff9", + "0x400280017ff57ffe", + "0x400280027ff57fff", + "0x480280037ff58000", + "0xa0680017fff8005", + "0xe", + "0x4824800180057ffe", + "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8003", + "0x480080017fe57ffc", + "0x480080027fe47ffc", + "0x482480017ffb7ffd", + "0xffffffffffffffeefffffffffffffeff", + "0x400080037fe27ffc", + "0x10780017fff7fff", + "0x11", + "0x48127ffe7fff8005", + "0x484480017ffe8000", + "0x8000000000000000000000000000000", + "0x48307ffe7fff8003", + "0x480080017fe57ffd", + "0x482480017ffc7ffe", + "0xf0000000000000000000000000000100", + "0x480080027fe37ffd", + "0x400080037fe27ff9", + "0x402480017ffd7ff9", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7ffd", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x482480017fe28000", + "0x4", + "0x48127ff17fff8000", + "0x482680017ff58000", + "0x6", + "0x48127ff37fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127fe87fff8000", + "0x48127fdc7fff8000", + "0x48127fdc7fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x48127ff37fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff6a", + "0x208b7fff7fff7ffe", + "0x480280057ff68000", + "0x1104800180018000", + "0x66", + "0x482480017fff8000", + "0x65", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x16da", + "0x48127fec7fff8000", + "0x48307ffe7ff88000", + "0x480a7ff57fff8000", + "0x482680017ff68000", + "0x9", + "0x480680017fff8000", + "0x0", + "0x48127feb7fff8000", + "0x48127feb7fff8000", + "0x480a7ffd7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480680017fff8000", + "0x1", + "0x480280077ff68000", + "0x480280087ff68000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x4d", + "0x482480017fff8000", + "0x4c", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x429a", + "0x48127ff27fff8000", + "0x48307ffe7ff48000", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x480a7ffd7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffa78", + "0x482680017ff38000", + "0x1", + "0x480a7ff47fff8000", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f616464204f766572666c6f77", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f6d756c204f766572666c6f77", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe" + ], + "bytecode_segment_lengths": [ + 140, 140, 157, 131, 202, 9, 175, 9, 9, 80, 260, 49, 241, 127, 72, 46, 318, 230, 9, 9, 9 + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0xa3c" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 49, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { "Deref": { "register": "AP", "offset": -4 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [72, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 140, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0xa3c" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 189, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { "Deref": { "register": "AP", "offset": -4 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [212, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 282, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 322, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { "Deref": { "register": "AP", "offset": -4 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [350, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 437, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 477, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { "Deref": { "register": "AP", "offset": -4 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [487, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [511, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [591, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 643, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x100000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 647, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [770, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [785, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -7 } } } }]], + [790, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [830, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [832, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [860, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": 0 } } } }]], + [954, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [963, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [972, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [1060, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [ + 1068, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x100000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1072, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 1092, + [ + { + "DivMod": { + "lhs": { "Deref": { "register": "AP", "offset": -6 } }, + "rhs": { "Deref": { "register": "AP", "offset": -1 } }, + "quotient": { "register": "AP", "offset": 3 }, + "remainder": { "register": "AP", "offset": 4 } + } + } + ] + ], + [ + 1108, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, + "dst": { "register": "AP", "offset": 5 } + } + } + ] + ], + [ + 1112, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": 4 } }, + "scalar": { "Immediate": "0x110000000000000000" }, + "max_x": { "Immediate": "0xffffffffffffffffffffffffffffffff" }, + "x": { "register": "AP", "offset": -2 }, + "y": { "register": "AP", "offset": -1 } + } + } + ] + ], + [ + 1123, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": 4 } }, + "scalar": { "Immediate": "0x8000000000000000000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": -2 }, + "y": { "register": "AP", "offset": -1 } + } + } + ] + ], + [1137, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [1185, [{ "SystemCall": { "system": { "Deref": { "register": "AP", "offset": -16 } } } }]], + [1265, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 1312, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x6ea" }, + "rhs": { "Deref": { "register": "FP", "offset": -7 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1364, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { "Immediate": "0x100000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1375, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -4 }, + "b": { "Deref": { "register": "FP", "offset": -3 } } + } + }, + "rhs": { "Immediate": "0x100000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [1397, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -9 } } } }]], + [ + 1409, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, + "dst": { "register": "AP", "offset": 5 } + } + } + ] + ], + [ + 1413, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": 4 } }, + "scalar": { "Immediate": "0x110000000000000000" }, + "max_x": { "Immediate": "0xffffffffffffffffffffffffffffffff" }, + "x": { "register": "AP", "offset": -2 }, + "y": { "register": "AP", "offset": -1 } + } + } + ] + ], + [ + 1424, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": 4 } }, + "scalar": { "Immediate": "0x8000000000000000000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": -2 }, + "y": { "register": "AP", "offset": -1 } + } + } + ] + ], + [1480, [{ "SystemCall": { "system": { "Deref": { "register": "AP", "offset": -15 } } } }]], + [ + 1602, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0xec4" }, + "rhs": { "Deref": { "register": "FP", "offset": -8 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1655, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": -2 } }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { "register": "AP", "offset": 4 } + } + } + ] + ], + [ + 1659, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": 3 } }, + "scalar": { "Immediate": "0x7000000000000110000000000000000" }, + "max_x": { "Immediate": "0xffffffffffffffffffffffffffffffff" }, + "x": { "register": "AP", "offset": -2 }, + "y": { "register": "AP", "offset": -1 } + } + } + ] + ], + [ + 1669, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -3 } }, + "scalar": { "Immediate": "0x1000000000000000000000000000000" }, + "max_x": { "Immediate": "0xffffffffffffffffffffffffffffffff" }, + "x": { "register": "AP", "offset": -1 }, + "y": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1729, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x9a6" }, + "rhs": { "Deref": { "register": "FP", "offset": -7 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1855, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { "Deref": { "register": "FP", "offset": -13 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [1905, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -11 } } } }]], + [ + 1913, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": -3 } }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { "register": "AP", "offset": 4 } + } + } + ] + ], + [ + 1917, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": 3 } }, + "scalar": { "Immediate": "0x7000000000000110000000000000000" }, + "max_x": { "Immediate": "0xffffffffffffffffffffffffffffffff" }, + "x": { "register": "AP", "offset": -2 }, + "y": { "register": "AP", "offset": -1 } + } + } + ] + ], + [ + 1927, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -4 } }, + "scalar": { "Immediate": "0x1000000000000000000000000000000" }, + "max_x": { "Immediate": "0xffffffffffffffffffffffffffffffff" }, + "x": { "register": "AP", "offset": -1 }, + "y": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1943, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": 0 } }, + "rhs": { "Immediate": "0x100000000" }, + "dst": { "register": "AP", "offset": -1 } + } + } + ] + ], + [ + 1954, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -8 }, + "b": { "Deref": { "register": "AP", "offset": -2 } } + } + }, + "rhs": { "Immediate": "0x100" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1993, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, + "dst": { "register": "AP", "offset": 5 } + } + } + ] + ], + [ + 1997, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": 4 } }, + "scalar": { "Immediate": "0x110000000000000000" }, + "max_x": { "Immediate": "0xffffffffffffffffffffffffffffffff" }, + "x": { "register": "AP", "offset": -2 }, + "y": { "register": "AP", "offset": -1 } + } + } + ] + ], + [ + 2008, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": 4 } }, + "scalar": { "Immediate": "0x8000000000000000000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": -2 }, + "y": { "register": "AP", "offset": -1 } + } + } + ] + ], + [2088, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 2173, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { "Deref": { "register": "FP", "offset": -12 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [2219, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -10 } } } }]], + [ + 2228, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -4 }, + "b": { "Deref": { "register": "AP", "offset": -3 } } + } + }, + "rhs": { "Immediate": "0x100" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 2267, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, + "dst": { "register": "AP", "offset": 5 } + } + } + ] + ], + [ + 2271, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": 4 } }, + "scalar": { "Immediate": "0x110000000000000000" }, + "max_x": { "Immediate": "0xffffffffffffffffffffffffffffffff" }, + "x": { "register": "AP", "offset": -2 }, + "y": { "register": "AP", "offset": -1 } + } + } + ] + ], + [ + 2282, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": 4 } }, + "scalar": { "Immediate": "0x8000000000000000000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": -2 }, + "y": { "register": "AP", "offset": -1 } + } + } + ] + ], + [2395, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [2404, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [2413, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]] + ], + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x1da63b59301ee5ecc21ae66283214635ef5b8812c334e39b8d64222bfc93ac9", + "offset": 280, + "builtins": ["range_check", "poseidon"] + }, + { + "selector": "0x3c55b80f2216c33a42e9864f4cc60be0e2d0f73a0067b7af50aaa02580ae5fd", + "offset": 140, + "builtins": ["range_check", "poseidon"] + }, + { + "selector": "0x3d0f6d51c6c5ddfb0a1488ae35943ccb6257d82b19fa55ee953045b23dc4360", + "offset": 0, + "builtins": ["range_check", "poseidon"] + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [ + { + "selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194", + "offset": 437, + "builtins": ["range_check", "poseidon"] + } + ] + } +} diff --git a/__mocks__/cairo/byteArray/target/dev/test_ByteArrayStorage.sierra.json b/__mocks__/cairo/byteArray/target/dev/test_ByteArrayStorage.sierra.json new file mode 100644 index 000000000..e25e9e3ed --- /dev/null +++ b/__mocks__/cairo/byteArray/target/dev/test_ByteArrayStorage.sierra.json @@ -0,0 +1,1898 @@ +{ + "sierra_program": [ + "0x1", + "0x7", + "0x0", + "0x2", + "0xb", + "0x4", + "0x1f9", + "0x7", + "0x62", + "0x52616e6765436865636b", + "0x800000000000000100000000000000000000000000000000", + "0x456e756d", + "0x800000000000000700000000000000000000000000000001", + "0x0", + "0x1e7cc030b6a62e51219c7055ff773a8dff8fb71637d893064207dc67ba74304", + "0x436f6e7374", + "0x800000000000000000000000000000000000000000000002", + "0x1", + "0xb", + "0x2", + "0x7533325f737562204f766572666c6f77", + "0x7533325f6d756c204f766572666c6f77", + "0x7533325f616464204f766572666c6f77", + "0x496e76616c69642076616c7565", + "0x1a", + "0xc", + "0x2a2711309ebdd59f095728c61329dcb7541da014ea3361f767c489cc56d0d7c", + "0x436f6e747261637441646472657373", + "0x800000000000000700000000000000000000000000000000", + "0x4172726179", + "0x800000000000000300000000000000000000000000000001", + "0x4b", + "0x66656c74323532", + "0x753332", + "0x537472756374", + "0x800000000000000300000000000000000000000000000004", + "0x36775737a2dc48f3b19f9a1f4bc3ab9cb367d1e2e827cef96323826fd39f53f", + "0xa", + "0x800000000000000300000000000000000000000000000003", + "0xbeab234a8a6f14308b837d020c8f10ac00687bbd59dd25743dd1971abafb0a", + "0x9", + "0xd", + "0x536e617073686f74", + "0xe", + "0x556e696e697469616c697a6564", + "0x800000000000000200000000000000000000000000000001", + "0x10", + "0x426f78", + "0x800000000000000f00000000000000000000000000000001", + "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", + "0x800000000000000700000000000000000000000000000003", + "0x18ef5e2178ac6be59ceafd15e6995810f636807e02c51d309c3f65e37000fc5", + "0x12", + "0x13", + "0x4e6f6e5a65726f", + "0x800000000000000700000000000000000000000000000002", + "0x149ee8c97f9cdd259b09b6ca382e10945af23ee896a644de8c7b57da1779da7", + "0x17", + "0x53746f726167654261736541646472657373", + "0x7538", + "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", + "0x800000000000000300000000000000000000000000000006", + "0x18", + "0x19", + "0x1b", + "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", + "0x1d", + "0x1da860b08c8c086977f4d7b1cde9e72ae6fd06254c518bdbf96a0bcaf812e2", + "0x1c", + "0x1e", + "0x753634", + "0x1f", + "0x496e76616c696420427974654172726179206c656e677468", + "0x800000000000000300000000000000000000000000000007", + "0x24a2e6c198919387cc3601a2c9b7453f44da145a5a388719853301f9307a9c2", + "0x23", + "0x427974654172726179", + "0x28", + "0x21", + "0x4661696c656420746f20646573657269616c697a6520706172616d202331", + "0x4f7574206f6620676173", + "0x104eb68e98232f2362ae8fd62c9465a5910d805fa88b305d1f7721b8727f04", + "0x2c", + "0x800000000000000300000000000000000000000000000002", + "0x5a7b82b53170991f06e92cbd255a52f2a68c9d19a6decd6980e4df26948aa", + "0x2e", + "0x38", + "0x39", + "0x75313238", + "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", + "0x33", + "0x3a", + "0x35", + "0x1597b831feeb60c71f259624b79cf66995ea4f7e383403583674ab9c33b9cec", + "0x36", + "0x80000000000000070000000000000000000000000000000e", + "0x348a62b7a38c0673e61e888d83a3ac1bf334ee7361a8514593d3d9532ed8b39", + "0x32", + "0x34", + "0x37", + "0x800000000000000700000000000000000000000000000004", + "0x3808c701a5d13e100ab11b6c02f91f752ecae7e420d21b56c90ec0a475cc7e5", + "0x20", + "0x3342418ef16b3e2799b906b1e4e89dbb9b111332dd44f72458ce44f9895b508", + "0x21d3d4e62c07dbb11a97efff19f9f21e22a4b8b0aa06934c057812a5769b38a", + "0x3b", + "0x3e", + "0x800000000000000700000000000000000000000000000006", + "0x7d4d99e9ed8d285b5c61b493cedb63976bc3d9da867933d829f49ce838b5e7", + "0x31", + "0x30", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x268c07a9e3c71581176f9fcc83f680e8fabbdb72e680dff1b97f0002a42923", + "0x41", + "0x177df56e1be57504091f9fb90f158df540a90c0844dca0f662db2b638016929", + "0x42", + "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", + "0x44", + "0x5b9304f5e1c8e3109707ef96fc2ba4cf5360d21752ceb905d488f0aef67c7", + "0x46", + "0x74584e9f10ffb1a40aa5a3582e203f6758defc4a497d1a2d5a89f274a320e9", + "0x49", + "0x62797465733331", + "0x2cbbb45dca0699384ab13c353365d8adcdb90cc4205f689fc51d138a420afb7", + "0x4d", + "0x276d9c79d6203e68b2f838afaa450f221ee214cd6b6b8cff7f9ebdb09888b70", + "0x4e", + "0x53746f7261676541646472657373", + "0x215b9084795980f341464d98262c636d1534e0fa512db8a5247ef60240b829a", + "0x53797374656d", + "0x54", + "0x506f736569646f6e", + "0x56", + "0x6aa7ada8aef5bc7d86d07e50019bbdd41bea04a0e69f2b357364c9ecde07a1", + "0x800000000000000f00000000000000000000000000000003", + "0x59", + "0x28abb2b3e1150ac423bb211ae09a6c86f81651e8fd2987e57a8f9cb4bf79471", + "0x5a", + "0x4275696c74696e436f737473", + "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", + "0x58", + "0x1202a7fa2fddcf8a3022c40822f1c5916c5ca2aa21b537f816965f87593a1f9", + "0x5e", + "0x5cddec645db2dabee4263ab528bcd4b2cfb408d05fb3604e4e0fcb33b07d36", + "0x5f", + "0x4761734275696c74696e", + "0x10b", + "0x7265766f6b655f61705f747261636b696e67", + "0x77697468647261775f676173", + "0x6272616e63685f616c69676e", + "0x72656465706f7369745f676173", + "0x73746f72655f74656d70", + "0x61", + "0x66756e6374696f6e5f63616c6c", + "0x3", + "0x4", + "0x656e756d5f6d61746368", + "0x60", + "0x7374727563745f6465636f6e737472756374", + "0x61727261795f736e617073686f745f706f705f66726f6e74", + "0x64726f70", + "0x5", + "0x656e756d5f696e6974", + "0x5d", + "0x6765745f6275696c74696e5f636f737473", + "0x5c", + "0x77697468647261775f6761735f616c6c", + "0x7374727563745f636f6e737472756374", + "0x6", + "0x5b", + "0x61727261795f6e6577", + "0x736e617073686f745f74616b65", + "0x7", + "0x8", + "0x616c6c6f635f6c6f63616c", + "0x66696e616c697a655f6c6f63616c73", + "0x53", + "0x57", + "0x55", + "0x73746f726167655f626173655f616464726573735f636f6e7374", + "0x3fd9821fe2e34dec6abc18fb7750dcb4e5cff2ebca70d2b1659b0ed803b1b5d", + "0x52", + "0x72656e616d65", + "0x73746f726167655f616464726573735f66726f6d5f62617365", + "0x636f6e73745f61735f696d6d656469617465", + "0x50", + "0x51", + "0x656e61626c655f61705f747261636b696e67", + "0x73746f72655f6c6f63616c", + "0x4f", + "0x64697361626c655f61705f747261636b696e67", + "0x647570", + "0x4c", + "0x7374727563745f736e617073686f745f6465636f6e737472756374", + "0x61727261795f6c656e", + "0x7533325f746f5f66656c74323532", + "0x61727261795f617070656e64", + "0x4a", + "0x6a756d70", + "0x48", + "0x47", + "0x45", + "0x756e626f78", + "0x43", + "0x7533325f7472795f66726f6d5f66656c74323532", + "0x40", + "0x6765745f657865637574696f6e5f696e666f5f76325f73797363616c6c", + "0x3d", + "0x3c", + "0x2f", + "0xf", + "0x2d", + "0x656d69745f6576656e745f73797363616c6c", + "0x3f", + "0x2b", + "0x2a", + "0x73746f726167655f726561645f73797363616c6c", + "0x27", + "0x7533325f736166655f6469766d6f64", + "0x73746f726167655f616464726573735f746f5f66656c74323532", + "0x26", + "0x68616465735f7065726d75746174696f6e", + "0xad292db4ff05a993c318438c1b6c8a8303266af2da151aa28ccece6726f1f1", + "0x25", + "0x24", + "0x7533325f69735f7a65726f", + "0x2679d68052ccd03a53755ca9169677965fbd93e489df62f5f40d4f03c24f7a4", + "0x29", + "0x22", + "0x627974657333315f746f5f66656c74323532", + "0x7533325f776964655f6d756c", + "0x646f776e63617374", + "0x7533325f6f766572666c6f77696e675f616464", + "0x73746f726167655f77726974655f73797363616c6c", + "0x11", + "0x66656c743235325f69735f7a65726f", + "0x16", + "0x627974657333315f7472795f66726f6d5f66656c74323532", + "0x15", + "0x66656c743235325f737562", + "0x14", + "0x656e756d5f736e617073686f745f6d61746368", + "0x636f6e74726163745f616464726573735f746f5f66656c74323532", + "0x7533325f6f766572666c6f77696e675f737562", + "0x75385f6f766572666c6f77696e675f616464", + "0x66656c743235325f616464", + "0x781", + "0xffffffffffffffff", + "0x69", + "0xdd", + "0xd4", + "0xc8", + "0x94", + "0xbd", + "0xb4", + "0x184", + "0x103", + "0x177", + "0x166", + "0x160", + "0x156", + "0x16d", + "0x63", + "0x64", + "0x1f4", + "0x1a6", + "0x1ea", + "0x1da", + "0x1d5", + "0x1e0", + "0x209", + "0x210", + "0x65", + "0x66", + "0x67", + "0x282", + "0x68", + "0x6a", + "0x6b", + "0x27b", + "0x6c", + "0x6d", + "0x274", + "0x268", + "0x238", + "0x23f", + "0x25a", + "0x6e", + "0x253", + "0x6f", + "0x70", + "0x71", + "0x72", + "0x73", + "0x261", + "0x74", + "0x75", + "0x28a", + "0x76", + "0x77", + "0x78", + "0x79", + "0x7a", + "0x347", + "0x7b", + "0x7c", + "0x7d", + "0x7e", + "0x7f", + "0x338", + "0x80", + "0x81", + "0x325", + "0x31d", + "0x82", + "0x83", + "0x84", + "0x85", + "0x86", + "0x87", + "0x88", + "0x89", + "0x8a", + "0x8b", + "0x8c", + "0x313", + "0x8d", + "0x8e", + "0x306", + "0x8f", + "0x90", + "0x91", + "0x92", + "0x93", + "0x32e", + "0x95", + "0x96", + "0x97", + "0x3bd", + "0x3ac", + "0x3a6", + "0x3b3", + "0x98", + "0x99", + "0x9a", + "0x9b", + "0x467", + "0x455", + "0x9c", + "0x9d", + "0x9e", + "0x9f", + "0xa0", + "0xa1", + "0xa2", + "0xa3", + "0xa4", + "0xa5", + "0xa6", + "0xa7", + "0xa8", + "0xa9", + "0x44a", + "0xaa", + "0x43a", + "0xab", + "0x412", + "0xac", + "0xad", + "0x420", + "0xae", + "0xaf", + "0x42b", + "0xb0", + "0xb1", + "0xb2", + "0xb3", + "0xb5", + "0xb6", + "0xb7", + "0xb8", + "0x496", + "0xb9", + "0xba", + "0x48c", + "0xbb", + "0xbc", + "0xbe", + "0xbf", + "0xc0", + "0xc1", + "0xc2", + "0xc3", + "0xc4", + "0xc5", + "0x54d", + "0xc6", + "0x542", + "0xc7", + "0x533", + "0xc9", + "0xca", + "0xcb", + "0x527", + "0xcc", + "0x517", + "0x4f3", + "0x4ff", + "0x50a", + "0xcd", + "0xce", + "0xcf", + "0xd0", + "0xd1", + "0xd2", + "0xd3", + "0x557", + "0x5b0", + "0xd5", + "0x570", + "0xd6", + "0xd7", + "0xd8", + "0xd9", + "0xda", + "0x57e", + "0x585", + "0x5a2", + "0xdb", + "0x59b", + "0xdc", + "0xde", + "0x5a9", + "0xdf", + "0xe0", + "0x5ec", + "0x5cb", + "0xe1", + "0xe2", + "0xe3", + "0x5d2", + "0xe4", + "0xe5", + "0x5e1", + "0xe6", + "0xe7", + "0xe8", + "0xe9", + "0xea", + "0xeb", + "0xec", + "0xed", + "0xee", + "0xef", + "0xf0", + "0xf1", + "0xf2", + "0x62f", + "0xf3", + "0xf4", + "0xf5", + "0xf6", + "0x6cd", + "0x64e", + "0xf7", + "0xf8", + "0xf9", + "0xfa", + "0xfb", + "0x6bf", + "0x6ae", + "0xfc", + "0xfd", + "0x69d", + "0xfe", + "0xff", + "0x677", + "0x68f", + "0x100", + "0x101", + "0x102", + "0x759", + "0x6ee", + "0x6f5", + "0x749", + "0x73a", + "0x715", + "0x72d", + "0x104", + "0x105", + "0x106", + "0x107", + "0x108", + "0x109", + "0x10a", + "0x192", + "0x1ff", + "0x292", + "0x29a", + "0x359", + "0x361", + "0x369", + "0x3c8", + "0x476", + "0x4a0", + "0x55e", + "0x5bb", + "0x5f6", + "0x638", + "0x6de", + "0x769", + "0x771", + "0x779", + "0x4312", + "0x200e0e05828120803834160a048200e0c058281208038180a04018080200", + "0x242c150a04c240b0502410070482c22090401c120b0802410070782c1409", + "0x8c12041108412200487c0a1e0d044120a04874121c0286c34140c8503017", + "0x24100716824580915814540314814501a0b8240827130244a24050242c15", + "0xb41234028780614198506431048c00a2f0d074120411028120417024160a", + "0x247409148143c1a1c814501a1c02420091b82414091b02452051a8684c09", + "0xa40a410d100160a048200e3f058441208038507c3d048f0123b028780626", + "0x1c0a0b0802410071e8248609210143c031c02420091b8241409088243a09", + "0x200e47058281208038441225120441204171181245048200e44058281208", + "0x2498052580c7a092502492050f00c5a09130244c0914814361a2402c1409", + "0x582a52049440a2f0d098120411050a04f048104e4e048104e4d048104423", + "0x2414092d024b2091002414092c014ae1a2b024aa0517868a80902088a609", + "0x170342004978125e049740a5c0d168121104844125a04964125b04828120a", + "0x9c7a0930824c0050f00c5a090e8246c0914814361a2c824bc0905024be05", + "0x19c160a048200e6204894480a048801220049981265049900a630d1881204", + "0x2408271e824d609350143c0334824b409148143c1a168243a09340143c03", + "0x281208038f4126f049b80a1e018e012290292c342d049b4126c028a8060a", + "0x143c031082408220a1c87a0938824e0050f00c5a091302452050f0680a0b", + "0x50ee05058441208038f41276049d40a1e019d012290292c3426048841273", + "0x24520517868f80912890047b3d0244a24011e44209128906e093c0145e1a", + "0x20c0a1e01851043d04a04128002878062d049fc1229029f8347d028a0345a", + "0x251009438143c0343024b409148143c1a168244209428143c031e8250809", + "0x24812912d024128f48024128f02824128f02a380a8d02a300a8b45009123d", + "0x25305204825300a048252e5a048252c86048252888048252c95048252893", + "0x24128f3d024128f3e024128f0482d360905a69329204a44420904a60da09", + "0x2530a10482528a0490252221048251e7f048253e054f274120947815389b", + "0x2d360905a69080904a7cb40904a7c4c0904a604c0904a8c140904a890209", + "0x254c7c048254c204902522a549025225a04825302d0482530a4490252205", + "0x24129f5602c12ab55024129854824129854024129802a9c420904a98f409", + "0x44120947ac41209580155e37048255cad048252cad0482530ad0482546ad", + "0x250ec0904a596a0904a50f40904ad0f80904ad00ab30ea48129159024128f", + "0x25300a0482530210482572b8048256e210482546210482568055b1d01209", + "0x24128f1b024129f0502412bc05024128f02aec2e0904ae8620904adc2209", + "0x255c0a048255c31048253071048252cbd04825280a490252226048251e36", + "0x2412a21e824129f1d024129f1d02412981e824129602af9700904a602209", + "0x2d343804825286f048252cc0048252811490252221048253ebf048256017", + "0x309820904a50120b60824169a16824129f60824128f29024128f0282d8209", + "0x2d3405621a412094a1ac12094b30c12094a0852409488741209478281209", + "0x2d0c0905a683a0904a612a0904a3c0a0b4a824169a44024129f0282d0c09", + "0x251e05631881209530f4120947b1412095802416950482d342d048255c09", + "0x2586c0904a60c20904a59900904a50469204a44c40904ad0c40904b098e09", + "0x25460505934120b4d08c12094f88012094c19812094c19412094c1881209", + "0x24129f02b30940904a59960904a51949204a45920904a3c9a0904a609a09", + "0x25306204825300905a84120b4d1fc12094c28412094781416a10482d3481", + "0x2412b002b41640904adc220904adc220904a999e0904ac19c0904ac19a09", + "0x251ed70482560056b015aa0a048256ed404825600569815a445048251ed1", + "0x24129802b64860904a59b00904a504c9204a44220904ad0200904a3c6e09", + "0x1416b50482d3476048253e05059d0120b4d015b445048253010048253037", + "0x2412b06d82412985902412980482d6a0905a68120b3a024169a5a824128f", + "0x2f4120b4d1c412094f815ba17048255c17048258417048252e36048252cdc", + "0x24bc0905b7cbc0904a3c0ade2302412b00482d7a0905a697a0904a3c0a0b", + "0x2d343c048252c3f0482528e249025221d048254621048252c0570815c011", + "0x24169a0482c700905a69800904a3c0a0b60024169a37824129f0282c7009", + "0x30c120b4d1ac12094f81416690482d3405718b52409488b124094882416c0", + "0x2cd20905a680ae77302412b00b82412bc02b95c80904a61860904a3c0a0b", + "0x2416e80482d34e8048251e31048251e0505ba0120b4d02416c30482d3409", + "0x2d900905a69900904a3c0a0b64024169a30824129f0b824128f740241294", + "0x15d420048255c230482572ca048256ea504825604d04825d226048254c09", + "0x24129f0482d960905a69960904a3c0a0b65824169a25024129f1302412b4", + "0x25600575a9012095804012095b8dc12095bb6012094781416d80482d3443", + "0x24169a1e024129f4c82412b00482db00905a69d09204a440aed02bb14009", + "0x15dc0b048256092048256093048256009058fc120b4d0fc120947814163f", + "0x2480a05778240a0b02a95480b78281320b7782c1605058240a05778240a05", + "0x2526095001440097782440094c8153209778253209498144009778254009", + "0x1446094a88412ef0584412a502844141d493bc12931026524a402a4c12ef", + "0x2594094c815c42605bbc1221048800aca04bbc120a04a480a05778240a0b", + "0x25de0965025240502bbc1205058145a093d0b012ef05b88121d02b2812ef", + "0x17862e405bbc16e6048440ae804bbc12e804a640ae604bbc1226048280ae8", + "0x245809650140aef048c4122302815de0972024420502bbc1205058146c09", + "0x24c0a3804bbc121004b880a1004bbc1205130146e0977825d009490140aef", + "0x252409168146e09778246e094c8141209778241209160143a09778243a09", + "0x24420502bbc12050581470921b8243a99048e012ef048e012e802a4812ef", + "0xf012ef048f01299028e812ef04815cc051e025de0974025240502bbc1236", + "0x240a0b02918bc0b388fc7a0b7782c743c0ea4862051d025de091d025c805", + "0x2640a3d04bbc123d04a4c0a4304bbc12051b015b809778247e09490140aef", + "0x2458091b815240977825240916814120977824120916015b80977825b809", + "0x25de0b22824700522b45a8d76c265de091610d24096e0f54010028b012ef", + "0xe80ace04bbc12d704a480a0577825b6091e0140aef048141605678258adb", + "0x3bc124d049780a057782596091f8149acb05bbc124a048f40a4a04bbc1205", + "0x15b00977825b00949814ca0977824cc096e014cc09778259209230159209", + "0x19412e802b4412ef04b44122d02b3812ef04b38129902b5012ef04b50122c", + "0x3880a5904bbc12d704a480a05778240a0b02995a2ce6a361320932825de09", + "0x24b2094c815a80977825a80916015b00977825b00949814a409778259e09", + "0x14a4d12cb51b0990494812ef0494812e802b4412ef04b44122d0296412ef", + "0x15012ef0481486052d025de0923025240502bbc122c04b280a05778240a0b", + "0x25320504825de090482458052f025de092f02526052b025de092a025c405", + "0x248b4092f264125604bbc125604ba00a9204bbc1292048b40a5a04bbc125a", + "0x3bc12ca04a480a05778244c096b8140aef048b412d802815de090282c0a56", + "0xb00a1d04bbc121d04a4c0a4f04bbc124e04b880a4e04bbc12056a014b609", + "0x249e0974015240977825240916814b60977824b6094c8141209778241209", + "0x25c40529825de0905025240502bbc1205058149e922d8243a990493c12ef", + "0x3bc125304a640a0904bbc1209048b00a1d04bbc121d04a4c0a6104bbc1223", + "0x2c0a614914c121d4c824c20977824c20974015240977825240916814a609", + "0x158e09778240a4302b2012ef04a94129202815de0949825ae0502bbc1205", + "0x32012990282412ef04824122c02a9012ef04a9012930298812ef04b1c12e2", + "0x18924c804a91320931025de0931025d00549025de09490245a0564025de09", + "0x140aef04814160552a9016f15026416ef0582c0a0b048140aef048140a05", + "0x24c12a00288012ef04880129902a6412ef04a6412930288012ef04a801292", + "0x8c12f210825de0b088254a05088283a927782526204ca49480549825de09", + "0x328129902b884c0b778244209100159409778241409490140aef048141605", + "0x3bc12ca04a480a05778240a0b028b412f316025de0b710243a0565025de09", + "0xc5c80b7782dcc0908815d00977825d0094c815cc09778244c0905015d009", + "0xb012ca02815de0918824460502bbc12e4048840a05778240a0b028d812f4", + "0x147009778242009710142009778240a26028dc12ef04ba0129202815de09", + "0x248122d028dc12ef048dc12990282412ef04824122c0287412ef048741293", + "0x840a05778240a0b028e124370487532091c025de091c025d00549025de09", + "0x25de091e02532051d025de0902b980a3c04bbc12e804a480a05778246c09", + "0x1416052317816f51f8f416ef058e8781d490c40a3a04bbc123a04b900a3c", + "0x147a09778247a09498148609778240a3602b7012ef048fc129202815de09", + "0xb0123702a4812ef04a48122d0282412ef04824122c02b7012ef04b701299", + "0x3bc1645048e00a4568b51aed84cbbc122c21a4812dc1ea81a20516025de09", + "0x159c0977825ae09490140aef04b6c123c02815de090282c0acf04bd9b609", + "0x249a092f0140aef04b2c123f02935960b7782494091e8149409778240a3a", + "0x36012ef04b6012930299412ef0499812dc0299812ef04b24124602b2412ef", + "0x25d00568825de09688245a0567025de096702532056a025de096a0245805", + "0x14b20977825ae09490140aef04814160532b459cd46c264126504bbc1265", + "0x164129902b5012ef04b50122c02b6012ef04b6012930294812ef04b3c12e2", + "0x149a2596a361320929025de0929025d00568825de09688245a052c825de09", + "0x25de090290c0a5a04bbc124604a480a05778245809650140aef048141605", + "0x2640a0904bbc1209048b00a5e04bbc125e04a4c0a5604bbc125404b880a54", + "0x168125e4c824ac0977824ac0974015240977825240916814b40977824b409", + "0x259409490140aef0489812d702815de0916825b00502bbc120505814ac92", + "0x143a09778243a09498149e09778249c09710149c09778240ad40296c12ef", + "0x13c12e802a4812ef04a48122d0296c12ef0496c12990282412ef04824122c", + "0x3880a5304bbc120a04a480a05778240a0b0293d245b04875320927825de09", + "0x24a6094c8141209778241209160143a09778243a0949814c209778244609", + "0x14c292298243a990498412ef0498412e802a4812ef04a48122d0294c12ef", + "0x31c12ef04814860564025de0952825240502bbc129304b5c0a05778240a0b", + "0x25320504825de0904824580552025de0952025260531025de0963825c405", + "0x249900952264126204bbc126204ba00a9204bbc1292048b40ac804bbc12c8", + "0x3bc1205670143a09778240acf02a9412ef04815b60550025de09029140a62", + "0x15de090282c0a231082dee110502dde0b05814160902815de09028140a05", + "0x25320505025de0905025260513025de0949824140565025de09088252405", + "0x388122102815de090282c0a2d04be058e205bbc1626048440aca04bbc12ca", + "0x249a0502bbc12a004b2c0a05778243a09250140aef048b0122302815de09", + "0x39012ef04b9812e202b9812ef048144c0574025de0965025240502bbc12a5", + "0x245a0574025de0974025320504825de0904824580505025de09050252605", + "0x140aef04814160572249d0090526412e404bbc12e404ba00a9204bbc1292", + "0x3bc123104a640a3604bbc1205730146209778259409490140aef048b41221", + "0x2c0a3c1c02df2101b82dde0b1b0c41492188146c09778246c09720146209", + "0xfc12ef048f41266028f412ef0481592051d025de0908025240502bbc1205", + "0x24b4056e025de0923024a40502bbc125e049640a462f02dde091f824ca05", + "0x25de091b82526056b825de09029580ad804bbc1243049500a4304bbc12dc", + "0x16c0a9204bbc1292048b40a0904bbc1209048b00a3a04bbc123a04a640a37", + "0x35132ef04b61ae92048e86ea027815b00977825b00927015ae0977825ae09", + "0x25de095229416c802a6412ef04a65400b308140aef04814a60522a9132d1", + "0x159c0977825a209490140aef04814160567825f4db04bbc164504b1c0aa4", + "0x1596097d88012ef0592812cd02b3812ef04b3812990292812ef04b6c1262", + "0x159209778240a3a0293412ef04b38129202815de0902b140a05778240a0b", + "0x25860502bbc126604b280a653302dde0910024d60510025de09100741669", + "0x150126f02815de092d02582052a168a49277824b20936814b26505bbc1265", + "0x25de092d824e2052d825de092b0257e052b14816ef0494812c002815de09", + "0x14a60977824a4095c0149e09778249cc90585c0a4e04bbc124e04af40a4e", + "0x13c12760294c12ef0494c12740293412ef04934129902b5012ef04b501293", + "0x25f86204bbc16c704ac40ac76418524ef0493ca64d6a24d6a0527825de09", + "0x25b005359a416ef0498812b202b1412ef04b20129202815de090282c0acd", + "0x1b412ad029bd826d493bc12c3049b40ac33282dde0932825860502bbc126b", + "0x2fc12ef04b00d20b0b8158009778258209540140aef049bc126f02815de09", + "0x24f40502bbc12bd04b040a0577824e209568142ebd38a49de0932824da05", + "0x24ec091e814ec0977824e8bf0585c0a7404bbc12b8049c40ab804bbc1217", + "0x2b412ef04ac8124602ac812ef04ac4125e02815de095a8247e0558ad416ef", + "0x2532054c825de094c824580530825de0930825260554025de0956825b805", + "0x2918a9930a6412a804bbc12a804ba00aa404bbc12a4048b40ac504bbc12c5", + "0x259a0971014f409778259009490140aef0499412aa02815de090282c0aa8", + "0x1e812ef049e8129902a6412ef04a64122c0298412ef04984129302aa812ef", + "0x240a0b02aa9487a4c985320955025de0955025d00552025de09520245a05", + "0x1d80aa904bbc127c04a640a7c04bbc12ce04a480a05778243a09250140aef", + "0x2480a05778243a09250140aef04814160502bf412053e0150809778259609", + "0x24fe094c8140aef04a04128402a85020b778259e0954814fe0977825a209", + "0x2d02054e825de09029fc0a05778240ac502a1012ef04a84127602aa412ef", + "0x25320916015a80977825a809498150c0977825360971015360977825089d", + "0x21812ef04a1812e802a9012ef04a90122d02aa412ef04aa4129902a6412ef", + "0x15de0950025960502bbc121d049280a05778240a0b02a1948a94cb513209", + "0x252a09710152a09778240a4302a2012ef048f0129202815de09528249a05", + "0x22012ef04a2012990282412ef04824122c028e012ef048e0129302a4012ef", + "0x240a0b02a412488048e1320948025de0948025d00549025de09490245a05", + "0x28012cb02815de090e824940502bbc129304b5c0a05778254a09268140aef", + "0x15fe0977825fc0971015fc09778240a430280012ef0488c129202815de09", + "0x248122d0280012ef0480012990282412ef04824122c0288412ef048841293", + "0x240a05778240a0502bfd24000488532097f825de097f825d00549025de09", + "0x144009778254009490140aef04814160552a9017005026416ef0582c0a0b", + "0x7412110288012ef04880129902a6412ef04a6412930287412ef04a4c120a", + "0x3bc12110488c0a05778241409108140aef0481416051082602110502dde0b", + "0x25260513025de0965025c40565025de09028980a2304bbc122004a480a05", + "0x3bc1292048b40a2304bbc122304a640a0904bbc1209048b00a9904bbc1299", + "0x84122102815de090282c0a264908c12994c8244c09778244c09740152409", + "0x15c40977825c4094c8145809778240ae602b8812ef04880129202815de09", + "0x3bc120505815c8e605c09d02d05bbc162c712652431028b012ef048b012e4", + "0xdc1254028dc12ef0481592051b025de0902a840a3104bbc12e804a480a05", + "0x26c0a3a04bbc12052b0147809778240a56028e012ef048153a0508025de09", + "0x24580518825de0918825320516825de091682526051e825de091e0e06c92", + "0x3bc1210049380a3a04bbc123a0496c0a9204bbc1292048b40a0904bbc1209", + "0x3708c5e1fa65de091e8407492048c45aa4430147a09778247a091b8142009", + "0x25240502bbc120505815ae0981b6012ef0590c128802815de090294c0a43", + "0x3bc16d104a400ad404bbc12d404a640ad104bbc12d804a540ad404bbc125e", + "0x25240502bbc124504b600a05778240ac502815de090282c0adb04c108a09", + "0x3bc124a048fc0acb2502dde09670247a0567025de09028e80acf04bbc12d4", + "0x24c0a6604bbc12c904b700ac904bbc124d049180a4d04bbc12cb049780a05", + "0x25b809168159e09778259e094c8148c09778248c09160147e09778247e09", + "0x25240502bbc120505814ccdc679187e990499812ef0499812e802b7012ef", + "0x160a09029f00a5204bbc12db049d80a5904bbc126504a640a6504bbc12d4", + "0x150128402958a80b77825ae0954814b40977824bc09490140aef048141605", + "0x1fc0a05778240ac50294812ef0495812760296412ef04968129902815de09", + "0x247e09498149e09778249c09710149c0977824a45b05a040a5b04bbc1205", + "0x37012ef04b70122d0296412ef0496412990291812ef04918122c028fc12ef", + "0x3bc12e404a480a05778240a0b0293db859230fd320927825de0927825d005", + "0xb00ae604bbc12e604a4c0ac804bbc126104b880a6104bbc120521814a609", + "0x25900974015240977825240916814a60977824a6094c8141209778241209", + "0x294129202815de0949825ae0502bbc120505815909229825cc9904b2012ef", + "0x29012ef04a90129302b3412ef0498812e20298812ef04814860563825de09", + "0x25d00549025de09490245a0563825de0963825320504825de09048245805", + "0x152409778241609050140aef048158a0566a498e095226412cd04bbc12cd", + "0xaa404bbc120904a480a05778240a0b02a8013064ca4c16ef05a481211", + "0x254a097f8143a097782526097f01440097782548094c8154a09778253209", + "0x240b080284412ef04824129202815de090282c0a05838240a7c0282812ef", + "0x7412ef04a8012fe0288012ef0484412990288c12ef0488413090288412ef", + "0x2480a05778240a0b02898130b65025de0b05026140505025de0911825fe05", + "0x3bc121d049780a2d04bbc120550814580977825940986015c409778244009", + "0x15c40977825c4094c8140a09778240a0949815cc0977824580954015d009", + "0x15330d02b9812ef04b9812bd028b412ef048b412f002ba012ef04ba012a0", + "0x15de090282c0a1004c3c6e097782c6c09870146c3172249de09730b5d0e2", + "0x2640a3d04bbc123c048280a3a1e02dde091b82620051c025de09188252405", + "0xe0129202815de090282c0a5e04c487e097782c7409888147009778247009", + "0x1416056c02626436e02dde0b1e824220523025de0923025320523025de09", + "0x34412ef04b5012a802b5012ef0490c130c02b5c12ef04918129202815de09", + "0x25a2095e815ae0977825ae094c815b80977825b8097f0140aef04814a605", + "0x3bc12d704a480a05778240a0b02b3c13146d91416ef05b70121102b4412ef", + "0x149a09778248a097f0159609778259c094c814940977825b609000159c09", + "0x19812ef04b5c129202815de090282c0a058a8240a7c02b2412ef0492812ff", + "0x33c12fe02b2c12ef0499812990296412ef0499413090299412ef048161005", + "0x25de0b64826140529025de0926824bc0564825de092c825fe0526825de09", + "0x14b60977824b40986014ac09778259609490140aef0481416052a0262c5a", + "0x39017170295812ef0495812990293812ef0493812bd0293812ef0496c12a8", + "0x3bc125604a480a05778240ac502815de090282c0a6104c60a64f05bbc164e", + "0x3bc12622902e340531025de0963826320563825de0929b447e924d8159009", + "0x1590097782590094c8149e09778249e09498158a09778259a098d8159a09", + "0x3040a05778247e098e8140aef04814160562b209e9204b1412ef04b14131c", + "0x3bc126904a640a6b04bbc126104a4c0a6904bbc125604a480a0577825a209", + "0x3bc123f04c740a0577824a8096c0140aef04814160502c7812053e0158609", + "0x25320535825de0972025260536825de0965825240502bbc12d104b040a05", + "0x14de097782582098f8158209778240b0802815de0902b140ac304bbc126d", + "0x1ad24095f825de095f82638055f825de0960026360560025de0937948171a", + "0x240b08029c412ef04918129202815de091f8263a0502bbc1205058157ec3", + "0x25de095c05c171a02ae012ef04af4131f0285c12ef04b60125e02af412ef", + "0x4700a7104bbc127104a640ae404bbc12e404a4c0a7604bbc127404c6c0a74", + "0x24c0ab504bbc123804a480a05778240a0b029d8e2e449024ec0977824ec09", + "0x247a097f0155a0977824bc09900156409778256a094c815620977825c809", + "0x401322029e812ef048c4129202815de090282c0a05908240a7c02aa012ef", + "0x25de095502638053d025de093d025320572025de0972025260555025de09", + "0x1f012ef04880129202815de0913025b00502bbc120505815547a7224812aa", + "0x2a4132002ac812ef049f0129902ac412ef04814129302aa412ef048161005", + "0x25de09568263e0542025de0954024bc0554025de090e825fc0556825de09", + "0x1562097782562094981542097782502098d815020977824fe8405c680a7f", + "0x1412ef04814740550ac9629204a8412ef04a84131c02ac812ef04ac81299", + "0x14fe0505825de090481416170282412ef0482412bd0282412ef048164605", + "0x15b60549824129304bbc129304c900a9304bbc120b4902d020549025de09", + "0x3380a2104bbc12056d8141409778240b250288012ef048148a0552025de09", + "0x1458e21324a4eca0888d24ef05a48120b930140aef048158a0502bbc1205", + "0x3bc12ca04ca00a2d04bbc122304a480a2304bbc122304a640a05778240a0b", + "0x15c8e605bbc1299049ac0ae804bbc1205508143a09778259409948159409", + "0x1bc0a05778246e096081420371b249de0918824da0518b9016ef04b9012c3", + "0x3bc122d04a640a0504bbc120504a4c0a3804bbc123604ae00a05778242009", + "0x4412ef04844420b64015d00977825d0097801470097782470093a0145a09", + "0x2c7a09960147a3a1e249de09740e05a0549cac0a1d04bbc121d0502e5405", + "0x37012ef04815920523025de091d025240502bbc120505814bc09968fc12ef", + "0x3600a0577825b00997815a8d76c249de091f8265c0521825de096e024a805", + "0x255a0567b6c8a9277825a20936815a2e405bbc12e404b0c0a0577825a809", + "0x12924ef04b90126d02b3812ef04b6c12a802815de0967824de0502bbc1245", + "0x14ac0564825de0926824f40502bbc12cb04b040a05778249409568149acb", + "0x248c094c814780977824780949814ca097782592ce6ba49360533025de09", + "0x19812ef04998125b0284412ef04844122d0282c12ef0482c122c0291812ef", + "0x24ca433304416461e2910c0532825de09328246e0521825de09218249c05", + "0x281480b640154a09778254a20059840a05778240a530296940a52916532ef", + "0x3bc125204a480a05778240a0b0295813302a025de0b2d025100550025de09", + "0x4c49e097782c9c0948014b60977824b6094c8149c0977824a8094a814b609", + "0x3bc125b04a480a05778249e096c0140aef048158a0502bbc120505814a609", + "0x1a58acd31265de090e826640563825de09028e80ac804bbc12051d014c209", + "0x24d609608140aef049a4133502815de0966826680502bbc126204ccc0a6b", + "0x30416ef049b41338029b412ef04b0c133702b0c12ef04b998a0b9b0140aef", + "0x26740530825de093082532052c825de092c825260502bbc12c104ce40a6f", + "0x1bcc2594ccec0ac704bbc12c7049d80ac804bbc12c8049d80a6f04bbc126f", + "0x2480a05778240a0b0285c133d5e825de0b38826780538afd8092778258ec8", + "0x1d0123d02815de095a825b0055a9d8e892778257a099f0157009778257e09", + "0x3bc12ad048fc0aa85682dde093b0247a0502bbc12b1048fc0ab25882dde09", + "0x4fc0ab804bbc12b804a640aaa04bbc12a8049780a7a04bbc12b2049780a05", + "0x3bc127c04a640a05778240a0b02a04fe8449501527c05bbc16aa3d2817093", + "0x153609778253a9305d040a9d04bbc120584015420977824f80949014f809", + "0x294122c02a8412ef04a84129902b0012ef04b00129302a1812ef04a6c1342", + "0x21952a550b01320943025de0943026860554825de09548245a0552825de09", + "0x3bc128404a480a8404bbc128404a640a05778252609a20140aef048141605", + "0x140009778252009a2815200977825029505a040a9504bbc12053f8151009", + "0x1fc122d02a9412ef04a94122c02a2012ef04a20129902b0012ef04b001293", + "0x5100a05778240a0b02800fea544301320900025de090002686053f825de09", + "0x3bc12c004a4c0aff04bbc121704d140afe04bbc12bf04a480a05778252609", + "0x154009778254009168154a09778254a0916015fc0977825fc094c8158009", + "0x15de0949826880502bbc120505815fea052bf9809904bfc12ef04bfc1343", + "0x2610094c816100977824b609490140aef04b9812ca02815de090e825e805", + "0x24c134402815de090282c0a05a30240a7c02c2812ef0494c127602c2412ef", + "0x2a40b0c04bbc125204a480a0577825cc09650140aef0487412f402815de09", + "0x261a093b01612097782618094c8140aef04bc0128402c35e00b77824ac09", + "0x5140b1004bbc130a8702d020587025de09029fc0a05778240ac502c2812ef", + "0x254a091601612097782612094c814b20977824b209498162209778262009", + "0x1622a052c24b29904c4412ef04c44134302a8012ef04a80122d02a9412ef", + "0x140aef0487412f402815de0949826880502bbc12e604b280a05778240a0b", + "0x25de091d025240502bbc12e404aa80a05778254809268140aef0488012cb", + "0xb00b1704bbc131704a640a3c04bbc123c04a4c0b1904bbc125e04d140b17", + "0x2e2e3c4c8263209778263209a18142209778242209168141609778241609", + "0x244009658140aef04a6412ca02815de0949826880502bbc1205058163211", + "0x98129902815de09108249a0502bbc120a04d1c0a05778254809268140aef", + "0x25de091646c168102c6c12ef04814fe058d025de0913025240513025de09", + "0xb00b1a04bbc131a04a640a0504bbc120504a4c0b1d04bbc131c04d140b1c", + "0x2e34054c8263a09778263a09a1815c40977825c409168141609778241609", + "0x2c2e0504825de09048257a0504825de0902d200a0504bbc12051d0163ae2", + "0x25260992015260977824169205a040a9204bbc12053f8141609778241205", + "0x25de09048257a0504825de0902d240a0504bbc12051d015260904a4c12ef", + "0x15260977824169205a040a9204bbc12053f81416097782412050585c0a09", + "0x264126b02a8012ef04815420502bbc120562815260904a4c12ef04a4c1324", + "0x3bc1220049b40a205282dde0952825860502bbc12a404b280aa55202dde09", + "0x144209778243a095c0140aef04844126f02815de09050258205088283a92", + "0x28012f00288412ef0488412740282412ef0482412990281412ef048141293", + "0x2694e204bbc162604cb00a266508d24ef04a80420902a4e560550025de09", + "0x25d0092a015d009778240ac9028b412ef04b28129202815de090282c0a2c", + "0x15de091b025b00502bbc12e404cbc0a3618b9124ef04b88132e02b9812ef", + "0x140aef0484012ad028f07010493bc1237049b40a375282dde09528258605", + "0x255a052f0fc7a92778254a09368147409778247009540140aef048f0126f", + "0x15b809778240a560291812ef04978127a02815de091f825820502bbc123d", + "0xb00a2d04bbc122d04a640a2304bbc122304a4c0a4304bbc12461d0c5249b", + "0x25cc0927015b80977825b8092d8152409778252409168141609778241609", + "0x351aed84cbbc124373371240b1688d48860290c12ef0490c123702b9812ef", + "0x2480a05778240a0b02b3c134b6d825de0b22825100502bbc1205298148ad1", + "0x2c9409480159c09778259c094c814940977825b6094a8159c0977825ae09", + "0x2480a057782596096c0140aef048158a0502bbc1205058149a09a632c12ef", + "0x24ca09a1014ca0977824cc9305d040a6604bbc1205840159209778259c09", + "0x35012ef04b50122c02b2412ef04b24129902b6012ef04b6012930296412ef", + "0x240a0b02965a2d464b6132092c825de092c826860568825de09688245a05", + "0x1d80a5a04bbc125204a640a5204bbc12ce04a480a05778252609a20140aef", + "0x2480a05778252609a20140aef04814160502d3412053e014a809778249a09", + "0x24ac094c8140aef0496c128402938b60b778259e0954814ac0977825ae09", + "0x2d020527825de09029fc0a05778240ac50295012ef0493812760296812ef", + "0x24b4094c815b00977825b00949814c20977824a609a2814a60977824a84f", + "0x18412ef04984134302b4412ef04b44122d02b5012ef04b50122c0296812ef", + "0x15de0952825540502bbc129304d100a05778240a0b02985a2d42d3613209", + "0x25320511825de0911825260563825de09160268a0564025de09650252405", + "0x3bc12c704d0c0a9204bbc1292048b40a0b04bbc120b048b00ac804bbc12c8", + "0x3bc1205628140aef048159c0552025de0902d380ac74902d90234c8258e09", + "0x2c40a549025275102881320b778253209a80154a9305bbc129304d3c0a05", + "0x2524050e825de090e825320502bbc120505815942310a4aa4110507524ef", + "0x3bc122604a640a0a04bbc120a048b40a1104bbc121104af40a2604bbc121d", + "0x3bc122604a480a05778240a0b028b413531638816ef058440a0b8b8144c09", + "0x39124ef04b9858e2495580ae604bbc12e604d540ae604bbc1205aa015d009", + "0x142009778240a9d028dc12ef048d81357028d9320b778253209a80154031", + "0xe012bd028f012ef048f012bd028f0200b778242009ac8147009778240b58", + "0x3040a05778247e0960814bc3f1e8e926ef048e0783705a4eb4051c025de09", + "0x240aa102b708c0b778247ae405d6c0a3d04bbc123d04af40a0577824bc09", + "0x15d00977825d0094c8148c09778248c0949815b009778240b5c0290c12ef", + "0x24b6056ba4c16ef04a4c134f0282812ef04828122d028e812ef048e8122c", + "0x3bc1299049380ad804bbc12d804d780adc04bbc12dc04d740ad704bbc12d7", + "0x1462097782462092d81486097782486097801420097782420095e8153209", + "0x345a89977824624308265b0dc6b82874e82302ac00550025de0950290175f", + "0x25de0968825240502bbc1205058149409b133812ef05b3c136102b3db645", + "0x3bc126604b040a0577825920937814a45932999924d503bc12ce04d8c0acb", + "0x140aef0481416052a026c85a04bbc165204a400acb04bbc12cb04a640a05", + "0x2dde09500269e0502bbc120529814ac09778259609490140aef0496812d8", + "0x140aef04814160527026cc057782cb609b2814ac0977824ac094c814b6a0", + "0x15de092c826d00502bbc1293049bc0a0577824ca09b38140aef04a80126f", + "0x249e094c814c209778240a560294c12ef048153a0527825de092b0252405", + "0x33412ef0494c12bd0298812ef04984125b02b1c12ef04b6c122d02b2012ef", + "0x31412ef04958129202815de0927026d40502bbc1205058140b6904814f805", + "0x5440a6904bbc1269049380ac504bbc12c504a640a6904bbc12593282ed605", + "0x24d6094c8140aef048141605601bd8292b61b5866b493bc166949b6d8a93", + "0x31c12ef04b0c122d02b2012ef04afc129902afc12ef049ac1292029ac12ef", + "0x3349a924d8140aef048158a0566825de09368257a0531025de0950024b605", + "0x3bc121704dbc0a1704bbc12bd04db80abd04bbc127104db40a7104bbc1262", + "0x148a09778248a091601590097782590094c815a80977825a809498157009", + "0x3bc12050581570c722b21a89904ae012ef04ae0137002b1c12ef04b1c122d", + "0x3bc12c104a640a05778249a098e8140aef04a80126f02815de0902b140a05", + "0x156a0977824ec09b7014ec097782580097b014e809778258209490158209", + "0x114122c029d012ef049d0129902b5012ef04b50129302ac412ef04ad4136f", + "0x2c4de453a351320958825de0958826e00537825de09378245a0522825de09", + "0x15de0950024de0502bbc125904da00a05778249a098e8140aef048141605", + "0x24a8097b0156409778259609490140aef04a4c126f02815de0932826ce05", + "0x35012ef04b501293029e812ef04aa0136f02aa012ef04ab4136e02ab412ef", + "0x26e0056d825de096d8245a0522825de0922824580559025de09590253205", + "0x1bc0a05778252609378140aef0481416053d36c8ab26a264127a04bbc127a", + "0x3bc12d404a4c0a7c04bbc124a04dc40aaa04bbc12d104a480a05778254009", + "0x15b60977825b609168148a09778248a091601554097782554094c815a809", + "0x15de0949824de0502bbc120505814f8db22aa9a899049f012ef049f01370", + "0x3bc12051d0155209778244c09490140aef04a90137302815de094c826e405", + "0x15020977824fe840585c0a7f04bbc127f04af40a7f04bbc1205ba0150809", + "0xb4129302a6c12ef04a74136f02a7412ef04a84136e02a8412ef04a0412f6", + "0x25de09050245a0505825de0905824580554825de0954825320516825de09", + "0x252609378140aef0481416054d82816a916a64129b04bbc129b04dc00a0a", + "0x25240510825de0910825320502bbc12a404dcc0a05778253209b90140aef", + "0x3bc129504dbc0a9504bbc128804db80a8804bbc12ca04bd80a8604bbc1221", + "0x141609778241609160150c09778250c094c8140a09778240a09498152009", + "0x3bc120562815202305a180a9904a4012ef04a4013700288c12ef0488c122d", + "0x3bc129904a480a05778240a0b02a91400bbaa65260b7782c1205058240a05", + "0x154a09778254a094c8152609778252609498144009778241609bb0154a09", + "0x5e40a2104bbc12a504a480a05778240a0b0284413780507416ef058801377", + "0x244c095e8144c097782594097a8159409778244609bd0144609778241409", + "0x25de0949825260516025de090e825700571025de091324816170289812ef", + "0x2d40ae204bbc12e2049d80a2c04bbc122c049d00a2104bbc122104a640a93", + "0x242209568140aef048141605733a05a9204b99d02d493bc12e2160852693", + "0x146c0977824629205dec0a3104bbc120584015c809778254a09490140aef", + "0xdc137d02b9012ef04b90129902a4c12ef04a4c1293028dc12ef048d8137c", + "0x2524091f8140aef0482c132f02815de090282c0a377224d24091b825de09", + "0x24c0a3c04bbc123804df80a3804bbc1205218142009778254809490140aef", + "0xf020a0490247809778247809be81420097782420094c8154009778254009", + "0x24da051029416ef04a9412c302a95480b778254009358140aef048158a05", + "0x3bc121d04afc0a05778242209378140aef0482812c102844141d493bc1220", + "0x15940977824462105e000a2104bbc12210496c0a2304bbc1205bf8144209", + "0x140aef0481416051602706e21302dde0b65014178202b2812ef04b281381", + "0x25820502bbc12e804ab40ae4733a124ef04a94126d028b412ef048241292", + "0x2c62e21324b080516825de0916825320518825de0972024f40502bbc12e6", + "0x246e09388147809778245a09490140aef0481416051c04017851b8d816ef", + "0x3bc123c04a640a3f4c82dde094c826a0051ea4c16ef04a4c134f028e812ef", + "0x10db892c3918bc0b7782c743f1ea487899c30146c09778246c09498147809", + "0x29012f302b5c12ef0497812920297812ef04978129902815de090282c0ad8", + "0x240a9d02b3c12ef04b6c135702b6d320b778253209a80148ad16a249de09", + "0x32c12ef04b2c12bd02b2d9c0b778259c09ac8149409778240b5802b3812ef", + "0x24cc0960814ca666493526ef0492996cf05a4eb40525025de09250257a05", + "0x148b20b77825923605d6c0ac904bbc12c904af40a0577824ca09608140aef", + "0x15012b80295812ef04816b80502bbc125a04c740a542d02dde096a0271005", + "0x25de092682458056b825de096b82532052c825de092c82526052d825de09", + "0x53c0a9904bbc1299049380a5b04bbc125b049d00a4604bbc1246048b40a4d", + "0x158135e0294812ef04948135d0293812ef04938125b02939260b778252609", + "0x3bc12ce2b1489c992d9189ad72c877120567025de09670257a052b025de09", + "0x14c129202815de090282c0acd04e2cc4097782d8e09c50158ec83094c9e99", + "0x1ac12c102815de09348265e05609b5866b34a65de0931027180562825de09", + "0x3bc1205058158009c69bc12ef05b04129002b1412ef04b14129902815de09", + "0x257e094c8140aef04814a6055f825de0962825240502bbc126f04b600a05", + "0x140aef04b4412c102815de090282c0a7104e380aef05914136502afc12ef", + "0x25de095f825240502bbc126d04da00a05778252609378140aef04b0c1367", + "0x240a0b028171e09029f00ab804bbc12c8048b40a1704bbc12bd04a640abd", + "0x14ec0977824dac305dac0a7404bbc12bf04a480a0577824e209b50140aef", + "0x2d416ef05b44ec93641d13386029d812ef049d8124e029d012ef049d01299", + "0x25de095a82524055a825de095a825320502bbc12050581550ad5924b20b1", + "0x240b0802815de0902b140ab804bbc12b1048b40a1704bbc127a04a640a7a", + "0x21012ef04aa4139302aa412ef049f01392029f012ef04aa8139102aa812ef", + "0x245a0530825de093082458050b825de090b825320527825de09278252605", + "0x140aef048141605422e0c21727a64128404bbc128404e500ab804bbc12b8", + "0x3bc12a804e540a7f04bbc12b204a480ab204bbc12b204a640a05778240ac5", + "0x149e09778249e09498153a09778254209c98154209778250209c90150209", + "0x274139402ab412ef04ab4122d0298412ef04984122c029fc12ef049fc1299", + "0x25820502bbc1245049bc0a05778240a0b02a755a613f93d32094e825de09", + "0x2480a0577824da09b40140aef04a4c126f02815de0961826ce0502bbc12d1", + "0x251009c98151009778250c09c90150c09778258009ca8153609778258a09", + "0x18412ef04984122c02a6c12ef04a6c12990293c12ef0493c129302a5412ef", + "0x240a0b02a5590614d93d32094a825de094a827280564025de09640245a05", + "0x14c129202815de0949824de0502bbc12d104b040a05778248a09378140aef", + "0x25de0948025320527825de0927825260500025de09668272c0548025de09", + "0x264120004bbc120004e500ac804bbc12c8048b40a6104bbc1261048b00a90", + "0x3280a05778252609378140aef04a64137202815de090282c0a0064185204f", + "0x3bc12d804e540afe04bbc12dc04a480adc04bbc12dc04a640a05778254809", + "0x146c09778246c09498161209778261009c9816100977825fe09c9015fe09", + "0x42413940290c12ef0490c122d0282c12ef0482c122c02bf812ef04bf81299", + "0x26e40502bbc1238049bc0a05778240a0b02c24860b7f0d9320984825de09", + "0x161409778245a09490140aef04a9012ca02815de0949824de0502bbc1299", + "0x261809920161a097782614094c815e009778242009498161809778240b97", + "0x254a09550140aef04a64137202815de090282c0a05cc0240a7c02c3812ef", + "0x15e40588025de0904825240502bbc12a404b280a05778252609378140aef", + "0x25de0988826480586825de0988025320578025de0916025260588825de09", + "0xb00b0d04bbc130d04a640af004bbc12f004a4c0b1704bbc130e04e580b0e", + "0x2e1af04c8262e09778262e09ca0152409778252409168141609778241609", + "0x3bc1205058154aa405e65409905bbc16090282c120502bbc1205628162e92", + "0x153209778253209498143a9305bbc129304d640a2004bbc12a004a480a05", + "0x24c12c102815de090282c0a0a04e6c0aef05874139a0288012ef048801299", + "0x25de091082c179d0288412ef04a48139c0284412ef04880129202815de09", + "0x67c0a1104bbc121104a640a9904bbc129904a4c0aca04bbc122304e780a23", + "0x25240502bbc120a04e800a05778240a0b02b282299490259409778259409", + "0x9812ef04898129902815de090294c0ae204bbc120b048280a2604bbc1220", + "0x15cc09778244c09490140aef04814160574027422d1602dde0b710242205", + "0x39012ff028d812ef048b012fe028c412ef04b98129902b9012ef048b41200", + "0x16100508025de0913025240502bbc1205058140ba204814f8051b825de09", + "0x25de0974025fc0518825de090802532051e025de091c02612051c025de09", + "0x27463d04bbc163704c280a3a04bbc1236049780a3704bbc123c04bfc0a36", + "0x11812a80291812ef048f4130c0297812ef048c4129202815de090282c0a3f", + "0x3bc16dc4c82f48052f025de092f02532056e025de096e0257a056e025de09", + "0x15a80977824bc09490140aef048158a0502bbc120505815ae09d2b60860b", + "0x2526056d825de0922a4c17a70291412ef04815e20568825de096c24817a6", + "0x3bc12d104bc00a3a04bbc123a04a800ad404bbc12d404a640a4304bbc1243", + "0x33d2409253399e9277825b6d11d350869986815b60977825b6095e815a209", + "0x24bc09490140aef04a48131d02815de0949825820502bbc12050581494ce", + "0x2c0a05d40240a7c02b2412ef04b2c12990293412ef04b5c129302b2c12ef", + "0x2480a057782524098e8140aef04a4c12c102815de091f825b00502bbc1205", + "0x3bc120562815920977824cc094c8149a0977825320949814cc09778246209", + "0x6780a5204bbc12591d02f3a052c825de0932827520532825de0902c200a05", + "0x3040a05778240a0b02969924d49024b40977824b409cf814b40977824a409", + "0x15012ef04a94129202815de0905825ae0502bbc129204c740a05778252609", + "0x150129902a9012ef04a9012930296c12ef0495813aa0295812ef048148605", + "0x14160902815de0902b140a5b2a29124092d825de092d8273e052a025de09", + "0x26ec0552825de094c825240502bbc12050581548a005ead329305bbc1609", + "0x29412ef04a94129902a4c12ef04a4c129302815de090294c0a2004bbc120b", + "0x144209778254a09490140aef04814160508827580a0e82dde0b10026ee05", + "0x8c13af0289812ef0487413ae02b2812ef0488412990288c12ef0482813ad", + "0x16100516025de0952825240502bbc1205058140bb004814f80571025de09", + "0x25de09088275c0565025de0916025320574025de0916827620516825de09", + "0x2766e404bbc16e204ec80ae604bbc122604ae00ae204bbc12e804ebc0a26", + "0x3bc12e404de40a3604bbc12ca04a480a05778240ac502815de090282c0a31", + "0xe012ef04841240bd30142009778242009da0142009778246e09bd0146e09", + "0x25e00573025de0973024e8051b025de091b025320549825de09498252605", + "0x240a0b028f4743c490247a3a1e249de091c3986c9349cac0a3804bbc1238", + "0x240b08028fc12ef04b28129202815de0918825b00502bbc1205628140aef", + "0x3bc129304a4c0adc04bbc124604ed80a4604bbc125e4939925b50297812ef", + "0x240a0b02b707e9349025b80977825b809db8147e09778247e094c8152609", + "0x14860521825de0952025240502bbc129204c740a05778241609978140aef", + "0x25de0921825320550025de095002526056b825de096c02770056c025de09", + "0x15de0902b380aa004bbc1205dc815ae435024812d704bbc12d704edc0a43", + "0x25de0904825240502bbc1205058154809778241609dd0140aef048158a05", + "0x6f00a9904bbc12204902c2e0510025de09100257a0510025de0902eec0aa5", + "0x2813be02815de090882554050882816ef0487413bd02875480b778254809", + "0x3bc12a404ef40aca04bbc12234982c2e0511825de09108277e0510825de09", + "0xb524ef048b0126d028b1c40b77825c409618140aef04898133502b884c0b", + "0x2fc0ae41682dde0916825800502bbc12e6049bc0a0577825d00960815cce8", + "0xd9940b0b8146c09778246c095e8146c0977824620938814620977825c809", + "0x25de0952825320502825de0902825260508025de091682570051b825de09", + "0x1532097782532a005f000a3704bbc1237049d80a1004bbc1210049d00aa5", + "0x240a0b028fc13c11e825de0b1d02562051d0f07092778246e105281526b5", + "0x140aef04b7012d802b708c0b778247a0959014bc09778247809490140aef", + "0x1bc0a0577825b00956815a8d76c249de0921824da0521b8816ef04b8812c3", + "0x25c409368148a0977825a2460585c0ad104bbc12d704aa00a0577825a809", + "0x12812ef04b38127a02815de0967825820502bbc12db04ab40ace67b6d24ef", + "0x24b840564825de0902c200a4d04bbc12cb2282c2e0565825de0925024e205", + "0x1781299028e012ef048e012930299412ef0499813c30299812ef04b249a99", + "0x264123f02815de090282c0a652f0e1240932825de093282788052f025de09", + "0x14a409778247e09e2814b209778247809490140aef04b8812aa02815de09", + "0x16470920494812ef0494813c40296412ef049641299028e012ef048e01293", + "0x15de090282c0a231082f8c110502dde0b04814160902815de0902b140a52", + "0x2640a0a04bbc120a04a4c0a260e82dde090e8269e0565025de09088252405", + "0x254809b90140aef048141605710278e057782c4c09b28159409778259409", + "0x27220516825de0902c200a2c04bbc12ca04a480a05778252609378140aef", + "0x15c80977825cc09e4815cc0977825d0a04ca943a20507200ae804bbc122d", + "0x248122d0282c12ef0482c122c028b012ef048b012990282812ef048281293", + "0x5a80a05778240a0b02b91240b16029320972025de0972027940549025de09", + "0x254009e60146c9905bbc129904f2c0a3104bbc12ca04a480a0577825c409", + "0x2462094c814709305bbc129304d3c0a1004bbc12371b02ed6051ba8016ef", + "0xfd25cd1e8e878927782c2038490c527510284012ef04840124e028c412ef", + "0x257a056e025de091e02524051e025de091e025320502bbc1205058148c5e", + "0x2c7a0a05e900adc04bbc12dc04a640a3a04bbc123a048b40a3d04bbc123d", + "0x25b02005e980ad404bbc12dc04a480a05778240a0b02b5c13ce6c10c16ef", + "0x15a80977825a8094c8148a09778248a092d8148a09778240bcf02b4412ef", + "0x3bc12050581494ce05f459edb05bbc16450e90d25d002b4412ef04b4412f0", + "0x249a09af0140aef04814a60526825de0902f480acb04bbc12d404a480a05", + "0x14b26505f50ccc905bbc164d5036d25d302b2c12ef04b2c12990293412ef", + "0x3bc125204a640a5a04bbc12c904a4c0a5204bbc12cb04a480a05778240a0b", + "0x149c09778253209ae814b609778254a095e814ac0977824160916014a809", + "0x140aef04964136802815de090282c0a05ea8240a7c0293c12ef04998135e", + "0x184135702985480b778254809a8014a609778259609490140aef04a641367", + "0x33412ef04816b00531025de0963a9417d602b1c12ef04815e20564025de09", + "0x5680acd04bbc12cd04af40ac53102dde0931026b20531025de09310257a05", + "0x140aef049b412c102815de0961825820536b0cd66949bbc12cd62b201693", + "0x25260560025de0902d700a6f6082dde0935994175b029ac12ef049ac12bd", + "0x3bc126204af40a5604bbc1269048b00a5404bbc125304a640a5a04bbc12c1", + "0x25260502bbc1205628149e09778258009af0149c0977824de09ae814b609", + "0x3bc123a048b40a5604bbc1256048b00a5404bbc125404a640a5a04bbc125a", + "0x149e09778249e09af0149c09778249c09ae81526097782526092d8147409", + "0x33c125b02b4412ef04b4412f00296c12ef0496c12bd02a9012ef04a90124e", + "0x2570175e9c57e99778259ed12da909e4e498e8ac542d02ac00567825de09", + "0x140aef04b44131d02815de0925024de0502bbc12050581570175e9c57e99", + "0x15de0949824de0502bbc12a004da00a05778254809b90140aef04a641367", + "0x24ec09ec014ec09778240bd7029d012ef04b50129202815de09528258205", + "0x2c12ef0482c122c029d012ef049d0129902b3812ef04b38129302ad412ef", + "0x240a0b02ad4740b3a33932095a825de095a82794051d025de091d0245a05", + "0x14740558825de096e025240502bbc1293049bc0a05778254809b90140aef", + "0x25de0956ac8161702ab412ef04ab412bd02ab412ef04815f00559025de09", + "0x255409e4815540977824f4a04ca943a20507200a7a04bbc12a804e540aa8", + "0x2c12ef0482c122c02ac412ef04ac4129902b5c12ef04b5c1293029f012ef", + "0x240a0b029f0740b58b5d32093e025de093e02794051d025de091d0245a05", + "0x2524051f825de091f825320502bbc1293049bc0a05778254809b90140aef", + "0x14fe097782508a04ca943a20507200a8404bbc124604e540aa904bbc123f", + "0x2c122c02aa412ef04aa412990282812ef04828129302a0412ef049fc13c9", + "0x204bc0b54829320940825de094082794052f025de092f0245a0505825de09", + "0x15de09100263a0502bbc121d049bc0a05778254809b90140aef048141605", + "0x3bc1293049bc0a05778254a09608140aef04a64136702815de0950026d005", + "0x2526054d825de094e827b0054e825de090290c0aa104bbc122304a480a05", + "0x3bc1292048b40a0b04bbc120b048b00aa104bbc12a104a640a2104bbc1221", + "0x14160902815de0902b140a9b4902d42214c8253609778253609e50152409", + "0x26ec0511825de0905025240502bbc120505814421105f64141d05bbc1609", + "0x8c12ef0488c12990287412ef04874129302815de090294c0aca04bbc1293", + "0x145a09778244609490140aef04814160516027b4e21302dde0b65026ee05", + "0x3a013af02b9012ef0489813ae02b9812ef048b4129902ba012ef04b8813ad", + "0x1610051b025de0911825240502bbc1205058140bdb04814f80518825de09", + "0x25de09160275c0573025de091b025320508025de091b82762051b825de09", + "0x27b83c04bbc163104ec80a3804bbc12e404ae00a3104bbc121004ebc0ae4", + "0x29013cb028fc12ef048f01379028f412ef04b98129202815de090282c0a3a", + "0xfc137a02b7012ef04918bc0bb58148ca505bbc12a504f300a5e5202dde09", + "0x3bc123d04a640ad75002dde09500269e056c025de0921825ea0521825de09", + "0x2db0dc6ba487a99c3015b00977825b0095e815b80977825b809270147a09", + "0x350129202b5012ef04b50129902815de090282c0acf6d91525dd68b5016ef", + "0x34412ef04b44122d0292812ef04928135e0292812ef04817a40567025de09", + "0x240a0b02999920bef135960b7782c94a50ea4ba60567025de09670253205", + "0x14a40977824ca094c814b20977825960949814ca09778259c09490140aef", + "0x134135e0295812ef04a90135d0295012ef0488012bd0296812ef0482c122c", + "0x290136702815de0933026d00502bbc1205058140bdf04814f8052d825de09", + "0x25de0927826ae0527a6416ef04a6413500293812ef04b38129202815de09", + "0x257a0563825de0902d600ac804bbc12611002fac0530825de0902bc40a53", + "0x14c1693ad0158e09778258e095e814c4c805bbc12c804d640ac804bbc12c8", + "0x31412bd02815de0935825820502bbc126904b040a6b34b159a93778258e62", + "0x3bc12c304a4c0ac104bbc1205ae014dac305bbc12c56482eb60562825de09", + "0x14a8097782590095e814b409778259a0916014a409778249c094c814b209", + "0x3bc125904a4c0a05778240ac50296c12ef04b04135e0295812ef049b4135d", + "0x15a20977825a20916814b40977824b40916014a40977824a4094c814b209", + "0x158135d02a8012ef04a80125b02a6412ef04a64124e028e012ef048e01274", + "0x344b4522c87712052a025de092a0257a052d825de092d826bc052b025de09", + "0x15de090282c0abd38afd806f4c8257a715fb00de9977824a85b2b2813238", + "0x25de0922825320502bbc129904dc80a05778254009378140aef048158a05", + "0x3bc12b852a9040384cf800ab804bbc12cf04e540a1704bbc124504a480a45", + "0x142e09778242e094c8143a09778243a0949814ec0977824e809f0814e809", + "0x5c3a99049d812ef049d813e202b6c12ef04b6c122d0282c12ef0482c122c", + "0x254009378140aef048e812d802815de0902b140a05778240a0b029d9b60b", + "0x27220558825de0902c200ab504bbc12e604a480a05778253209b90140aef", + "0x24c0aa804bbc12ad04f840aad04bbc12b252a9040384cf800ab204bbc12b1", + "0x252409168141609778241609160156a09778256a094c8143a09778243a09", + "0x26ce0502bbc120505815509205ad43a9904aa012ef04aa013e202a4812ef", + "0x4bc0a05778253209b90140aef04a80126f02815de0952826d00502bbc12a4", + "0x2a812ef0481486053d025de0910825240502bbc122004b040a05778252609", + "0x2458053d025de093d025320508825de090882526053e025de0955027c605", + "0x248167a08a64127c04bbc127c04f880a9204bbc1292048b40a0b04bbc120b", + "0x1416170282412ef0482412bd0282412ef04817c80502825de09028e80a7c", + "0x3bc129304c900a9304bbc120b4902d020549025de09029fc0a0b04bbc1209", + "0x2412ef0482412bd0282412ef04817ca0502825de09028e80a93048252609", + "0x4900a9304bbc120b4902d020549025de09029fc0a0b04bbc12090282c2e05", + "0x2412bd0282412ef04817cc0502825de09028e80a93048252609778252609", + "0x3bc120b4902d020549025de09029fc0a0b04bbc12090282c2e0504825de09", + "0x15367a481f00a992d1e9207c02a65cc93048252609778252609920152609", + "0x240f8054cc7d2692058240a9b3d240f8054c968f4903e015320549a481609", + "0x15367a481f00a992d1e9207c02a676c934902c12054d9e9207c02a64b47a", + "0x1fcf47c4801541e91e8240be8058240a9548015245a4801525e749a481609", + "0x1e8f89002a83d83d04817d63d04817d49949a48160902a84f47c480153221", + "0x1e8f89002a6564113d1f12005507b532934902c1205509e8f89002a64427f", + "0x1e8f89002a93de92058240abd4801524261b2400a93f72652692058240ab5", + "0x30d2005490283a5a4801533f0502652692058240ac03d1f120054c8856411", + "0x2484c2664a400a99f9248160902b212005490746c9002a4fe2934902c1205", + "0x360f47c4801532110e82964101b844f47c4801415f349a48160902b2d2005", + "0x1f120054c828203708ac86c7a3e2400a1dfa07440a55228132934902c1205", + "0x1f81e8240bf71e8240bf61e8240bf51029548a04ca4d240b048147e7a" + ], + "sierra_program_debug_info": { + "type_names": [ + [0, "RangeCheck"], + [1, "core::never"], + [2, "Const"], + [3, "Const"], + [4, "Const"], + [5, "Const"], + [6, "Const"], + [7, "Const"], + [ + 8, + "Const" + ], + [9, "ContractAddress"], + [10, "Array"], + [11, "felt252"], + [12, "u32"], + [13, "core::byte_array::ByteArray"], + [14, "test::ByteArrayStorage::MessageStored"], + [15, "Snapshot"], + [16, "Array"], + [17, "Uninitialized>"], + [18, "Box"], + [19, "Unit"], + [20, "core::option::Option::>"], + [21, "Const"], + [22, "NonZero"], + [23, "Snapshot>"], + [24, "core::array::Span::"], + [25, "StorageBaseAddress"], + [26, "u8"], + [27, "core::result::Result::<(), core::array::Array::>"], + [ + 28, + "Tuple, felt252, StorageBaseAddress, u8, core::result::Result::<(), core::array::Array::>>" + ], + [29, "core::panics::Panic"], + [30, "Tuple>"], + [ + 31, + "core::panics::PanicResult::<(core::array::Span::, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>" + ], + [32, "u64"], + [33, "Const"], + [34, "Const"], + [ + 35, + "Tuple, u32, felt252, StorageBaseAddress, u8, core::result::Result::<(), core::array::Array::>>" + ], + [ + 36, + "core::panics::PanicResult::<(core::array::Array::, core::integer::u32, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>" + ], + [37, "Const"], + [38, "Const"], + [39, "Const, Const>"], + [40, "NonZero"], + [41, "Uninitialized"], + [ + 42, + "Const" + ], + [43, "Const"], + [44, "Tuple, Array, Unit>"], + [ + 45, + "core::panics::PanicResult::<(core::array::Array::, core::array::Array::, ())>" + ], + [46, "test::ByteArrayStorage::Event"], + [47, "Snapshot"], + [48, "Box"], + [49, "Box"], + [50, "u128"], + [51, "Snapshot>"], + [52, "core::array::Span::"], + [53, "Array"], + [54, "Snapshot>"], + [55, "core::array::Span::"], + [56, "core::starknet::info::v2::TxInfo"], + [57, "core::starknet::info::BlockInfo"], + [58, "core::starknet::info::v2::ResourceBounds"], + [59, "Tuple, Array, Unit>"], + [ + 60, + "core::panics::PanicResult::<(core::array::Span::, core::array::Array::, ())>" + ], + [61, "Box"], + [62, "core::starknet::info::v2::ExecutionInfo"], + [63, "Uninitialized"], + [64, "Const"], + [65, "core::option::Option::>"], + [ + 66, + "Tuple, core::option::Option::>>" + ], + [ + 67, + "core::panics::PanicResult::<(core::array::Span::, core::option::Option::>)>" + ], + [68, "Box"], + [69, "core::option::Option::>"], + [70, "Tuple>>"], + [ + 71, + "core::panics::PanicResult::<(core::result::Result::<(), core::array::Array::>,)>" + ], + [72, "Const"], + [73, "Tuple, Unit>"], + [74, "core::panics::PanicResult::<(core::array::Array::, ())>"], + [75, "bytes31"], + [76, "Snapshot"], + [ + 77, + "core::result::Result::>" + ], + [ + 78, + "Tuple>>" + ], + [ + 79, + "core::panics::PanicResult::<(core::result::Result::>,)>" + ], + [80, "Const"], + [81, "StorageAddress"], + [82, "core::starknet::storage::StoragePointer0Offset::"], + [83, "Uninitialized"], + [84, "System"], + [85, "Uninitialized"], + [86, "Poseidon"], + [87, "Uninitialized"], + [88, "Tuple>"], + [89, "test::ByteArrayStorage::ContractState"], + [90, "Tuple"], + [91, "core::panics::PanicResult::<(test::ByteArrayStorage::ContractState, ())>"], + [92, "BuiltinCosts"], + [93, "core::panics::PanicResult::<(core::array::Span::,)>"], + [94, "core::option::Option::"], + [ + 95, + "Tuple, core::option::Option::>" + ], + [ + 96, + "core::panics::PanicResult::<(core::array::Span::, core::option::Option::)>" + ], + [97, "GasBuiltin"] + ], + "libfunc_names": [ + [0, "revoke_ap_tracking"], + [1, "withdraw_gas"], + [2, "branch_align"], + [3, "redeposit_gas"], + [4, "store_temp"], + [5, "store_temp"], + [6, "store_temp>"], + [7, "function_call"], + [ + 8, + "enum_match, core::option::Option::)>>" + ], + [ + 9, + "struct_deconstruct, core::option::Option::>>" + ], + [10, "enum_match>"], + [11, "struct_deconstruct>"], + [12, "array_snapshot_pop_front"], + [13, "drop>>"], + [14, "drop>"], + [15, "drop"], + [ + 16, + "function_call>" + ], + [17, "enum_init,)>, 1>"], + [18, "store_temp"], + [19, "store_temp"], + [20, "store_temp,)>>"], + [21, "get_builtin_costs"], + [22, "store_temp"], + [23, "withdraw_gas_all"], + [24, "struct_construct"], + [25, "store_temp"], + [26, "function_call"], + [27, "enum_match>"], + [28, "drop>"], + [29, "array_new"], + [30, "snapshot_take>"], + [31, "drop>"], + [32, "struct_construct>"], + [33, "struct_construct>>"], + [34, "enum_init,)>, 0>"], + [35, "function_call>"], + [36, "drop"], + [37, "drop>"], + [ + 38, + "function_call>" + ], + [ + 39, + "function_call" + ], + [40, "alloc_local"], + [41, "alloc_local"], + [42, "alloc_local"], + [43, "finalize_locals"], + [44, "drop>"], + [45, "drop>"], + [46, "drop>"], + [ + 47, + "storage_base_address_const<1805000835030012927560352908725629888915837980690946051509261932708320975709>" + ], + [ + 48, + "struct_construct>" + ], + [ + 49, + "snapshot_take>" + ], + [50, "drop>"], + [ + 51, + "struct_deconstruct>" + ], + [52, "rename"], + [53, "storage_address_from_base"], + [54, "const_as_immediate>"], + [55, "store_temp"], + [56, "store_temp"], + [57, "function_call"], + [58, "enable_ap_tracking"], + [59, "store_local"], + [60, "store_local"], + [ + 61, + "enum_match>,)>>" + ], + [ + 62, + "struct_deconstruct>>>" + ], + [ + 63, + "enum_match>>" + ], + [64, "disable_ap_tracking"], + [65, "store_local"], + [66, "snapshot_take"], + [67, "dup>"], + [68, "struct_snapshot_deconstruct"], + [69, "drop"], + [70, "drop"], + [71, "dup>>"], + [72, "array_len"], + [73, "u32_to_felt252"], + [74, "store_temp"], + [75, "array_append"], + [76, "struct_construct>"], + [77, "store_temp>"], + [78, "store_temp>"], + [ + 79, + "function_call, core::bytes_31::bytes31Drop>>" + ], + [80, "enum_match, ())>>"], + [81, "struct_deconstruct, Unit>>"], + [82, "drop>>"], + [83, "rename"], + [84, "rename"], + [85, "drop>"], + [86, "jump"], + [87, "struct_deconstruct>>"], + [88, "drop"], + [89, "struct_construct"], + [90, "struct_construct>>"], + [91, "array_new"], + [92, "const_as_immediate>"], + [93, "struct_construct"], + [94, "function_call"], + [ + 95, + "enum_match>,)>>" + ], + [ + 96, + "struct_deconstruct>>>" + ], + [97, "enum_match>>"], + [98, "enum_init>, 0>"], + [99, "store_temp>>"], + [100, "store_temp>>"], + [101, "struct_construct"], + [102, "enum_init>, 1>"], + [103, "enum_match>>"], + [104, "unbox"], + [105, "store_temp>"], + [ + 106, + "function_call, core::bytes_31::bytes31Drop>>" + ], + [ + 107, + "enum_match, core::option::Option::>)>>" + ], + [ + 108, + "struct_deconstruct, core::option::Option::>>>" + ], + [109, "enum_match>>"], + [110, "u32_try_from_felt252"], + [111, "enum_init, 0>"], + [ + 112, + "struct_construct, core::option::Option::>>" + ], + [ + 113, + "enum_init, core::option::Option::)>, 0>" + ], + [ + 114, + "store_temp, core::option::Option::)>>" + ], + [115, "drop>"], + [116, "enum_init, 1>"], + [117, "rename"], + [ + 118, + "enum_init, core::option::Option::)>, 1>" + ], + [ + 119, + "const_as_immediate>" + ], + [120, "store_temp>>"], + [121, "alloc_local"], + [122, "get_execution_info_v2_syscall"], + [123, "store_temp>"], + [124, "unbox"], + [125, "store_local"], + [126, "function_call"], + [ + 127, + "enum_match, core::array::Array::, ())>>" + ], + [ + 128, + "struct_deconstruct, Array, Unit>>" + ], + [129, "drop>"], + [130, "struct_deconstruct"], + [131, "drop>"], + [132, "drop>"], + [133, "drop"], + [134, "struct_construct"], + [135, "enum_init"], + [136, "snapshot_take"], + [137, "drop"], + [138, "store_temp>"], + [139, "function_call"], + [ + 140, + "enum_match, core::array::Array::, ())>>" + ], + [141, "struct_deconstruct, Array, Unit>>"], + [142, "emit_event_syscall"], + [143, "struct_construct>"], + [ + 144, + "enum_init, 0>" + ], + [145, "store_temp>"], + [146, "drop"], + [ + 147, + "enum_init, 1>" + ], + [148, "drop"], + [149, "drop>"], + [150, "const_as_immediate>"], + [ + 151, + "const_as_immediate>" + ], + [152, "alloc_local"], + [153, "dup"], + [154, "dup"], + [155, "storage_read_syscall"], + [156, "const_as_immediate, Const>>"], + [157, "store_temp>"], + [158, "u32_safe_divmod"], + [159, "storage_address_to_felt252"], + [160, "const_as_immediate>"], + [161, "dup"], + [162, "hades_permutation"], + [163, "storage_base_address_from_felt252"], + [164, "const_as_immediate>"], + [165, "store_temp"], + [166, "store_temp"], + [167, "store_local"], + [168, "function_call"], + [ + 169, + "enum_match, core::integer::u32, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>>" + ], + [ + 170, + "struct_deconstruct, u32, felt252, StorageBaseAddress, u8, core::result::Result::<(), core::array::Array::>>>" + ], + [171, "u32_is_zero"], + [172, "drop"], + [173, "drop"], + [174, "drop>"], + [175, "storage_address_from_base_and_offset"], + [ + 176, + "enum_init>, 0>" + ], + [ + 177, + "struct_construct>>>" + ], + [ + 178, + "enum_init>,)>, 0>" + ], + [ + 179, + "store_temp>,)>>" + ], + [ + 180, + "enum_init>, 1>" + ], + [ + 181, + "enum_init>,)>, 1>" + ], + [182, "drop"], + [183, "drop>"], + [ + 184, + "const_as_immediate>" + ], + [185, "struct_deconstruct>"], + [186, "array_snapshot_pop_front"], + [187, "unbox"], + [188, "rename"], + [189, "bytes31_to_felt252"], + [190, "struct_construct, Unit>>"], + [191, "enum_init, ())>, 0>"], + [192, "store_temp, ())>>"], + [193, "enum_init, ())>, 1>"], + [194, "const_as_immediate>"], + [195, "u32_wide_mul"], + [196, "store_temp"], + [197, "downcast"], + [198, "u32_overflowing_add"], + [199, "storage_write_syscall"], + [200, "struct_deconstruct"], + [201, "snapshot_take>"], + [202, "function_call"], + [ + 203, + "enum_match, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>>" + ], + [ + 204, + "struct_deconstruct, felt252, StorageBaseAddress, u8, core::result::Result::<(), core::array::Array::>>>" + ], + [205, "enum_init>, 0>"], + [ + 206, + "struct_construct>>>" + ], + [ + 207, + "enum_init>,)>, 0>" + ], + [ + 208, + "store_temp>,)>>" + ], + [209, "enum_init>, 1>"], + [ + 210, + "enum_init>,)>, 1>" + ], + [ + 211, + "function_call>" + ], + [ + 212, + "function_call>" + ], + [213, "felt252_is_zero"], + [214, "enum_init>, 0>"], + [ + 215, + "struct_construct, core::option::Option::>>>" + ], + [ + 216, + "enum_init, core::option::Option::>)>, 0>" + ], + [ + 217, + "store_temp, core::option::Option::>)>>" + ], + [218, "drop>"], + [219, "bytes31_try_from_felt252"], + [220, "array_append"], + [221, "const_as_immediate>"], + [222, "felt252_sub"], + [223, "enum_init>, 1>"], + [ + 224, + "enum_init, core::option::Option::>)>, 1>" + ], + [225, "enum_init>, 0>"], + [226, "store_temp>>"], + [227, "store_temp>>"], + [228, "enum_init>, 1>"], + [229, "enum_match>>"], + [230, "store_temp"], + [ + 231, + "struct_construct, Array, Unit>>" + ], + [ + 232, + "enum_init, core::array::Array::, ())>, 0>" + ], + [ + 233, + "store_temp, core::array::Array::, ())>>" + ], + [ + 234, + "enum_init, core::array::Array::, ())>, 1>" + ], + [235, "alloc_local>"], + [236, "enum_snapshot_match"], + [ + 237, + "const_as_immediate>" + ], + [238, "dup>"], + [239, "struct_snapshot_deconstruct"], + [240, "rename"], + [241, "contract_address_to_felt252"], + [242, "store_local>"], + [243, "struct_construct, Array, Unit>>"], + [ + 244, + "enum_init, core::array::Array::, ())>, 0>" + ], + [ + 245, + "store_temp, core::array::Array::, ())>>" + ], + [ + 246, + "enum_init, core::array::Array::, ())>, 1>" + ], + [ + 247, + "struct_construct, u32, felt252, StorageBaseAddress, u8, core::result::Result::<(), core::array::Array::>>>" + ], + [ + 248, + "enum_init, core::integer::u32, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>, 0>" + ], + [ + 249, + "store_temp, core::integer::u32, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>>" + ], + [250, "dup"], + [251, "dup"], + [252, "const_as_immediate>"], + [253, "u32_overflowing_sub"], + [254, "const_as_immediate>"], + [255, "u8_overflowing_add"], + [256, "felt252_add"], + [ + 257, + "function_call>" + ], + [ + 258, + "enum_init, core::integer::u32, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>, 1>" + ], + [259, "const_as_immediate>"], + [ + 260, + "struct_construct, felt252, StorageBaseAddress, u8, core::result::Result::<(), core::array::Array::>>>" + ], + [ + 261, + "enum_init, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>, 0>" + ], + [ + 262, + "store_temp, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>>" + ], + [ + 263, + "enum_init, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>, 1>" + ], + [264, "const_as_immediate>"], + [265, "const_as_immediate>"], + [266, "const_as_immediate>"] + ], + "user_func_names": [ + [0, "test::ByteArrayStorage::__wrapper__ByteArrayStorageImpl__store_message"], + [1, "test::ByteArrayStorage::__wrapper__ByteArrayStorageImpl__store_message_noevent"], + [2, "test::ByteArrayStorage::__wrapper__ByteArrayStorageImpl__read_message"], + [3, "test::ByteArrayStorage::__wrapper__constructor"], + [4, "core::byte_array::ByteArraySerde::deserialize"], + [ + 5, + "core::panic_with_const_felt252::<7733229381460288120802334208475838166080759535023995805565484692595>" + ], + [6, "test::ByteArrayStorage::ByteArrayStorageImpl::store_message"], + [7, "core::panic_with_const_felt252::<375233589013918064796019>"], + [ + 8, + "core::panic_with_const_felt252::<485748461484230571791265682659113160264223489397539653310998840191492913>" + ], + [9, "test::ByteArrayStorage::ByteArrayStorageImpl::store_message_noevent"], + [10, "core::starknet::storage_access::inner_read_byte_array"], + [ + 11, + "core::array::serialize_array_helper::, core::bytes_31::bytes31Drop>" + ], + [12, "core::starknet::storage_access::inner_write_byte_array"], + [ + 13, + "core::array::deserialize_array_helper::, core::bytes_31::bytes31Drop>" + ], + [14, "core::array::ArrayTCloneImpl::clone[120-295]"], + [15, "test::ByteArrayStorage::EventIsEvent::append_keys_and_data"], + [16, "core::starknet::storage_access::inner_read_byte_array[877-1878]"], + [17, "core::starknet::storage_access::inner_write_byte_array[634-1476]"], + [18, "core::panic_with_const_felt252::<155785504323917466144735657540098748279>"], + [19, "core::panic_with_const_felt252::<155785504327651875780457110017927835511>"], + [20, "core::panic_with_const_felt252::<155785504329508738615720351733824384887>"] + ] + }, + "contract_class_version": "0.1.0", + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x1da63b59301ee5ecc21ae66283214635ef5b8812c334e39b8d64222bfc93ac9", + "function_idx": 2 + }, + { + "selector": "0x3c55b80f2216c33a42e9864f4cc60be0e2d0f73a0067b7af50aaa02580ae5fd", + "function_idx": 1 + }, + { + "selector": "0x3d0f6d51c6c5ddfb0a1488ae35943ccb6257d82b19fa55ee953045b23dc4360", + "function_idx": 0 + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [ + { + "selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194", + "function_idx": 3 + } + ] + }, + "abi": [ + { "type": "impl", "name": "ByteArrayStorageImpl", "interface_name": "test::IByteArrayStorage" }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { "name": "data", "type": "core::array::Array::" }, + { "name": "pending_word", "type": "core::felt252" }, + { "name": "pending_word_len", "type": "core::integer::u32" } + ] + }, + { + "type": "interface", + "name": "test::IByteArrayStorage", + "items": [ + { + "type": "function", + "name": "store_message", + "inputs": [{ "name": "message", "type": "core::byte_array::ByteArray" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "store_message_noevent", + "inputs": [{ "name": "message", "type": "core::byte_array::ByteArray" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_message", + "inputs": [], + "outputs": [{ "type": "core::byte_array::ByteArray" }], + "state_mutability": "view" + } + ] + }, + { "type": "constructor", "name": "constructor", "inputs": [] }, + { + "type": "event", + "name": "test::ByteArrayStorage::MessageStored", + "kind": "struct", + "members": [ + { + "name": "caller", + "type": "core::starknet::contract_address::ContractAddress", + "kind": "data" + }, + { "name": "message", "type": "core::byte_array::ByteArray", "kind": "data" } + ] + }, + { + "type": "event", + "name": "test::ByteArrayStorage::Event", + "kind": "enum", + "variants": [ + { + "name": "MessageStored", + "type": "test::ByteArrayStorage::MessageStored", + "kind": "nested" + } + ] + } + ] +} diff --git a/__mocks__/cairo/byteArray/tests/test_bytearray_storage.cairo b/__mocks__/cairo/byteArray/tests/test_bytearray_storage.cairo new file mode 100644 index 000000000..4ea87c850 --- /dev/null +++ b/__mocks__/cairo/byteArray/tests/test_bytearray_storage.cairo @@ -0,0 +1,74 @@ +use testcairo::{IByteArrayStorageDispatcher, IByteArrayStorageDispatcherTrait}; +use snforge_std::{declare, ContractClassTrait, DeclareResultTrait}; + +fn deploy_contract() -> IByteArrayStorageDispatcher { + let contract = declare("ByteArrayStorage").unwrap().contract_class(); + let constructor_calldata = array![]; + let (contract_address, _) = contract.deploy(@constructor_calldata).unwrap(); + IByteArrayStorageDispatcher { contract_address } +} + +#[test] +fn test_store_and_read_message() { + let dispatcher = deploy_contract(); + + // Store a message + let test_message: ByteArray = "Hello, Starknet!"; + dispatcher.store_message(test_message.clone()); + + // Read the message back + let stored_message = dispatcher.read_message(); + + // Verify the message is correct + assert!(stored_message == test_message, "Message should match"); +} + +#[test] +fn test_store_empty_message() { + let dispatcher = deploy_contract(); + + // Store an empty message + let empty_message: ByteArray = ""; + dispatcher.store_message(empty_message.clone()); + + // Read the message back + let stored_message = dispatcher.read_message(); + + // Verify the message is correct + assert!(stored_message == empty_message, "Empty message should match"); +} + +#[test] +fn test_store_long_message() { + let dispatcher = deploy_contract(); + + // Store a long message (more than 31 characters) + let long_message: ByteArray = "This is a very long message that contains more than 31 characters to test ByteArray functionality properly!"; + dispatcher.store_message(long_message.clone()); + + // Read the message back + let stored_message = dispatcher.read_message(); + + // Verify the message is correct + assert!(stored_message == long_message, "Long message should match"); +} + +#[test] +fn test_overwrite_message() { + let dispatcher = deploy_contract(); + + // Store first message + let first_message: ByteArray = "First message"; + dispatcher.store_message(first_message.clone()); + + // Store second message (should overwrite first) + let second_message: ByteArray = "Second message"; + dispatcher.store_message(second_message.clone()); + + // Read the message back + let stored_message = dispatcher.read_message(); + + // Verify only the second message is stored + assert!(stored_message == second_message, "Should store second message"); + assert!(stored_message != first_message, "First message should be overwritten"); +} \ No newline at end of file diff --git a/__mocks__/cairo/cairo2100/deployer.cairo.md b/__mocks__/cairo/cairo2100/deployer.cairo.md new file mode 100644 index 000000000..476a61061 --- /dev/null +++ b/__mocks__/cairo/cairo2100/deployer.cairo.md @@ -0,0 +1 @@ +Cairo source : https://github.com/OpenZeppelin/cairo-contracts/blob/v2.0.0/packages/presets/src/universal_deployer.cairo diff --git a/__mocks__/cairo/cairo2100/deployer.casm b/__mocks__/cairo/cairo2100/deployer.casm new file mode 100644 index 000000000..b56289510 --- /dev/null +++ b/__mocks__/cairo/cairo2100/deployer.casm @@ -0,0 +1,1714 @@ +{ + "bytecode": [ + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xfffffffffffffffffffffffffffff3e4", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xfc", + "0x4825800180007ffa", + "0xc1c", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48127ffe7fff8000", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480280007ffc8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xd1", + "0x48127ffb7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffd", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff37ffc", + "0x480080017ff27ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff17ffd", + "0x10780017fff7fff", + "0xbc", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffc", + "0x480080007ff47ffd", + "0x480080017ff37ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff27ffe", + "0x482480017ff28000", + "0x3", + "0x48127ff97fff8000", + "0x48307ff480007ff5", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa0", + "0x482480017ff38000", + "0x1", + "0x48127ff37fff8000", + "0x48127ffc7fff8000", + "0x480080007ff08000", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x8a", + "0x480080007ffb8000", + "0x48127ffc7fff8000", + "0x482480017ff98000", + "0x1", + "0x48127ff97fff8000", + "0x20680017fff7ffc", + "0x7", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x10780017fff7fff", + "0x6", + "0x482480017ffd8000", + "0x64", + "0x480680017fff8000", + "0x0", + "0x48127ff27fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x1bc", + "0x20680017fff7ffa", + "0x69", + "0x48127fd57fff8000", + "0x20680017fff7ffc", + "0x5a", + "0x48127fff7fff8000", + "0x48307ff980007ffa", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xe", + "0x1104800180018000", + "0x25c", + "0x480a7ff87fff8000", + "0x48127fef7fff8000", + "0x482480017ff68000", + "0x55a", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3ad", + "0x482480017fff8000", + "0x3ac", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0xac8a", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ffb", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fec7fff", + "0x10780017fff7fff", + "0x2b", + "0x48307ffe80007ffb", + "0x400080007fed7fff", + "0x480680017fff8000", + "0x1", + "0x482480017fec8000", + "0x1", + "0x48127ffd7fff8000", + "0x480a7ff87fff8000", + "0x480a7ffb7fff8000", + "0x48127fb17fff8000", + "0x48127fbd7fff8000", + "0x48307fc380007ff9", + "0x48127fea7fff8000", + "0x48127fea7fff8000", + "0x1104800180018000", + "0x23a", + "0x20680017fff7ffd", + "0xf", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ffe", + "0x48127ffa7fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0xc8", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x2cd", + "0x480a7ff87fff8000", + "0x482480017fe58000", + "0x1", + "0x48127ff17fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x2ca", + "0x480a7ff87fff8000", + "0x48127ff17fff8000", + "0x482480017ff78000", + "0x686", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x48127ff87fff8000", + "0x482480017fd38000", + "0xa0a", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x2bd", + "0x480a7ff87fff8000", + "0x48127ff17fff8000", + "0x482480017ff58000", + "0x1fb8", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x2ba", + "0x480a7ff87fff8000", + "0x48127ff67fff8000", + "0x482480017ff68000", + "0x2210", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff18000", + "0x3", + "0x482480017ff88000", + "0x2210", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x272e", + "0x1104800180018000", + "0x2ae", + "0x480a7ff87fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x27f", + "0x480a7ff87fff8000", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1fc2", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xfffffffffffffffffffffffffffff3e4", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xfc", + "0x4825800180007ffa", + "0xc1c", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48127ffe7fff8000", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480280007ffc8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xd1", + "0x48127ffb7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffd", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff37ffc", + "0x480080017ff27ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff17ffd", + "0x10780017fff7fff", + "0xbc", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffc", + "0x480080007ff47ffd", + "0x480080017ff37ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff27ffe", + "0x482480017ff28000", + "0x3", + "0x48127ff97fff8000", + "0x48307ff480007ff5", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa0", + "0x482480017ff38000", + "0x1", + "0x48127ff37fff8000", + "0x48127ffc7fff8000", + "0x480080007ff08000", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x8a", + "0x480080007ffb8000", + "0x48127ffc7fff8000", + "0x482480017ff98000", + "0x1", + "0x48127ff97fff8000", + "0x20680017fff7ffc", + "0x7", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x10780017fff7fff", + "0x6", + "0x482480017ffd8000", + "0x64", + "0x480680017fff8000", + "0x0", + "0x48127ff27fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0xae", + "0x20680017fff7ffa", + "0x69", + "0x48127fd57fff8000", + "0x20680017fff7ffc", + "0x5a", + "0x48127fff7fff8000", + "0x48307ff980007ffa", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xe", + "0x1104800180018000", + "0x14e", + "0x480a7ff87fff8000", + "0x48127fef7fff8000", + "0x482480017ff68000", + "0x55a", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x29f", + "0x482480017fff8000", + "0x29e", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0xac8a", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ffb", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fec7fff", + "0x10780017fff7fff", + "0x2b", + "0x48307ffe80007ffb", + "0x400080007fed7fff", + "0x480680017fff8000", + "0x1", + "0x482480017fec8000", + "0x1", + "0x48127ffd7fff8000", + "0x480a7ff87fff8000", + "0x480a7ffb7fff8000", + "0x48127fb17fff8000", + "0x48127fbd7fff8000", + "0x48307fc380007ff9", + "0x48127fea7fff8000", + "0x48127fea7fff8000", + "0x1104800180018000", + "0x12c", + "0x20680017fff7ffd", + "0xf", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ffe", + "0x48127ffa7fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0xc8", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1bf", + "0x480a7ff87fff8000", + "0x482480017fe58000", + "0x1", + "0x48127ff17fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1bc", + "0x480a7ff87fff8000", + "0x48127ff17fff8000", + "0x482480017ff78000", + "0x686", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x48127ff87fff8000", + "0x482480017fd38000", + "0xa0a", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1af", + "0x480a7ff87fff8000", + "0x48127ff17fff8000", + "0x482480017ff58000", + "0x1fb8", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1ac", + "0x480a7ff87fff8000", + "0x48127ff67fff8000", + "0x482480017ff68000", + "0x2210", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff18000", + "0x3", + "0x482480017ff88000", + "0x2210", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x272e", + "0x1104800180018000", + "0x1a0", + "0x480a7ff87fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x171", + "0x480a7ff87fff8000", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1fc2", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0x8c", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffe", + "0x100000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480280007ffb7fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000ffffffff", + "0x480280017ffb7fff", + "0x400280027ffb7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x6c", + "0x402780017fff7fff", + "0x1", + "0x400280007ffb7ffe", + "0x482480017ffe8000", + "0xffffffffffffffffffffffff00000000", + "0x400280017ffb7fff", + "0x480680017fff8000", + "0x0", + "0x48307ff880007ff9", + "0x48307ffb7ffe8000", + "0xa0680017fff8000", + "0x8", + "0x482480017ffd8000", + "0x1", + "0x48307fff80007ffd", + "0x400280027ffb7fff", + "0x10780017fff7fff", + "0x49", + "0x48307ffe80007ffd", + "0x400280027ffb7fff", + "0x48307ff480007ff5", + "0x48307ffa7ff38000", + "0x48307ffb7ff28000", + "0x48307ff580017ffd", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280037ffb7fff", + "0x10780017fff7fff", + "0x2b", + "0x400280037ffb7fff", + "0x48307fef80007ff0", + "0x48307ffe7ff28000", + "0xa0680017fff8000", + "0x8", + "0x482480017ffd8000", + "0x1", + "0x48307fff80007ffd", + "0x400280047ffb7fff", + "0x10780017fff7fff", + "0x11", + "0x48307ffe80007ffd", + "0x400280047ffb7fff", + "0x40780017fff7fff", + "0x7", + "0x482680017ffb8000", + "0x5", + "0x480680017fff8000", + "0x0", + "0x48307fe67fe28000", + "0x48307ff37fe18000", + "0x480680017fff8000", + "0x0", + "0x48127fec7fff8000", + "0x48127fec7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x132", + "0x482680017ffb8000", + "0x5", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x4", + "0x1104800180018000", + "0x12a", + "0x482680017ffb8000", + "0x4", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x9", + "0x1104800180018000", + "0x110", + "0x482680017ffb8000", + "0x3", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x10", + "0x482680017ffb8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x48127fe27fff8000", + "0x48127fe27fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x18", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127fe27fff8000", + "0x48127fe27fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x3", + "0x480680017fff8000", + "0x476574457865637574696f6e496e666f", + "0x400280007ff87fff", + "0x400380017ff87ff6", + "0x480280037ff88000", + "0x20680017fff7fff", + "0x94", + "0x480280027ff88000", + "0x480280047ff88000", + "0x482680017ff88000", + "0x5", + "0x48127ffd7fff8000", + "0x480080027ffd8000", + "0x20780017fff7ffb", + "0xf", + "0x1104800180018000", + "0x143", + "0x482480017fff8000", + "0x142", + "0x480080007fff8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0x0", + "0x48307fff7ff88000", + "0x480a7ff77fff8000", + "0x480a7ffa7fff8000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x6", + "0x400280007ff77ff9", + "0x400380017ff77ffa", + "0x482480017ff88000", + "0x154", + "0x482680017ff78000", + "0x3", + "0x480280027ff78000", + "0x480680017fff8000", + "0x1", + "0x48287ffb80007fff", + "0x40137ffc7fff8002", + "0x480680017fff8000", + "0x4465706c6f79", + "0x400080007ff17fff", + "0x400080017ff17ffa", + "0x400180027ff17ff9", + "0x400080037ff17ffc", + "0x400180047ff17ffc", + "0x400180057ff17ffd", + "0x400080067ff17ffe", + "0x480080087ff18000", + "0x20680017fff7fff", + "0x5a", + "0x480080077ff08000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x400180097fed8001", + "0x480680017fff8000", + "0x0", + "0x480a80017fff8000", + "0x48127fed7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480a7ffa7fff8000", + "0x48127ff57fff8000", + "0x480680017fff8000", + "0x26b160f10156dea0639bec90696772c640b9706a47f5b8c52ea1abe5858b34d", + "0x400080007ff47fff", + "0x480a7ff57fff8000", + "0x48127ffd7fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127feb7fff8000", + "0x482480017fea8000", + "0x1", + "0x48127fea7fff8000", + "0x48127fe97fff8000", + "0x402580017fd68000", + "0xc", + "0x1104800180018000", + "0x93", + "0x20680017fff7ffb", + "0x23", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x4002800080007fff", + "0x4002800180007ffe", + "0x4002800280007ffa", + "0x4002800380007ffb", + "0x4002800480007ffc", + "0x4002800580007ffd", + "0x4802800780008000", + "0x20680017fff7fff", + "0xf", + "0x4802800680008000", + "0x48127ff57fff8000", + "0x482480017ffe8000", + "0x1f4", + "0x480a80027fff8000", + "0x4826800180008000", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480a80017fff8000", + "0x208b7fff7fff7ffe", + "0x4802800680008000", + "0x48127fff7fff8000", + "0x4826800180008000", + "0xa", + "0x4802800880008000", + "0x4802800980008000", + "0x10780017fff7fff", + "0x9", + "0x40780017fff7fff", + "0x4", + "0x482480017ff68000", + "0x2b34", + "0x480a80007fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff17fff8000", + "0x48127ffb7fff8000", + "0x480a80027fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480080077ff08000", + "0x480a7ff57fff8000", + "0x482480017ffe8000", + "0x4b32", + "0x480a80027fff8000", + "0x482480017fec8000", + "0xb", + "0x480680017fff8000", + "0x1", + "0x480080097fea8000", + "0x4800800a7fe98000", + "0x208b7fff7fff7ffe", + "0x480280027ff88000", + "0x1104800180018000", + "0xb8", + "0x482480017fff8000", + "0xb7", + "0x480080007fff8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0x7b34", + "0x480a7ff57fff8000", + "0x48307ffe7ff88000", + "0x480a7ff77fff8000", + "0x482680017ff88000", + "0x6", + "0x480680017fff8000", + "0x1", + "0x480280047ff88000", + "0x480280057ff88000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202334", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202333", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202332", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202331", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e646578206f7574206f6620626f756e6473", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x400380007ffd7ff3", + "0x400380017ffd7ff4", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x2", + "0x20780017fff7ff5", + "0x7", + "0x480a7ff27fff8000", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x6", + "0x482680017ff28000", + "0x64", + "0x480680017fff8000", + "0x1", + "0x400080007ffd7fff", + "0x400180017ffd7ff6", + "0x48297ff780007ff8", + "0x400080027ffc7fff", + "0x480a7ff17fff8000", + "0x48127ffc7fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x3", + "0x1104800180018000", + "0x1b", + "0x20680017fff7ffd", + "0xd", + "0x400180007fff7ff9", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff97fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x482480017ffb8000", + "0x64", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff98000", + "0xfffffffffffffffffffffffffffff916", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x22", + "0x4825800180007ff9", + "0x6ea", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48127ffe7fff8000", + "0x48297ffa80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xf", + "0x480280007ffa8000", + "0x400280007ffd7fff", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x482680017ffa8000", + "0x1", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe5", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x482480017ffd8000", + "0x816", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff65", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe" + ], + "bytecode_segment_lengths": [ + 270, + 270, + 173, + 9, + 174, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 54, + 49 + ], + "compiler_version": "2.10.0", + "entry_points_by_type": { + "CONSTRUCTOR": [], + "EXTERNAL": [ + { + "builtins": [ + "pedersen", + "range_check" + ], + "offset": 270, + "selector": "0x1987cbd17808b9a23693d4de7e246a443cfe37e6e7fbaeabd7d7e6532b07c3d" + }, + { + "builtins": [ + "pedersen", + "range_check" + ], + "offset": 0, + "selector": "0x2730079d734ee55315f4f141eaed376bddd8c2133523d223a344c5604e0f7f8" + } + ], + "L1_HANDLER": [] + }, + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "dst": { + "offset": 0, + "register": "AP" + }, + "lhs": { + "Immediate": "0xc1c" + }, + "rhs": { + "Deref": { + "offset": -6, + "register": "FP" + } + } + } + } + ] + ], + [ + 37, + [ + { + "TestLessThan": { + "dst": { + "offset": 4, + "register": "AP" + }, + "lhs": { + "Deref": { + "offset": -2, + "register": "AP" + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + } + } + } + ] + ], + [ + 41, + [ + { + "LinearSplit": { + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "value": { + "Deref": { + "offset": 3, + "register": "AP" + } + }, + "x": { + "offset": -2, + "register": "AP" + }, + "y": { + "offset": -1, + "register": "AP" + } + } + } + ] + ], + [ + 51, + [ + { + "LinearSplit": { + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "value": { + "Deref": { + "offset": -3, + "register": "AP" + } + }, + "x": { + "offset": -1, + "register": "AP" + }, + "y": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 130, + [ + { + "TestLessThanOrEqual": { + "dst": { + "offset": 0, + "register": "AP" + }, + "lhs": { + "Deref": { + "offset": -1, + "register": "AP" + } + }, + "rhs": { + "Deref": { + "offset": -4, + "register": "AP" + } + } + } + } + ] + ], + [ + 156, + [ + { + "AllocSegment": { + "dst": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 270, + [ + { + "TestLessThanOrEqual": { + "dst": { + "offset": 0, + "register": "AP" + }, + "lhs": { + "Immediate": "0xc1c" + }, + "rhs": { + "Deref": { + "offset": -6, + "register": "FP" + } + } + } + } + ] + ], + [ + 307, + [ + { + "TestLessThan": { + "dst": { + "offset": 4, + "register": "AP" + }, + "lhs": { + "Deref": { + "offset": -2, + "register": "AP" + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + } + } + } + ] + ], + [ + 311, + [ + { + "LinearSplit": { + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "value": { + "Deref": { + "offset": 3, + "register": "AP" + } + }, + "x": { + "offset": -2, + "register": "AP" + }, + "y": { + "offset": -1, + "register": "AP" + } + } + } + ] + ], + [ + 321, + [ + { + "LinearSplit": { + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "value": { + "Deref": { + "offset": -3, + "register": "AP" + } + }, + "x": { + "offset": -1, + "register": "AP" + }, + "y": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 400, + [ + { + "TestLessThanOrEqual": { + "dst": { + "offset": 0, + "register": "AP" + }, + "lhs": { + "Deref": { + "offset": -1, + "register": "AP" + } + }, + "rhs": { + "Deref": { + "offset": -4, + "register": "AP" + } + } + } + } + ] + ], + [ + 426, + [ + { + "AllocSegment": { + "dst": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 562, + [ + { + "TestLessThan": { + "dst": { + "offset": 0, + "register": "AP" + }, + "lhs": { + "BinOp": { + "a": { + "offset": -1, + "register": "AP" + }, + "b": { + "Immediate": "0x0" + }, + "op": "Add" + } + }, + "rhs": { + "Immediate": "0x100000000" + } + } + } + ] + ], + [ + 566, + [ + { + "LinearSplit": { + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "scalar": { + "Immediate": "0x8000000000000110000000000000000" + }, + "value": { + "Deref": { + "offset": -1, + "register": "AP" + } + }, + "x": { + "offset": 0, + "register": "AP" + }, + "y": { + "offset": 1, + "register": "AP" + } + } + } + ] + ], + [ + 588, + [ + { + "TestLessThanOrEqual": { + "dst": { + "offset": 0, + "register": "AP" + }, + "lhs": { + "Deref": { + "offset": -1, + "register": "AP" + } + }, + "rhs": { + "Deref": { + "offset": -2, + "register": "AP" + } + } + } + } + ] + ], + [ + 602, + [ + { + "TestLessThan": { + "dst": { + "offset": -1, + "register": "AP" + }, + "lhs": { + "Deref": { + "offset": 0, + "register": "AP" + } + }, + "rhs": { + "Immediate": "0x100000000" + } + } + } + ] + ], + [ + 612, + [ + { + "TestLessThanOrEqual": { + "dst": { + "offset": 0, + "register": "AP" + }, + "lhs": { + "Deref": { + "offset": -1, + "register": "AP" + } + }, + "rhs": { + "Deref": { + "offset": -2, + "register": "AP" + } + } + } + } + ] + ], + [ + 713, + [ + { + "AllocSegment": { + "dst": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 728, + [ + { + "SystemCall": { + "system": { + "Deref": { + "offset": -8, + "register": "FP" + } + } + } + } + ] + ], + [ + 774, + [ + { + "SystemCall": { + "system": { + "Deref": { + "offset": -15, + "register": "AP" + } + } + } + } + ] + ], + [ + 778, + [ + { + "AllocSegment": { + "dst": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 780, + [ + { + "AllocSegment": { + "dst": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 825, + [ + { + "SystemCall": { + "system": { + "Deref": { + "offset": 0, + "register": "FP" + } + } + } + } + ] + ], + [ + 896, + [ + { + "AllocSegment": { + "dst": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 905, + [ + { + "AllocSegment": { + "dst": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 914, + [ + { + "AllocSegment": { + "dst": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 923, + [ + { + "AllocSegment": { + "dst": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 932, + [ + { + "AllocSegment": { + "dst": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 941, + [ + { + "AllocSegment": { + "dst": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 950, + [ + { + "AllocSegment": { + "dst": { + "offset": 0, + "register": "AP" + } + } + } + ] + ], + [ + 1013, + [ + { + "TestLessThanOrEqual": { + "dst": { + "offset": 0, + "register": "AP" + }, + "lhs": { + "Immediate": "0x6ea" + }, + "rhs": { + "Deref": { + "offset": -7, + "register": "FP" + } + } + } + } + ] + ] + ], + "prime": "0x800000000000011000000000000000000000000000000000000000000000001" +} \ No newline at end of file diff --git a/__mocks__/cairo/cairo2100/deployer.sierra.json b/__mocks__/cairo/cairo2100/deployer.sierra.json new file mode 100644 index 000000000..a6c441e3d --- /dev/null +++ b/__mocks__/cairo/cairo2100/deployer.sierra.json @@ -0,0 +1,819 @@ +{ + "abi": [ + { + "type": "impl", + "name": "UniversalDeployerImpl", + "interface_name": "openzeppelin_utils::deployments::interface::UniversalDeployerABI" + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "interface", + "name": "openzeppelin_utils::deployments::interface::UniversalDeployerABI", + "items": [ + { + "type": "function", + "name": "deploy_contract", + "inputs": [ + { + "name": "class_hash", + "type": "core::starknet::class_hash::ClassHash" + }, + { + "name": "salt", + "type": "core::felt252" + }, + { + "name": "not_from_zero", + "type": "core::bool" + }, + { + "name": "calldata", + "type": "core::array::Span::" + } + ], + "outputs": [ + { + "type": "core::starknet::contract_address::ContractAddress" + } + ], + "state_mutability": "external" + }, + { + "type": "function", + "name": "deployContract", + "inputs": [ + { + "name": "classHash", + "type": "core::starknet::class_hash::ClassHash" + }, + { + "name": "salt", + "type": "core::felt252" + }, + { + "name": "notFromZero", + "type": "core::bool" + }, + { + "name": "calldata", + "type": "core::array::Span::" + } + ], + "outputs": [ + { + "type": "core::starknet::contract_address::ContractAddress" + } + ], + "state_mutability": "external" + } + ] + }, + { + "type": "event", + "name": "openzeppelin_presets::universal_deployer::UniversalDeployer::ContractDeployed", + "kind": "struct", + "members": [ + { + "name": "address", + "type": "core::starknet::contract_address::ContractAddress", + "kind": "data" + }, + { + "name": "deployer", + "type": "core::starknet::contract_address::ContractAddress", + "kind": "data" + }, + { + "name": "not_from_zero", + "type": "core::bool", + "kind": "data" + }, + { + "name": "class_hash", + "type": "core::starknet::class_hash::ClassHash", + "kind": "data" + }, + { + "name": "calldata", + "type": "core::array::Span::", + "kind": "data" + }, + { + "name": "salt", + "type": "core::felt252", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "openzeppelin_presets::universal_deployer::UniversalDeployer::Event", + "kind": "enum", + "variants": [ + { + "name": "ContractDeployed", + "type": "openzeppelin_presets::universal_deployer::UniversalDeployer::ContractDeployed", + "kind": "nested" + } + ] + } + ], + "contract_class_version": "0.1.0", + "entry_points_by_type": { + "CONSTRUCTOR": [], + "EXTERNAL": [ + { + "function_idx": 1, + "selector": "0x1987cbd17808b9a23693d4de7e246a443cfe37e6e7fbaeabd7d7e6532b07c3d" + }, + { + "function_idx": 0, + "selector": "0x2730079d734ee55315f4f141eaed376bddd8c2133523d223a344c5604e0f7f8" + } + ], + "L1_HANDLER": [] + }, + "sierra_program": [ + "0x1", + "0x7", + "0x0", + "0x2", + "0xb", + "0x4", + "0x147", + "0xb9", + "0x3e", + "0x52616e6765436865636b", + "0x800000000000000100000000000000000000000000000000", + "0x456e756d", + "0x800000000000000700000000000000000000000000000001", + "0x0", + "0x1e7cc030b6a62e51219c7055ff773a8dff8fb71637d893064207dc67ba74304", + "0x4172726179", + "0x800000000000000300000000000000000000000000000001", + "0x1", + "0x19", + "0x537472756374", + "0x800000000000000f00000000000000000000000000000001", + "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", + "0x800000000000000300000000000000000000000000000003", + "0x2", + "0x3", + "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", + "0x5", + "0x74584e9f10ffb1a40aa5a3582e203f6758defc4a497d1a2d5a89f274a320e9", + "0x4", + "0x6", + "0x436f6e7374", + "0x800000000000000000000000000000000000000000000002", + "0x7533325f737562204f766572666c6f77", + "0x496e646578206f7574206f6620626f756e6473", + "0x4661696c656420746f20646573657269616c697a6520706172616d202331", + "0x4661696c656420746f20646573657269616c697a6520706172616d202332", + "0x4661696c656420746f20646573657269616c697a6520706172616d202333", + "0x4661696c656420746f20646573657269616c697a6520706172616d202334", + "0x4f7574206f6620676173", + "0x800000000000000300000000000000000000000000000004", + "0x104eb68e98232f2362ae8fd62c9465a5910d805fa88b305d1f7721b8727f04", + "0x11", + "0x26b160f10156dea0639bec90696772c640b9706a47f5b8c52ea1abe5858b34d", + "0x436f6e747261637441646472657373", + "0x800000000000000700000000000000000000000000000000", + "0x800000000000000700000000000000000000000000000003", + "0x3288d594b9a45d15bb2fcb7903f06cdb06b27f0ba88186ec4cfaa98307cb972", + "0x436c61737348617368", + "0x536e617073686f74", + "0x800000000000000700000000000000000000000000000002", + "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", + "0x17", + "0x66656c74323532", + "0x800000000000000700000000000000000000000000000007", + "0x338d16334c0a706762ef0d355ecb050a48247cf99a25c012de083e3cf0ea3ec", + "0x14", + "0x15", + "0x16", + "0x18", + "0xabd7a88fd677970dc688769a74ab341a2e1e229d10e8d3b1aee50c9246944e", + "0x1a", + "0x426f78", + "0x23", + "0x25", + "0x75313238", + "0x26", + "0x1f", + "0x1597b831feeb60c71f259624b79cf66995ea4f7e383403583674ab9c33b9cec", + "0x20", + "0x753332", + "0x80000000000000070000000000000000000000000000000e", + "0x348a62b7a38c0673e61e888d83a3ac1bf334ee7361a8514593d3d9532ed8b39", + "0x1e", + "0x21", + "0x22", + "0x753634", + "0x800000000000000700000000000000000000000000000004", + "0x3808c701a5d13e100ab11b6c02f91f752ecae7e420d21b56c90ec0a475cc7e5", + "0x24", + "0x3342418ef16b3e2799b906b1e4e89dbb9b111332dd44f72458ce44f9895b508", + "0x800000000000000700000000000000000000000000000006", + "0x7d4d99e9ed8d285b5c61b493cedb63976bc3d9da867933d829f49ce838b5e7", + "0x1d", + "0x1c", + "0x27", + "0x506564657273656e", + "0x556e696e697469616c697a6564", + "0x800000000000000200000000000000000000000000000001", + "0x29", + "0x53797374656d", + "0x2c", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", + "0x30", + "0x1038fccf15d21489c6c5fde4ab0b72cb01c02bf8242be2b91673ec10fe4465f", + "0x33", + "0x33a29af9d9e7616713f5d76fbf2bc710ab5b2784a16ba7d30515dd65ef5143a", + "0x34", + "0x4275696c74696e436f737473", + "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", + "0x32", + "0x1d49f7a4b277bf7b55a2664ce8cef5d6922b5ffb806b89644b9e0cdbbcac378", + "0x38", + "0x13fdd7105045794a99550ae1c4ac13faa62610dfab62c16422bfcf5803baa6e", + "0x39", + "0x4e6f6e5a65726f", + "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", + "0x4761734275696c74696e", + "0xa5", + "0x7265766f6b655f61705f747261636b696e67", + "0x77697468647261775f676173", + "0x6272616e63685f616c69676e", + "0x72656465706f7369745f676173", + "0x7374727563745f6465636f6e737472756374", + "0x656e61626c655f61705f747261636b696e67", + "0x73746f72655f74656d70", + "0x3d", + "0x61727261795f736e617073686f745f706f705f66726f6e74", + "0x756e626f78", + "0x72656e616d65", + "0x656e756d5f696e6974", + "0x3c", + "0x6a756d70", + "0x7374727563745f636f6e737472756374", + "0x656e756d5f6d61746368", + "0x64697361626c655f61705f747261636b696e67", + "0x636c6173735f686173685f7472795f66726f6d5f66656c74323532", + "0x66656c743235325f69735f7a65726f", + "0x64726f70", + "0x3b", + "0x66756e6374696f6e5f63616c6c", + "0x3a", + "0x37", + "0x6765745f6275696c74696e5f636f737473", + "0x36", + "0x77697468647261775f6761735f616c6c", + "0x626f6f6c5f6e6f745f696d706c", + "0x35", + "0x61727261795f6e6577", + "0x636f6e74726163745f616464726573735f746f5f66656c74323532", + "0x61727261795f617070656e64", + "0x736e617073686f745f74616b65", + "0x7", + "0x8", + "0x9", + "0x31", + "0x647570", + "0x7533325f7472795f66726f6d5f66656c74323532", + "0x636f6e73745f61735f696d6d656469617465", + "0x2f", + "0x61727261795f736c696365", + "0x61727261795f6c656e", + "0x7533325f6f766572666c6f77696e675f737562", + "0xa", + "0xb", + "0x2e", + "0x616c6c6f635f6c6f63616c", + "0x66696e616c697a655f6c6f63616c73", + "0x6765745f657865637574696f6e5f696e666f5f76325f73797363616c6c", + "0x28", + "0x706564657273656e", + "0x73746f72655f6c6f63616c", + "0x6465706c6f795f73797363616c6c", + "0x1b", + "0x13", + "0xc", + "0x12", + "0x656d69745f6576656e745f73797363616c6c", + "0x2d", + "0x2b", + "0x2a", + "0x10", + "0xf", + "0xe", + "0xd", + "0x636c6173735f686173685f746f5f66656c74323532", + "0x7533325f746f5f66656c74323532", + "0x3c8", + "0xffffffffffffffff", + "0xee", + "0xdf", + "0xd9", + "0xcd", + "0xc0", + "0x44", + "0xb3", + "0xa3", + "0x3f", + "0x40", + "0x41", + "0x63", + "0x42", + "0x43", + "0x45", + "0x46", + "0x47", + "0x48", + "0x49", + "0x94", + "0x4a", + "0x4b", + "0x4c", + "0x4d", + "0x4e", + "0x4f", + "0x50", + "0x51", + "0x52", + "0x53", + "0x54", + "0x8b", + "0x55", + "0x56", + "0x57", + "0x58", + "0x59", + "0x5a", + "0x5b", + "0x5c", + "0x5d", + "0x5e", + "0x5f", + "0x60", + "0x61", + "0x62", + "0x64", + "0x65", + "0x66", + "0x67", + "0x68", + "0x69", + "0x6a", + "0x6b", + "0x6c", + "0x6d", + "0x6e", + "0x6f", + "0x70", + "0x71", + "0x72", + "0x73", + "0xe6", + "0x74", + "0x75", + "0x76", + "0x77", + "0x78", + "0x79", + "0x1e7", + "0x10b", + "0x112", + "0x1d8", + "0x1d2", + "0x1c6", + "0x1b9", + "0x136", + "0x13d", + "0x1ac", + "0x19c", + "0x15c", + "0x18d", + "0x184", + "0x1df", + "0x1f9", + "0x1fe", + "0x241", + "0x238", + "0x230", + "0x226", + "0x21f", + "0x2e9", + "0x271", + "0x27b", + "0x2d4", + "0x7a", + "0x7b", + "0x7c", + "0x2c1", + "0x7d", + "0x7e", + "0x2b8", + "0x7f", + "0x80", + "0x81", + "0x2ca", + "0x82", + "0x83", + "0x84", + "0x85", + "0x86", + "0x87", + "0x88", + "0x89", + "0x8a", + "0x8c", + "0x8d", + "0x8e", + "0x8f", + "0x90", + "0x91", + "0x92", + "0x35c", + "0x93", + "0x362", + "0x95", + "0x96", + "0x97", + "0x98", + "0x99", + "0x9a", + "0x396", + "0x9b", + "0x9c", + "0x9d", + "0x9e", + "0x9f", + "0xa0", + "0x3be", + "0x3b4", + "0xa1", + "0xa2", + "0xa4", + "0xf9", + "0x1f2", + "0x24b", + "0x253", + "0x2fd", + "0x305", + "0x30d", + "0x315", + "0x31d", + "0x325", + "0x32d", + "0x335", + "0x39f", + "0x21f2", + "0x440a0c05840120f048340a0e058340a0c058281208038180a04018080200", + "0x3c14090b858120f050242e160a8242809098141c03078242409068141c0b", + "0x5c2c1b0782812170b0681e0a0485c2c190782812170b0601e0a0485c2c05", + "0xc2009078241e09068143e0b0f03c14090b8583a0f050242e160e03c1409", + "0x105024138401210048980a250189046220782812170b0541221048800a0e", + "0xc1409190246209180245e09178245c051682c482c1582454051482c1e09", + "0xec0a29058e81204140e41208038907037048106a36048106a34048cc0a29", + "0x2480092082414090502414091902480091782414091f8147c0b120f47809", + "0x118120a0491c0a44058bc1246049181245029101624218c81242049081232", + "0x138a00927938044d260240835050245e091782496092502492052402c8009", + "0x94060a048106a050790812170b14c1e0a0485c2c520493c9c02288bc124f", + "0x141c0317824ae09068144a0b2b014180b190241a051482c20092a824a805", + "0x340a25058401232049740a2501854125c0496c0a0e01890b415049641258", + "0x1900463080241409310144a030502408610a824c0092f8141c032f0246409", + "0x1b81409049b4d809049ac0a09049ac0a6a190241269029a00a67029980a65", + "0x40120939814e47104824d62b04824d605079c4120f380281209378281209", + "0x1dc6409049ac6409049cc1409049ac0a76029d4e209049d0120f388241e70", + "0x24e80f08024f405078c0120f381e412093c0c01209358241e300483ce005", + "0x1e06009049e06409049e0aa09049e05609049e0bc09049d0c009049a4f609", + "0x24d65204824d65004824d609079f0120f3804020093d0c412093c0281209", + "0x2412740a040127a18824126b2b824127302a000a7f3f024126b029f4f809", + "0x3c12093c03c120942828120942015065704824f05904824d20a048250481", + "0x1e90c10049e82a10049e82009049e02410049e80a0f3e0241e702e0241273", + "0xac1209450241e890483ce08904824d60507a24120f3822020093d21c2009", + "0x240140904a3c140904a388409049ac840904a291a0904a300a8b448241274", + "0x3ce09108024f47b04824d605079ec120f381801209398141e5e0483ce005", + "0x1cc2409049cd260904a30120f2f0241e7049040127a2102412780483cf609", + "0x25c1209358152c054a94012094a0bc12094a14812094a0541209358541209", + "0x24126b18024128a17824127825824127825024127826024126926024126e", + "0x14012094c8c81209450c4120945015302f04825140a04825143004824e82f", + "0x24126b4d82412784d82412850283d3609079c06809049cc5e0904a640a9a", + "0x24e89d08024f45204825320f04824d63404824d69c04825189b04824e89b", + "0x1e02a09049a50209049ac0a0f408241e702c824127302a7c4209049a53c09", + "0x2518a30482518a204824f0a104824f0a004824f00907a04120f380481209", + "0x1a4680904a29220904a31240904a313a0904a314c0904a314a0904a314809", + "0x24de05538c4120937a1c1209462201209460c01209378bc1209378d01209", + "0x1ac0a0f4f0241e701082412730a024126943024127453040127a02aa06409", + "0x2181209358141e860483ce01404824e60907a78120f380d012093c2781209", + "0x21d0c0f55854240f5503c1e09078240a05550240a0502aa4120f430241e70", + "0x2a812050901522095502428090a0151009550242a09080140aaa048141e05", + "0x2793a9207aa81e9104a1c0a8804aa8128804a180a1204aa81212048540a05", + "0x2522055202554094e825100552825540944024200502aa81205078154c09", + "0x2a8129204a740a9e04aa812a504a180a2104aa812a304a480aa304aa812a4", + "0x251009080140aaa048141e05028281205528145e09550244209530153809", + "0x153c09550246009430145609550246209518146209550240aa4028c012aa", + "0x141409560c812aa078bc1221028bc12aa048ac12a602a7012aa04a98129d", + "0xd012aa048d01286028d012aa04a78121002815540902a780a05550240a0f", + "0x10012aa048d012100281554090283c0a4a04ab4969b07aa81e320903d3805", + "0x255c3c1d03d540f4e0250e05200255409200250c054d82554094d8242a05", + "0xe8129d028d812aa048f012880290812aa0490012100281554090283c0a41", + "0x3d540f1d0250e051b02554091b0245e05210255409210250c051d0255409", + "0x25c12aa048dc12880293012aa0490812100281554090283c0a3904abc6e46", + "0x1424055082554094b82522055102554092302460052802554091b0252205", + "0x28812aa04a8812310293012aa04930128602a8412aa04a84122f028155409", + "0x15480550025540926024200502aa8120507814a40936015540f508245605", + "0x2554094682414052a8255409500250c05468255409498246405498255409", + "0x25540926024200502aa81252048d00a05550240a0f02815600902a940a89", + "0x2414052a82554092e0250c052c82554092b82536052b825540902a900a5c", + "0x25449b0792c0aa204aa812a2048c40a9b04aa8129b048540a8904aa81259", + "0x2a81255048400a05550240a0f0297812b13e025540f3f02494053f2041eaa", + "0x1c412aa079e4123a0298012aa049801286029e4f60f55024f80920014c009", + "0x2180ab304aa8127b048500a0004aa81260048400a05550240a0f029b012b2", + "0x153c0502aa81205078156e095b2d5680f5503d6609438140009550240009", + "0x246c0502aa81271049080a05550256a09208140aaa04ad0123c028155409", + "0x157009550240009080140aaa0492c1237028155409280248c0502aa81289", + "0x2502090a8140a09550240a094b8157209550256009260156009550240a39", + "0x2e412aa04ae412a20284012aa04840125002ae012aa04ae0128602a0412aa", + "0x25540900024200502aa812b7048f00a05550240a0f02ae420b8408142409", + "0x4140055d82554095d824a4055d02554095d0250c055d825540902a840aba", + "0x24200502aa812054f0140aaa048141e05602fc1ebe5eaf01eaa07aed7481", + "0x2554095e0242a0561825540902a340ac204aa8128904a4c0ac104aa812bd", + "0x1540a1004aa81210049400a0504aa8120504a5c0ac104aa812c104a180abc", + "0x24e20918815840955025840905014a00955024a009178149609550249609", + "0x320125c02b218ec662b1024aa049c5845025b0c200560af11089029c412aa", + "0x2554090295c0acc04aa812c5048400a05550240a0f02b2c12ca64825540f", + "0x1f00ad004aa812cf049f80a05550259c09408159ece07aa812c9049640acd", + "0x34c123002815540969024c00569b481eaa04b44125e02b4412aa04b419a0f", + "0x255409630252e056b02554096a824f2056a82554096a024f6056a0255409", + "0x2880ac704aa812c7049400acc04aa812cc04a180ac404aa812c4048540ac6", + "0x35c12aa04b1412100281554090283c0ad663b3188c609025ac0955025ac09", + "0x250c05620255409620242a05630255409630252e056c0255409658249805", + "0x31daec46304812d804aa812d804a880ac704aa812c7049400ad704aa812d7", + "0x155409448246c0502aa81271049080a05550240a9e0281554090283c0ad8", + "0x2a81205388156c09550258009080140aaa0492c1237028155409280248c05", + "0x157e09550257e090a8140a09550240a094b815b40955025b20926015b209", + "0x2fc0a1204b6812aa04b6812a20284012aa04840125002ad812aa04ad81286", + "0x24f609210140aaa049b0126c02815540902a780a05550240a0f02b6820b6", + "0x1801210028155409258246e0502aa81250049180a055502512091b0140aaa", + "0x1412aa04814129702b7412aa04b70124c02b7012aa0481400056d8255409", + "0x25440508025540908024a0056d82554096d8250c05408255409408242a05", + "0x246e0502aa812054f0140aaa048141e056e841b6810284812dd04aa812dd", + "0x15bc0955024aa09080140aaa049401246028155409448246c0502aa8124b", + "0x378128602a0412aa04a0412150281412aa04814129702b7c12aa04978124c", + "0x37c20de4081424096f82554096f825440508025540908024a0056f0255409", + "0x1554091b0248c0502aa8124b048dc0a055502472091e0140aaa048141e05", + "0x14129702b8812aa04b84124c02b8412aa048156605700255409210242005", + "0x25540908024a005700255409700250c054d82554094d8242a05028255409", + "0x2482091e0140aaa048141e0571041c09b0284812e204aa812e204a880a10", + "0x24980572025540902ad00ae304aa81240048400a055502496091b8140aaa", + "0x2a812e304a180a9b04aa8129b048540a0504aa8120504a5c0ae504aa812e4", + "0x3c0ae50838d360509025ca0955025ca0951014200955024200928015c609", + "0x39c12aa04928121502b9812aa048d012100281554094e024780502aa81205", + "0x140aaa048153c0502aa81205078140ae9048154a05740255409730250c05", + "0x2a81212048540aea04aa8129e048400a055502538091e0140aaa04828126c", + "0x25c0aec04aa812eb049300aeb04aa812055a815d00955025d40943015ce09", + "0x24200928015d00955025d00943015ce0955025ce090a8140a09550240a09", + "0x24840502aa8120507815d8107439c0a1204bb012aa04bb012a20284012aa", + "0x3bc12aa04bb8124c02bb812aa04814e20576825540943824200502aa81214", + "0x24a005768255409768250c05430255409430242a05028255409028252e05", + "0x140aaa048140a0577841da860284812ef04aa812ef04a880a1004aa81210", + "0x22012aa0485412100281554090283c0a874303de0150903d540f078241e09", + "0x2510094301424095502424090a8140aaa0481424054882554090a0242805", + "0x2a81288048400a05550240a0f02a9812f14ea481eaa07a44128702a2012aa", + "0x144209550254609490154609550254809488154809550253a09440154a09", + "0x240aa5028bc12aa0488412a602a7012aa04a48129d02a7812aa04a941286", + "0xc412a3028c412aa04815480518025540944024200502aa81205078140af2", + "0x255409158254c054e0255409530253a054f0255409180250c05158255409", + "0x24200502aa812054f0140aaa048141e0505025e63204aa81e2f048840a2f", + "0x1494097a12d360f5503c641207a700a3404aa8123404a180a3404aa8129e", + "0x2a8124004a180a9b04aa8129b048540a4004aa81234048400a05550240a0f", + "0x25540920024200502aa812050781482097a8f0740f5503d3809438148009", + "0xbc0a4204aa8124204a180a3a04aa8123a04a740a3604aa8123c04a200a42", + "0x24200502aa812050781472097b0dc8c0f5503c7409438146c09550246c09", + "0x2a81246048c00a5004aa8123604a440a9704aa8123704a200a4c04aa81242", + "0x250c05508255409508245e0502aa81205090154209550252e09488154409", + "0x240a0f0294812f702aa81ea1048ac0aa204aa812a2048c40a4c04aa8124c", + "0x2180a8d04aa81293048c80a9304aa81205520154009550249809080140aaa", + "0x140aaa048141e0502be01205528151209550251a0905014aa09550254009", + "0x2a8125704a6c0a5704aa8120552014b809550249809080140aaa049481234", + "0x1536095502536090a815120955024b20905014aa0955024b80943014b209", + "0x25f27c04aa81e7e049280a7e4083d54095126c1e4b02a8812aa04a881231", + "0x250c053c9ec1eaa049f012400298012aa0495412100281554090283c0a5e", + "0x24c009080140aaa048141e0536025f47104aa81e79048e80a6004aa81260", + "0x2d01eaa07acc12870280012aa04800128602acc12aa049ec12140280012aa", + "0x2d412410281554095a024780502aa812054f0140aaa048141e055b825f6b5", + "0x246e0502aa81250049180a055502512091b0140aaa049c41242028155409", + "0x2e412aa04ac0124c02ac012aa0481472055c025540900024200502aa8124b", + "0x24a0055c02554095c0250c05408255409408242a05028255409028252e05", + "0x140aaa048141e055c84170810284812b904aa812b904a880a1004aa81210", + "0x2a812ba04a180abb04aa81205508157409550240009080140aaa04adc123c", + "0x3c0ac05f83df8bd5e03d540f5dae90210500157609550257609290157409", + "0x158409550251209498158209550257a09080140aaa048153c0502aa81205", + "0x240a094b81582095502582094301578095502578090a8158609550240a8d", + "0x14012aa04940122f0292c12aa0492c12550284012aa0484012500281412aa", + "0x308a04b618400ac15e2211205388255409388246205610255409610241405", + "0x140aaa048141e0565825fac904aa81ec8049700ac863b198ac4092a81271", + "0x338128102b3d9c0f5502592092c8159a09550240a5702b3012aa04b141210", + "0x3d540968824bc05688255409683341e7c02b4012aa04b3c127e028155409", + "0x1e40ad504aa812d4049ec0ad404aa812d3048c00a0555025a40930015a6d2", + "0x2598094301588095502588090a8158c09550258c094b815ac0955025aa09", + "0x15acc7663118c1204b5812aa04b5812a202b1c12aa04b1c125002b3012aa", + "0x2a812c604a5c0ad804aa812cb049300ad704aa812c5048400a05550240a0f", + "0x158e09550258e0928015ae0955025ae094301588095502588090a8158c09", + "0x140aaa048153c0502aa8120507815b0c76bb118c1204b6012aa04b6012a2", + "0x155409258246e0502aa81250049180a055502512091b0140aaa049c41242", + "0x14129702b6812aa04b64124c02b6412aa04814e2055b0255409600242005", + "0x25540908024a0055b02554095b0250c055f82554095f8242a05028255409", + "0x2a812054f0140aaa048141e056d0416cbf0284812da04aa812da04a880a10", + "0x24a009230140aaa04a2412360281554093d824840502aa8126c049b00a05", + "0x2498056e0255409028000adb04aa81260048400a055502496091b8140aaa", + "0x2a812db04a180a8104aa81281048540a0504aa8120504a5c0add04aa812dc", + "0x3c0add0836d020509025ba0955025ba0951014200955024200928015b609", + "0x248c0502aa81289048d80a055502496091b8140aaa048153c0502aa81205", + "0x255409028252e056f82554092f02498056f02554092a824200502aa81250", + "0x2880a1004aa81210049400ade04aa812de04a180a8104aa81281048540a05", + "0x140aaa048e4123c0281554090283c0adf08379020509025be0955025be09", + "0x25540902acc0ae004aa81242048400a05550246c09230140aaa0492c1237", + "0x2180a9b04aa8129b048540a0504aa8120504a5c0ae204aa812e1049300ae1", + "0x381360509025c40955025c40951014200955024200928015c00955025c009", + "0x248009080140aaa0492c123702815540920824780502aa8120507815c410", + "0x140a09550240a094b815ca0955025c80926015c809550240ab402b8c12aa", + "0x39412a20284012aa04840125002b8c12aa04b8c128602a6c12aa04a6c1215", + "0x24200502aa8129c048f00a05550240a0f02b9420e34d8142409728255409", + "0x15fc0902a940ae804aa812e604a180ae704aa8124a048540ae604aa81234", + "0x140aaa04a70123c02815540905024d80502aa812054f0140aaa048141e05", + "0x240ab502ba012aa04ba8128602b9c12aa04848121502ba812aa04a781210", + "0x39c12aa04b9c12150281412aa04814129702bb012aa04bac124c02bac12aa", + "0x14240976025540976025440508025540908024a005740255409740250c05", + "0x1c40aed04aa81287048400a05550242809210140aaa048141e0576041d0e7", + "0x2a81286048540a0504aa8120504a5c0aef04aa812ee049300aee04aa81205", + "0x25de0955025de0951014200955024200928015da0955025da09430150c09", + "0x1424097f850200f5503c1e09438141e095502412090a015de1076a180a12", + "0x2a8121504ae00a8604aa8121004a740a1504aa8121404adc0a05550240a0f", + "0x2a8128804ac00a8804aa81205520140aaa048141e0502c001205528150e09", + "0x2490c0f550250c095c8150e095502522095c0150c095502424094e8152209", + "0x2200a05550240a0f02a94130153025540f4382574054e8255409490246005", + "0x28c0a0f5d8154609550254609178154609550254809488154809550254c09", + "0x25540902af00a05550253a09210140aaa048141e054e026049e1083d540f", + "0xbc12aa048bc12bf028c53c0f550253c095e814608607aa8128604ae40a2f", + "0x2a8128604ae40a05550240a0f028281303190ac1eaa078c45e30108518005", + "0x2554094d8257e0525a781eaa04a7812bd02a6c12aa048d012c1028d10c0f", + "0x141e051e0e81f04201281eaa0792d362b083080a3204aa8123204a740a9b", + "0x24600502aa81205078146c0982908820f5503c809e4312828c0028155409", + "0x246e3907b100a3904aa81242048c00a3704aa8124604b0c0a4604aa81232", + "0x25c12aa04a5c12c60290412aa04904121502a5c12aa0493012c50293012aa", + "0x25900528025540902b1c0a055502464091e0140aaa048141e054b9041e09", + "0x3c0aa21b03c12a204aa812a204b180a3604aa81236048540aa204aa81250", + "0x3240a05550250c091e0140aaa048c8123c0281554091e025920502aa81205", + "0x2554091d0242a0529025540950825900550825540902b2c0a05550253c09", + "0x140aaa04a7812c90281554090283c0a521d03c125204aa8125204b180a3a", + "0x2a8120a048540a9304aa812a004b200aa004aa81205638140aaa04a18123c", + "0x15540943024780502aa8120507815260a078252609550252609630141409", + "0x258a054482554092aa741ec40295412aa04a3412cc02a3412aa048154805", + "0x3c0a5c4e03c125c04aa8125c04b180a9c04aa8129c048540a5c04aa81289", + "0x3300a5704aa81205520140aaa04a18123c02815540952824d80502aa81205", + "0x141215029f812aa04a0412c502a0412aa049653a0f62014b20955024ae09", + "0x240acd0281412aa04814ae053f0141e093f02554093f0258c05028255409", + "0x4012aa048159c05078255409048141e7c0282412aa04824122f0282412aa", + "0x24412aa04815a2050a024121404aa8121404b400a1404aa8120f0803d9e05", + "0x140aaa048153c0502aa812056a0154a09550240ad302a7412aa04815a405", + "0x2a812a404a180a05550240a0f028bd389e0841842a352041540f080241ed5", + "0x1462095502442096b81442095502442096b0146009550254809080154809", + "0x3680a055502464096c8140aaa048ac12b602a6c680a190ac24aa048c412d8", + "0x12d0c0f550250c096d8140aaa04814240502aa8129b049180a05550246809", + "0x25ba0505025540905025b805180255409180250c0551825540951824a005", + "0x2a81230048400a05550249409360140aaa048141e05200260e4a04aa81e4b", + "0x1042a0f550242a096f0154c09550241e094b8147809550247409430147409", + "0x15540920024d80502aa81205078140b08048154a05208255409208245e05", + "0x3780a4604aa81236049f80a360503d540905025be05210255409180242005", + "0x14780955024840943014983907aa812372303c20e0028dc2a0f550242a09", + "0x2526054ba181eaa04a1812db0290412aa04930122f02a9812aa048e41297", + "0x140120a02a850e0f550250e0971015441207aa8121204b840a5004aa81297", + "0x220a4145503ca0a120a89463c0ab900aa604aa812a65283dc605280255409", + "0x140aaa04a80124202815540902a780a05550240a0f029551a93084254092", + "0x2a812052b814b809550240a5702a2412aa0494812100294812aa049481286", + "0x490c0a2c855cc052ca481eaa04a4812df02a4812aa04a493a0f72814ae09", + "0x1f012ea02978f80f55024fc0974014fc09550250209738150209550242a87", + "0x2180a05550240a0f0298012aa0497812ec0297812aa0497812eb028155409", + "0x2a81279048bc0a7904aa8120576814f609550251209080151209550251209", + "0x1ec12aa049ec12860281412aa048141215029c412aa049e4b80f3e014f209", + "0x3e14052b82554092b825de0538825540938825de0530025540930025dc05", + "0x140aaa04814240559800d81055024ae71301ec0a12858151009550251091", + "0x261c055b825540900024200502aa81205078156a0986ad012aa07acc130c", + "0x2e8126002aed740f5502570092f0140aaa04ae4126c02ae560b8082a812b4", + "0x2fc12aa04aec12300281554095e024c0055eaf01eaa04ac0125e028155409", + "0x3041eaa07b017e885b8521e055b82554095b8250c056002554095e8246005", + "0x158209550258209430140aaa048153c0502aa81205078158ac46184220c2", + "0x242a05640255409638262405638255409490501f1102b1812aa04b041210", + "0x2a812c2049400aa604aa812a604a5c0ac604aa812c604a180a6c04aa8126c", + "0x24812da0281554090283c0ac8612998c6c090259009550259009898158409", + "0x159209550258609080158609550258609430140aaa048501281028155409", + "0x240aa502b3412aa04b1412ef02b3012aa04b10125002b2c12aa04b241286", + "0x240009080140aaa04850128102815540949025b40502aa81205078140b14", + "0x32c12aa04b381286028155409678262c056833c1eaa04ad4131502b3812aa", + "0x2a81205670140aaa048153c0566825540968025de0566025540944024a005", + "0x1b012aa049b0121502b4c12aa04b48131702b4812aa04b35a20f67815a209", + "0x26260566025540966024a005530255409530252e05658255409658250c05", + "0x24840502aa812054f0140aaa048141e0569b314ccb3604812d304aa812d3", + "0xdc0a055502414096d0140aaa0485012810281554090a8248c0502aa81287", + "0x140aaa04a74131902815540948826300502aa81286048d80a05550242409", + "0x155aa0f67815aa09550240ace02b5012aa04a4c121002a4c12aa04a4c1286", + "0x2554096a0250c05028255409028242a056b82554096b0262e056b0255409", + "0x4812d704aa812d704c4c0a8d04aa8128d049400aa604aa812a604a5c0ad4", + "0x4680a05550242a09230140aaa04a1c12420281554090283c0ad746a99a805", + "0x140aaa04a181236028155409090246e0502aa8121404a040a05550254a09", + "0x2a8129e048400a9e04aa8129e04a180a05550253a098c8140aaa04a441318", + "0x15b40955025b2098b815b209550245eb607b3c0ab604aa8120567015b009", + "0x27012500283c12aa0483c129702b6012aa04b6012860281412aa048141215", + "0x140a09550240a5702b69380f6c01424096d02554096d02626054e0255409", + "0x240ace0283c12aa048240a0f3e0141209550241209178141209550240b1b", + "0x240a570285012090a02554090a025a0050a0255409078401ecf0284012aa", + "0x3c12aa048240a0f3e0141209550241209178141209550240b1c0281412aa", + "0x5012090a02554090a025a0050a0255409078401ecf0284012aa048159c05", + "0x240a0f3e0141209550241209178141209550240b1d0281412aa04814ae05", + "0x2554090a025a0050a0255409078401ecf0284012aa048159c05078255409", + "0x141209550241209178141209550240aca0281412aa04814ae050a0241214", + "0x25a0050a0255409078401ecf0284012aa048159c05078255409048141e7c", + "0x241209178141209550240b1e0281412aa04814ae050a024121404aa81214", + "0x255409078401ecf0284012aa048159c05078255409048141e7c0282412aa", + "0x141209550240b1f0281412aa04814ae050a024121404aa8121404b400a14", + "0x401ecf0284012aa048159c05078255409048141e7c0282412aa04824122f", + "0x240b200281412aa04814ae050a024121404aa8121404b400a1404aa8120f", + "0x4012aa048159c05078255409048141e7c0282412aa04824122f0282412aa", + "0x140aaa048153c050a024121404aa8121404b400a1404aa8120f0803d9e05", + "0x2a8128604b680a9248a210e860a85554090902644050903c1eaa0483c1321", + "0x252409230140aaa04a441242028155409440246e0502aa81287048d80a05", + "0x29412aa04a98280f3e0154c09550253a093f0153a09550242a09918140aaa", + "0x2546096d014602f4e27842a30aaa812a404c880aa40783d5409078264205", + "0xc0124602815540917824840502aa8129c048dc0a05550253c091b0140aaa", + "0x25540915a941e7c028ac12aa048c4127e028c412aa048841323028155409", + "0xd012da028e8804a25a6c681555024140991014140f07aa8120f04c840a32", + "0x248c0502aa81240049080a055502494091b8140aaa04a6c12da028155409", + "0x146409550246409778140aaa0481424051e025540925826480502aa8123a", + "0x24121002815540920824d80502aa812050781484099290412aa078f012dd", + "0xe412aa04918122f028dc12aa048d812860291812aa048164c051b0255409", + "0x13012aa04824121002815540921024d80502aa81205078140b27048154a05", + "0x240a9e028e412aa04a5c122f028dc12aa04930128602a5c12aa048157c05", + "0x5554095102644055103c1eaa0483c13210294012aa048e4640f3e0140aaa", + "0x155409500246c0502aa8125204b680a055502542096d014aa8d49a80a4a1", + "0x251209948151209550252609940140aaa049541246028155409468248405", + "0x2a8125904c880a590783d54090782642052b82554092e1401e7c0297012aa", + "0x2a8127c048d80a0555024fc096d0140aaa04a0412da029ecc05e3e1f90215", + "0x2654053c9801eaa0498012e20281554093d8248c0502aa8125e048dc0a05", + "0x2a8120004cac0a0004aa8126c04b040a6c04aa81271048500a7104aa81279", + "0x2d412aa04980132a02ad012aa04accae0f3e0156609550256609178156609", + "0x25de055a82554095a82462051b82554091b8250c05028255409028242a05", + "0x4b972095503d60099681560b85b84154095a2d46e050a4b00ab404aa812b4", + "0x1b00abd5e03d54095c8265e055d82554095c024200502aa81205078157409", + "0x3680a05550257e096d01588c36130580bf0aaa8120f04c880a05550257a09", + "0x140aaa04b0c1242028155409610246e0502aa812c1048d80a05550258009", + "0x40213002b1c12aa04815480563025540962af01e7c02b1412aa04b101291", + "0x257609430156e09550256e090a8159209550259009988159009550258ec6", + "0x242009300140aaa048141e0564aed6e1004b2412aa04b24133202aec12aa", + "0x540acc04aa812ba04cd00acb04aa812b8048400a05550241e09998140aaa", + "0x33196b7080259809550259809990159609550259609430156e09550256e09", + "0x140aaa048141e05430541f35090501eaa078240a0f048140aaa048153c05", + "0x21c12860285012aa04850121502a2012aa0483c121402a1c12aa048481210", + "0x250e09080140aaa048141e054e8266c924883d540f440250e05438255409", + "0x29012aa04a90122f02a9012aa04a94129102a9412aa04a48128802a9812aa", + "0x2180a1404aa81214048540a2104aa81291048c00aa304aa812a40803cf805", + "0x2982814960154609550254609778144209550244209188154c09550254c09", + "0x140aaa04a74123c0281554090283c0a2f4e278200917a713c10550254621", + "0xac1338028ac12aa048c4200f9b8146209550240aa4028c012aa04a1c1210", + "0x255409190256405180255409180250c050a02554090a0242a05190255409", + "0x140aaa04840126002815540907824840502aa812050781464300a0401232", + "0x242a090a81536095502468099c8146809550240a710282812aa04a181210", + "0x14024a54d8282a1004a6c12aa04a6c12b20282812aa0482812860285412aa", + "0x148d80528048645236014a01202850200f04814f85236014a01219148d805", + "0xc4ae52281b00a889e05412059d8240a7b0283c640507ce82810078240a7c", + "0x4fc2a0902cf82a0902cf50e860a8482810078240a8129140d805090c8600a", + "0x401e0f1a1b00a12a20541205a18541205a10541205a08541205a00541205", + "0x518200f048150c6c028401e323601429450a0401e0902a78d805" + ] +} diff --git a/__mocks__/cairo/integerTypes/Scarb.lock b/__mocks__/cairo/integerTypes/Scarb.lock new file mode 100644 index 000000000..5dd90dd4e --- /dev/null +++ b/__mocks__/cairo/integerTypes/Scarb.lock @@ -0,0 +1,24 @@ +# Code generated by scarb DO NOT EDIT. +version = 1 + +[[package]] +name = "integer_types_test" +version = "0.1.0" +dependencies = [ + "snforge_std", +] + +[[package]] +name = "snforge_scarb_plugin" +version = "0.45.0" +source = "registry+https://scarbs.xyz/" +checksum = "sha256:568482e8c40e7018d9ea729d6df3d5ec22b665cfff1e89181d8ad31bacca11cc" + +[[package]] +name = "snforge_std" +version = "0.45.0" +source = "registry+https://scarbs.xyz/" +checksum = "sha256:c08b359c266e45c4e71b71baa3c4af8dae7fc5416fc8168f0983e5c9a2ac0abe" +dependencies = [ + "snforge_scarb_plugin", +] diff --git a/__mocks__/cairo/integerTypes/Scarb.toml b/__mocks__/cairo/integerTypes/Scarb.toml new file mode 100644 index 000000000..c1cc32957 --- /dev/null +++ b/__mocks__/cairo/integerTypes/Scarb.toml @@ -0,0 +1,21 @@ +[package] +name = "integer_types_test" +version = "0.1.0" +edition = "2024_07" + +[dependencies] +starknet = "2.11.4" + +[dev-dependencies] +snforge_std = "0.45.0" +assert_macros = "2.11.4" + +[[target.starknet-contract]] +sierra = true +casm = true + +[scripts] +test = "snforge test" + +[tool.scarb] +allow-prebuilt-plugins = ["snforge_std"] \ No newline at end of file diff --git a/__mocks__/cairo/integerTypes/src/lib.cairo b/__mocks__/cairo/integerTypes/src/lib.cairo new file mode 100644 index 000000000..b591f323f --- /dev/null +++ b/__mocks__/cairo/integerTypes/src/lib.cairo @@ -0,0 +1,303 @@ +#[starknet::interface] +trait IIntegerTypesStorage { + // Unsigned integer functions + fn store_u8(ref self: TContractState, value: u8); + fn read_u8(self: @TContractState) -> u8; + fn store_u16(ref self: TContractState, value: u16); + fn read_u16(self: @TContractState) -> u16; + fn store_u64(ref self: TContractState, value: u64); + fn read_u64(self: @TContractState) -> u64; + fn store_u128(ref self: TContractState, value: u128); + fn read_u128(self: @TContractState) -> u128; + + // Signed integer functions + fn store_i8(ref self: TContractState, value: i8); + fn read_i8(self: @TContractState) -> i8; + fn store_i16(ref self: TContractState, value: i16); + fn read_i16(self: @TContractState) -> i16; + fn store_i32(ref self: TContractState, value: i32); + fn read_i32(self: @TContractState) -> i32; + fn store_i64(ref self: TContractState, value: i64); + fn read_i64(self: @TContractState) -> i64; + fn store_i128(ref self: TContractState, value: i128); + fn read_i128(self: @TContractState) -> i128; + + // Batch operations + fn store_all_unsigned( + ref self: TContractState, + u8_val: u8, + u16_val: u16, + u64_val: u64, + u128_val: u128 + ); + fn read_all_unsigned(self: @TContractState) -> (u8, u16, u64, u128); + fn store_all_signed( + ref self: TContractState, + i8_val: i8, + i16_val: i16, + i32_val: i32, + i64_val: i64, + i128_val: i128 + ); + fn read_all_signed(self: @TContractState) -> (i8, i16, i32, i64, i128); + + // Boundary value testing + fn test_boundary_values_unsigned(self: @TContractState) -> (u8, u16, u64, u128); + fn test_boundary_values_signed(self: @TContractState) -> (i8, i16, i32, i64, i128); + fn test_negative_boundary_values_signed(self: @TContractState) -> (i8, i16, i32, i64, i128); +} + +#[starknet::contract] +mod IntegerTypesStorage { + use starknet::storage::{StoragePointerReadAccess, StoragePointerWriteAccess}; + + #[storage] + struct Storage { + // Unsigned integer types + stored_u8: u8, + stored_u16: u16, + stored_u64: u64, + stored_u128: u128, + // Signed integer types + stored_i8: i8, + stored_i16: i16, + stored_i32: i32, + stored_i64: i64, + stored_i128: i128, + } + + #[event] + #[derive(Drop, starknet::Event)] + enum Event { + // Unsigned integer events + U8Stored: U8Stored, + U16Stored: U16Stored, + U64Stored: U64Stored, + U128Stored: U128Stored, + // Signed integer events + I8Stored: I8Stored, + I16Stored: I16Stored, + I32Stored: I32Stored, + I64Stored: I64Stored, + I128Stored: I128Stored, + } + + #[derive(Drop, starknet::Event)] + struct U8Stored { + #[key] + value: u8, + } + + #[derive(Drop, starknet::Event)] + struct U16Stored { + #[key] + value: u16, + } + + #[derive(Drop, starknet::Event)] + struct U64Stored { + #[key] + value: u64, + } + + #[derive(Drop, starknet::Event)] + struct U128Stored { + #[key] + value: u128, + } + + #[derive(Drop, starknet::Event)] + struct I8Stored { + #[key] + value: i8, + } + + #[derive(Drop, starknet::Event)] + struct I16Stored { + #[key] + value: i16, + } + + #[derive(Drop, starknet::Event)] + struct I32Stored { + #[key] + value: i32, + } + + #[derive(Drop, starknet::Event)] + struct I64Stored { + #[key] + value: i64, + } + + #[derive(Drop, starknet::Event)] + struct I128Stored { + #[key] + value: i128, + } + + #[abi(embed_v0)] + impl IntegerTypesStorageImpl of super::IIntegerTypesStorage { + // Unsigned integer storage functions + fn store_u8(ref self: ContractState, value: u8) { + self.stored_u8.write(value); + self.emit(U8Stored { value }); + } + + fn read_u8(self: @ContractState) -> u8 { + self.stored_u8.read() + } + + fn store_u16(ref self: ContractState, value: u16) { + self.stored_u16.write(value); + self.emit(U16Stored { value }); + } + + fn read_u16(self: @ContractState) -> u16 { + self.stored_u16.read() + } + + fn store_u64(ref self: ContractState, value: u64) { + self.stored_u64.write(value); + self.emit(U64Stored { value }); + } + + fn read_u64(self: @ContractState) -> u64 { + self.stored_u64.read() + } + + + fn store_u128(ref self: ContractState, value: u128) { + self.stored_u128.write(value); + self.emit(U128Stored { value }); + } + + fn read_u128(self: @ContractState) -> u128 { + self.stored_u128.read() + } + + // Signed integer storage functions + fn store_i8(ref self: ContractState, value: i8) { + self.stored_i8.write(value); + self.emit(I8Stored { value }); + } + + fn read_i8(self: @ContractState) -> i8 { + self.stored_i8.read() + } + + fn store_i16(ref self: ContractState, value: i16) { + self.stored_i16.write(value); + self.emit(I16Stored { value }); + } + + fn read_i16(self: @ContractState) -> i16 { + self.stored_i16.read() + } + + fn store_i32(ref self: ContractState, value: i32) { + self.stored_i32.write(value); + self.emit(I32Stored { value }); + } + + fn read_i32(self: @ContractState) -> i32 { + self.stored_i32.read() + } + + fn store_i64(ref self: ContractState, value: i64) { + self.stored_i64.write(value); + self.emit(I64Stored { value }); + } + + fn read_i64(self: @ContractState) -> i64 { + self.stored_i64.read() + } + + fn store_i128(ref self: ContractState, value: i128) { + self.stored_i128.write(value); + self.emit(I128Stored { value }); + } + + fn read_i128(self: @ContractState) -> i128 { + self.stored_i128.read() + } + + // Batch operations for testing multiple types at once + fn store_all_unsigned( + ref self: ContractState, + u8_val: u8, + u16_val: u16, + u64_val: u64, + u128_val: u128 + ) { + self.store_u8(u8_val); + self.store_u16(u16_val); + self.store_u64(u64_val); + self.store_u128(u128_val); + } + + fn read_all_unsigned(self: @ContractState) -> (u8, u16, u64, u128) { + ( + self.read_u8(), + self.read_u16(), + self.read_u64(), + self.read_u128() + ) + } + + fn store_all_signed( + ref self: ContractState, + i8_val: i8, + i16_val: i16, + i32_val: i32, + i64_val: i64, + i128_val: i128 + ) { + self.store_i8(i8_val); + self.store_i16(i16_val); + self.store_i32(i32_val); + self.store_i64(i64_val); + self.store_i128(i128_val); + } + + fn read_all_signed(self: @ContractState) -> (i8, i16, i32, i64, i128) { + ( + self.read_i8(), + self.read_i16(), + self.read_i32(), + self.read_i64(), + self.read_i128() + ) + } + + // Test boundary values + fn test_boundary_values_unsigned(self: @ContractState) -> (u8, u16, u64, u128) { + ( + 255_u8, // Max u8 + 65535_u16, // Max u16 + 18446744073709551615_u64, // Max u64 + 340282366920938463463374607431768211455_u128 // Max u128 + ) + } + + fn test_boundary_values_signed(self: @ContractState) -> (i8, i16, i32, i64, i128) { + ( + 127_i8, // Max i8 + 32767_i16, // Max i16 + 2147483647_i32, // Max i32 + 9223372036854775807_i64, // Max i64 + 170141183460469231731687303715884105727_i128 // Max i128 + ) + } + + fn test_negative_boundary_values_signed(self: @ContractState) -> (i8, i16, i32, i64, i128) { + ( + -128_i8, // Min i8 + -32768_i16, // Min i16 + -2147483648_i32, // Min i32 + -9223372036854775808_i64, // Min i64 + -170141183460469231731687303715884105728_i128 // Min i128 + ) + } + } +} \ No newline at end of file diff --git a/__mocks__/cairo/integerTypes/target/CACHEDIR.TAG b/__mocks__/cairo/integerTypes/target/CACHEDIR.TAG new file mode 100644 index 000000000..e95ca71c3 --- /dev/null +++ b/__mocks__/cairo/integerTypes/target/CACHEDIR.TAG @@ -0,0 +1,3 @@ +Signature: 8a477f597d28d172789f06886806bc55 +# This file is a cache directory tag created by scarb. +# For information about cache directory tags see https://bford.info/cachedir/ diff --git a/__mocks__/cairo/integerTypes/target/dev/integer_types_test.starknet_artifacts.json b/__mocks__/cairo/integerTypes/target/dev/integer_types_test.starknet_artifacts.json new file mode 100644 index 000000000..652e4bbb4 --- /dev/null +++ b/__mocks__/cairo/integerTypes/target/dev/integer_types_test.starknet_artifacts.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "contracts": [ + { + "id": "ho17l970qe9j0", + "package_name": "integer_types_test", + "contract_name": "IntegerTypesStorage", + "module_path": "integer_types_test::IntegerTypesStorage", + "artifacts": { + "sierra": "integer_types_test_IntegerTypesStorage.contract_class.json", + "casm": "integer_types_test_IntegerTypesStorage.compiled_contract_class.json" + } + } + ] +} diff --git a/__mocks__/cairo/integerTypes/target/dev/integer_types_test_IntegerTypesStorage.compiled_contract_class.json b/__mocks__/cairo/integerTypes/target/dev/integer_types_test_IntegerTypesStorage.compiled_contract_class.json new file mode 100644 index 000000000..32f73d7ef --- /dev/null +++ b/__mocks__/cairo/integerTypes/target/dev/integer_types_test_IntegerTypesStorage.compiled_contract_class.json @@ -0,0 +1,8710 @@ +{ + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "compiler_version": "2.11.4", + "bytecode": [ + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xcc", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1338", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xa1", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x100", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000000000ff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x89", + "0x402780017fff7fff", + "0x1", + "0x400080007ff57ffd", + "0x482480017ffd8000", + "0xffffffffffffffffffffffffffffff00", + "0x400080017ff47fff", + "0x482480017ff48000", + "0x2", + "0x48127ffc7fff8000", + "0x48307ff680007ff7", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x122c", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1870", + "0x482480017fff8000", + "0x186f", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x5d5c", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x56", + "0x4824800180007ffd", + "0x5d5c", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1c8cdbf1e825e94b708f22a0c76bfef46902c23a52b69a13e159253c8879377", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x400280047ffb7fed", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0x31", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x11", + "0x48127fe87fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x11fb", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280077ffb7fff", + "0x400280087ffb7ffe", + "0x400280097ffb7ffa", + "0x4002800a7ffb7ffb", + "0x4002800b7ffb7ffc", + "0x4002800c7ffb7ffd", + "0x4802800e7ffb8000", + "0x20680017fff7fff", + "0xf", + "0x4802800d7ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127fe87fff8000", + "0x482480017ffd8000", + "0x190", + "0x482680017ffb8000", + "0xf", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x4802800d7ffb8000", + "0x48127fff7fff8000", + "0x482680017ffb8000", + "0x11", + "0x4802800f7ffb8000", + "0x480280107ffb8000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x13", + "0x480280057ffb8000", + "0x482480017fff8000", + "0x320a", + "0x482680017ffb8000", + "0x9", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x48127fe57fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1232", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x258", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x83e", + "0x1104800180018000", + "0x1227", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1214", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x89", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x1181", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x17c5", + "0x482480017fff8000", + "0x17c4", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x3336", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x58", + "0x4824800180007ffd", + "0x3336", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1c8cdbf1e825e94b708f22a0c76bfef46902c23a52b69a13e159253c8879377", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x480280057ffb8000", + "0x20680017fff7fff", + "0x35", + "0x480280047ffb8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x100", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000000000ff", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x16", + "0x402780017fff7fff", + "0x1", + "0x400080007ff87ffc", + "0x482480017ffc8000", + "0xffffffffffffffffffffffffffffff00", + "0x400080017ff77fff", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ffa", + "0x482480017ff68000", + "0x2", + "0x482480017ffb8000", + "0x6ea", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x11b1", + "0x482480017fec8000", + "0x3", + "0x48127ff17fff8000", + "0x48127fef7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xa", + "0x480280047ffb8000", + "0x48127ffc7fff8000", + "0x482480017ffe8000", + "0x906", + "0x482680017ffb8000", + "0x8", + "0x480280067ffb8000", + "0x480280077ffb8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1185", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x117a", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xcc", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1338", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xa1", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x10000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffde000000000000ffff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x89", + "0x402780017fff7fff", + "0x1", + "0x400080007ff57ffd", + "0x482480017ffd8000", + "0xffffffffffffffffffffffffffff0000", + "0x400080017ff47fff", + "0x482480017ff48000", + "0x2", + "0x48127ffc7fff8000", + "0x48307ff680007ff7", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x10b5", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x16f9", + "0x482480017fff8000", + "0x16f8", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x5d5c", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x56", + "0x4824800180007ffd", + "0x5d5c", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x33273fc5d9e9f210b83dc369806069da698eba2b8a05e7af9a9ae3ba80d8b0e", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x400280047ffb7fed", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0x31", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0xf", + "0x48127fe87fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x1084", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280077ffb7fff", + "0x400280087ffb7ffe", + "0x400280097ffb7ffa", + "0x4002800a7ffb7ffb", + "0x4002800b7ffb7ffc", + "0x4002800c7ffb7ffd", + "0x4802800e7ffb8000", + "0x20680017fff7fff", + "0xf", + "0x4802800d7ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127fe87fff8000", + "0x482480017ffd8000", + "0x190", + "0x482680017ffb8000", + "0xf", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x4802800d7ffb8000", + "0x48127fff7fff8000", + "0x482680017ffb8000", + "0x11", + "0x4802800f7ffb8000", + "0x480280107ffb8000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x13", + "0x480280057ffb8000", + "0x482480017fff8000", + "0x320a", + "0x482680017ffb8000", + "0x9", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x48127fe57fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x10bb", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x258", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x83e", + "0x1104800180018000", + "0x10b0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x109d", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x89", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x100a", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x164e", + "0x482480017fff8000", + "0x164d", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x3336", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x58", + "0x4824800180007ffd", + "0x3336", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x33273fc5d9e9f210b83dc369806069da698eba2b8a05e7af9a9ae3ba80d8b0e", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x480280057ffb8000", + "0x20680017fff7fff", + "0x35", + "0x480280047ffb8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x10000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffde000000000000ffff", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x16", + "0x402780017fff7fff", + "0x1", + "0x400080007ff87ffc", + "0x482480017ffc8000", + "0xffffffffffffffffffffffffffff0000", + "0x400080017ff77fff", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ffa", + "0x482480017ff68000", + "0x2", + "0x482480017ffb8000", + "0x6ea", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1043", + "0x482480017fec8000", + "0x3", + "0x48127ff17fff8000", + "0x48127fef7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xa", + "0x480280047ffb8000", + "0x48127ffc7fff8000", + "0x482480017ffe8000", + "0x906", + "0x482680017ffb8000", + "0x8", + "0x480280067ffb8000", + "0x480280077ffb8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x100e", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1003", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xcc", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1338", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xa1", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x10000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x89", + "0x402780017fff7fff", + "0x1", + "0x400080007ff57ffd", + "0x482480017ffd8000", + "0xffffffffffffffff0000000000000000", + "0x400080017ff47fff", + "0x482480017ff48000", + "0x2", + "0x48127ffc7fff8000", + "0x48307ff680007ff7", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0xf3e", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1582", + "0x482480017fff8000", + "0x1581", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x5d5c", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x56", + "0x4824800180007ffd", + "0x5d5c", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1df06e11f6423448a394eeb7d5ec250ae172ecd77c505e2886375b1e17e7e60", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x400280047ffb7fed", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0x31", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0xd", + "0x48127fe87fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0xf0d", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280077ffb7fff", + "0x400280087ffb7ffe", + "0x400280097ffb7ffa", + "0x4002800a7ffb7ffb", + "0x4002800b7ffb7ffc", + "0x4002800c7ffb7ffd", + "0x4802800e7ffb8000", + "0x20680017fff7fff", + "0xf", + "0x4802800d7ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127fe87fff8000", + "0x482480017ffd8000", + "0x190", + "0x482680017ffb8000", + "0xf", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x4802800d7ffb8000", + "0x48127fff7fff8000", + "0x482680017ffb8000", + "0x11", + "0x4802800f7ffb8000", + "0x480280107ffb8000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x13", + "0x480280057ffb8000", + "0x482480017fff8000", + "0x320a", + "0x482680017ffb8000", + "0x9", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x48127fe57fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xf44", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x258", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x83e", + "0x1104800180018000", + "0xf39", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xf26", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x89", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0xe93", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x14d7", + "0x482480017fff8000", + "0x14d6", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x3336", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x58", + "0x4824800180007ffd", + "0x3336", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1df06e11f6423448a394eeb7d5ec250ae172ecd77c505e2886375b1e17e7e60", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x480280057ffb8000", + "0x20680017fff7fff", + "0x35", + "0x480280047ffb8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x10000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x16", + "0x402780017fff7fff", + "0x1", + "0x400080007ff87ffc", + "0x482480017ffc8000", + "0xffffffffffffffff0000000000000000", + "0x400080017ff77fff", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ffa", + "0x482480017ff68000", + "0x2", + "0x482480017ffb8000", + "0x6ea", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xed5", + "0x482480017fec8000", + "0x3", + "0x48127ff17fff8000", + "0x48127fef7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xa", + "0x480280047ffb8000", + "0x48127ffc7fff8000", + "0x482480017ffe8000", + "0x906", + "0x482680017ffb8000", + "0x8", + "0x480280067ffb8000", + "0x480280077ffb8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xe97", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xe8c", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xcd", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1446", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xa2", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x16", + "0x480080007ff58003", + "0x480080017ff48003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ffa", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027ff07ffd", + "0x20680017fff7ffe", + "0x86", + "0x402780017fff7fff", + "0x1", + "0x400080007ff57ffd", + "0x482480017ff58000", + "0x1", + "0x48127ffd7fff8000", + "0x48307ff780007ff8", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0xdc6", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x140a", + "0x482480017fff8000", + "0x1409", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x5d5c", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x56", + "0x4824800180007ffd", + "0x5d5c", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1d0f5b509144123f4df6fea54f3a01c35813cbac4531e7636adb3ab5523f28e", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x400280047ffb7fee", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0x31", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0xb", + "0x48127fe97fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0xd95", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280077ffb7fff", + "0x400280087ffb7ffe", + "0x400280097ffb7ffa", + "0x4002800a7ffb7ffb", + "0x4002800b7ffb7ffc", + "0x4002800c7ffb7ffd", + "0x4802800e7ffb8000", + "0x20680017fff7fff", + "0xf", + "0x4802800d7ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127fe87fff8000", + "0x482480017ffd8000", + "0x190", + "0x482680017ffb8000", + "0xf", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x4802800d7ffb8000", + "0x48127fff7fff8000", + "0x482680017ffb8000", + "0x11", + "0x4802800f7ffb8000", + "0x480280107ffb8000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x13", + "0x480280057ffb8000", + "0x482480017fff8000", + "0x320a", + "0x482680017ffb8000", + "0x9", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x48127fe57fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xdcc", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff08000", + "0x3", + "0x482480017ff88000", + "0xe6", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x730", + "0x1104800180018000", + "0xdc1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xdae", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x8a", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0xd1b", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x135f", + "0x482480017fff8000", + "0x135e", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x339a", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x59", + "0x4824800180007ffd", + "0x339a", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1d0f5b509144123f4df6fea54f3a01c35813cbac4531e7636adb3ab5523f28e", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x480280057ffb8000", + "0x20680017fff7fff", + "0x36", + "0x480280047ffb8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x16", + "0x480080007ff88003", + "0x480080017ff78003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ff9", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027ff37ffd", + "0x20680017fff7ffe", + "0x13", + "0x402780017fff7fff", + "0x1", + "0x400080007ff87ffc", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ffb", + "0x482480017ff78000", + "0x1", + "0x482480017ffc8000", + "0x85c", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xd65", + "0x482480017fed8000", + "0x3", + "0x48127ff27fff8000", + "0x48127ff07fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xa", + "0x480280047ffb8000", + "0x48127ffc7fff8000", + "0x482480017ffe8000", + "0x96a", + "0x482680017ffb8000", + "0x8", + "0x480280067ffb8000", + "0x480280077ffb8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xd1e", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xd13", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xce", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x12d4", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xa3", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x80", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000000000ff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x8b", + "0x402780017fff7fff", + "0x1", + "0x482480017ffd8000", + "0x80", + "0x400080007ff47fff", + "0x482480017ffc8000", + "0xffffffffffffffffffffffffffffff80", + "0x400080017ff37fff", + "0x482480017ff38000", + "0x2", + "0x48127ffb7fff8000", + "0x48307ff580007ff6", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0xc4c", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1290", + "0x482480017fff8000", + "0x128f", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x5d5c", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x56", + "0x4824800180007ffd", + "0x5d5c", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0xb76f976ded6055ea8764d4c0305065e1ac948f1e7b80c5683346abc51677a7", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x400280047ffb7fec", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0x31", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x9", + "0x48127fe77fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0xc1b", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280077ffb7fff", + "0x400280087ffb7ffe", + "0x400280097ffb7ffa", + "0x4002800a7ffb7ffb", + "0x4002800b7ffb7ffc", + "0x4002800c7ffb7ffd", + "0x4802800e7ffb8000", + "0x20680017fff7fff", + "0xf", + "0x4802800d7ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127fe87fff8000", + "0x482480017ffd8000", + "0x190", + "0x482680017ffb8000", + "0xf", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x4802800d7ffb8000", + "0x48127fff7fff8000", + "0x482680017ffb8000", + "0x11", + "0x4802800f7ffb8000", + "0x480280107ffb8000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x13", + "0x480280057ffb8000", + "0x482480017fff8000", + "0x320a", + "0x482680017ffb8000", + "0x9", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x48127fe57fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xc52", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x2bc", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x8a2", + "0x1104800180018000", + "0xc47", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xc34", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x8b", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0xba1", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x11e5", + "0x482480017fff8000", + "0x11e4", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x3336", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x5a", + "0x4824800180007ffd", + "0x3336", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0xb76f976ded6055ea8764d4c0305065e1ac948f1e7b80c5683346abc51677a7", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x480280057ffb8000", + "0x20680017fff7fff", + "0x37", + "0x480280047ffb8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x80", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000000000ff", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x18", + "0x402780017fff7fff", + "0x1", + "0x482480017ffc8000", + "0x80", + "0x400080007ff77fff", + "0x482480017ffb8000", + "0xffffffffffffffffffffffffffffff80", + "0x400080017ff67fff", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ff9", + "0x482480017ff58000", + "0x2", + "0x482480017ffa8000", + "0x686", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xbf3", + "0x482480017fec8000", + "0x3", + "0x48127ff17fff8000", + "0x48127fef7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xa", + "0x480280047ffb8000", + "0x48127ffc7fff8000", + "0x482480017ffe8000", + "0x906", + "0x482680017ffb8000", + "0x8", + "0x480280067ffb8000", + "0x480280077ffb8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xba3", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xb98", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xce", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x12d4", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xa3", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x8000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffde000000000000ffff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x8b", + "0x402780017fff7fff", + "0x1", + "0x482480017ffd8000", + "0x8000", + "0x400080007ff47fff", + "0x482480017ffc8000", + "0xffffffffffffffffffffffffffff8000", + "0x400080017ff37fff", + "0x482480017ff38000", + "0x2", + "0x48127ffb7fff8000", + "0x48307ff580007ff6", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0xad1", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1115", + "0x482480017fff8000", + "0x1114", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x5d5c", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x56", + "0x4824800180007ffd", + "0x5d5c", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x15ee265206c68ebe262487bf987386bdb0345b105e0a8f3fdde49e21b4d3b52", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x400280047ffb7fec", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0x31", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7", + "0x48127fe77fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0xaa0", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280077ffb7fff", + "0x400280087ffb7ffe", + "0x400280097ffb7ffa", + "0x4002800a7ffb7ffb", + "0x4002800b7ffb7ffc", + "0x4002800c7ffb7ffd", + "0x4802800e7ffb8000", + "0x20680017fff7fff", + "0xf", + "0x4802800d7ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127fe87fff8000", + "0x482480017ffd8000", + "0x190", + "0x482680017ffb8000", + "0xf", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x4802800d7ffb8000", + "0x48127fff7fff8000", + "0x482680017ffb8000", + "0x11", + "0x4802800f7ffb8000", + "0x480280107ffb8000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x13", + "0x480280057ffb8000", + "0x482480017fff8000", + "0x320a", + "0x482680017ffb8000", + "0x9", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x48127fe57fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xad7", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x2bc", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x8a2", + "0x1104800180018000", + "0xacc", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xab9", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x8b", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0xa26", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x106a", + "0x482480017fff8000", + "0x1069", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x3336", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x5a", + "0x4824800180007ffd", + "0x3336", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x15ee265206c68ebe262487bf987386bdb0345b105e0a8f3fdde49e21b4d3b52", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x480280057ffb8000", + "0x20680017fff7fff", + "0x37", + "0x480280047ffb8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x8000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffde000000000000ffff", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x18", + "0x402780017fff7fff", + "0x1", + "0x482480017ffc8000", + "0x8000", + "0x400080007ff77fff", + "0x482480017ffb8000", + "0xffffffffffffffffffffffffffff8000", + "0x400080017ff67fff", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ff9", + "0x482480017ff58000", + "0x2", + "0x482480017ffa8000", + "0x686", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xa81", + "0x482480017fec8000", + "0x3", + "0x48127ff17fff8000", + "0x48127fef7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xa", + "0x480280047ffb8000", + "0x48127ffc7fff8000", + "0x482480017ffe8000", + "0x906", + "0x482680017ffb8000", + "0x8", + "0x480280067ffb8000", + "0x480280077ffb8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xa28", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xa1d", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xce", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x12d4", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xa3", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x80000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000ffffffff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x8b", + "0x402780017fff7fff", + "0x1", + "0x482480017ffd8000", + "0x80000000", + "0x400080007ff47fff", + "0x482480017ffc8000", + "0xffffffffffffffffffffffff80000000", + "0x400080017ff37fff", + "0x482480017ff38000", + "0x2", + "0x48127ffb7fff8000", + "0x48307ff580007ff6", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x956", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xf9a", + "0x482480017fff8000", + "0xf99", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x5d5c", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x56", + "0x4824800180007ffd", + "0x5d5c", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x130de67520c6c99672682b869ce5c11846d997bdb10945e08d60c2ad54a24bd", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x400280047ffb7fec", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0x31", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x5", + "0x48127fe77fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x925", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280077ffb7fff", + "0x400280087ffb7ffe", + "0x400280097ffb7ffa", + "0x4002800a7ffb7ffb", + "0x4002800b7ffb7ffc", + "0x4002800c7ffb7ffd", + "0x4802800e7ffb8000", + "0x20680017fff7fff", + "0xf", + "0x4802800d7ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127fe87fff8000", + "0x482480017ffd8000", + "0x190", + "0x482680017ffb8000", + "0xf", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x4802800d7ffb8000", + "0x48127fff7fff8000", + "0x482680017ffb8000", + "0x11", + "0x4802800f7ffb8000", + "0x480280107ffb8000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x13", + "0x480280057ffb8000", + "0x482480017fff8000", + "0x320a", + "0x482680017ffb8000", + "0x9", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x48127fe57fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x95c", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x2bc", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x8a2", + "0x1104800180018000", + "0x951", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x93e", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x8b", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x8ab", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xeef", + "0x482480017fff8000", + "0xeee", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x3336", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x5a", + "0x4824800180007ffd", + "0x3336", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x130de67520c6c99672682b869ce5c11846d997bdb10945e08d60c2ad54a24bd", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x480280057ffb8000", + "0x20680017fff7fff", + "0x37", + "0x480280047ffb8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x80000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000ffffffff", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x18", + "0x402780017fff7fff", + "0x1", + "0x482480017ffc8000", + "0x80000000", + "0x400080007ff77fff", + "0x482480017ffb8000", + "0xffffffffffffffffffffffff80000000", + "0x400080017ff67fff", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ff9", + "0x482480017ff58000", + "0x2", + "0x482480017ffa8000", + "0x686", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x90f", + "0x482480017fec8000", + "0x3", + "0x48127ff17fff8000", + "0x48127fef7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xa", + "0x480280047ffb8000", + "0x48127ffc7fff8000", + "0x482480017ffe8000", + "0x906", + "0x482680017ffb8000", + "0x8", + "0x480280067ffb8000", + "0x480280077ffb8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x8ad", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x8a2", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xce", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x12d4", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xa3", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x8000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x8b", + "0x402780017fff7fff", + "0x1", + "0x482480017ffd8000", + "0x8000000000000000", + "0x400080007ff47fff", + "0x482480017ffc8000", + "0xffffffffffffffff8000000000000000", + "0x400080017ff37fff", + "0x482480017ff38000", + "0x2", + "0x48127ffb7fff8000", + "0x48307ff580007ff6", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x7db", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xe1f", + "0x482480017fff8000", + "0xe1e", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x5d5c", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x56", + "0x4824800180007ffd", + "0x5d5c", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x10a461970d40c37627851bce26d52bc9c00c9dd9a6da81e46586fc24e261f68", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x400280047ffb7fec", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0x31", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x3", + "0x48127fe77fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x7aa", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280077ffb7fff", + "0x400280087ffb7ffe", + "0x400280097ffb7ffa", + "0x4002800a7ffb7ffb", + "0x4002800b7ffb7ffc", + "0x4002800c7ffb7ffd", + "0x4802800e7ffb8000", + "0x20680017fff7fff", + "0xf", + "0x4802800d7ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127fe87fff8000", + "0x482480017ffd8000", + "0x190", + "0x482680017ffb8000", + "0xf", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x4802800d7ffb8000", + "0x48127fff7fff8000", + "0x482680017ffb8000", + "0x11", + "0x4802800f7ffb8000", + "0x480280107ffb8000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x13", + "0x480280057ffb8000", + "0x482480017fff8000", + "0x320a", + "0x482680017ffb8000", + "0x9", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x48127fe57fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x7e1", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x2bc", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x8a2", + "0x1104800180018000", + "0x7d6", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x7c3", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x8b", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x730", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xd74", + "0x482480017fff8000", + "0xd73", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x3336", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x5a", + "0x4824800180007ffd", + "0x3336", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x10a461970d40c37627851bce26d52bc9c00c9dd9a6da81e46586fc24e261f68", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x480280057ffb8000", + "0x20680017fff7fff", + "0x37", + "0x480280047ffb8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x8000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x18", + "0x402780017fff7fff", + "0x1", + "0x482480017ffc8000", + "0x8000000000000000", + "0x400080007ff77fff", + "0x482480017ffb8000", + "0xffffffffffffffff8000000000000000", + "0x400080017ff67fff", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ff9", + "0x482480017ff58000", + "0x2", + "0x482480017ffa8000", + "0x686", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x79d", + "0x482480017fec8000", + "0x3", + "0x48127ff17fff8000", + "0x48127fef7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xa", + "0x480280047ffb8000", + "0x48127ffc7fff8000", + "0x482480017ffe8000", + "0x906", + "0x482680017ffb8000", + "0x8", + "0x480280067ffb8000", + "0x480280077ffb8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x732", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x727", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xcb", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x13e2", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xa0", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x80000000000000000000000000000000", + "0x4844800180008002", + "0x800000000000010ffffffffffffffff", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffde0000000000000001", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x88", + "0x402780017fff7fff", + "0x1", + "0x482480017ffd8000", + "0x80000000000000000000000000000000", + "0x400080007ff47fff", + "0x482480017ff48000", + "0x1", + "0x48127ffc7fff8000", + "0x48307ff680007ff7", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x663", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xca7", + "0x482480017fff8000", + "0xca6", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x5d5c", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x56", + "0x4824800180007ffd", + "0x5d5c", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x393c8c307bb955407b7080273b214454224f1b4aac907c863086f9452ac67de", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x400280047ffb7fed", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0x31", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x1", + "0x48127fe87fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x632", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280077ffb7fff", + "0x400280087ffb7ffe", + "0x400280097ffb7ffa", + "0x4002800a7ffb7ffb", + "0x4002800b7ffb7ffc", + "0x4002800c7ffb7ffd", + "0x4802800e7ffb8000", + "0x20680017fff7fff", + "0xf", + "0x4802800d7ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127fe87fff8000", + "0x482480017ffd8000", + "0x190", + "0x482680017ffb8000", + "0xf", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x4802800d7ffb8000", + "0x48127fff7fff8000", + "0x482680017ffb8000", + "0x11", + "0x4802800f7ffb8000", + "0x480280107ffb8000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x13", + "0x480280057ffb8000", + "0x482480017fff8000", + "0x320a", + "0x482680017ffb8000", + "0x9", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x48127fe57fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x669", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x1ae", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x794", + "0x1104800180018000", + "0x65e", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x64b", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x88", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x5b8", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xbfc", + "0x482480017fff8000", + "0xbfb", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x3336", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x57", + "0x4824800180007ffd", + "0x3336", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x393c8c307bb955407b7080273b214454224f1b4aac907c863086f9452ac67de", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400280027ffb7ffc", + "0x400280037ffb7ffd", + "0x480280057ffb8000", + "0x20680017fff7fff", + "0x34", + "0x480280047ffb8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x80000000000000000000000000000000", + "0x4844800180008002", + "0x800000000000010ffffffffffffffff", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffde0000000000000001", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x15", + "0x402780017fff7fff", + "0x1", + "0x482480017ffc8000", + "0x80000000000000000000000000000000", + "0x400080007ff77fff", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ffa", + "0x482480017ff68000", + "0x1", + "0x482480017ffb8000", + "0x794", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x631", + "0x482480017fec8000", + "0x3", + "0x48127ff17fff8000", + "0x48127fef7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xa", + "0x480280047ffb8000", + "0x48127ffc7fff8000", + "0x482480017ffe8000", + "0x906", + "0x482680017ffb8000", + "0x8", + "0x480280067ffb8000", + "0x480280077ffb8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x5bd", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x5b2", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xfffffffffffffffffffffffffffffeb6", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x169", + "0x4825800180007ffa", + "0x14a", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48127ffe7fff8000", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0x13f", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x100", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000000000ff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x127", + "0x402780017fff7fff", + "0x1", + "0x400080007ff57ffd", + "0x482480017ffd8000", + "0xffffffffffffffffffffffffffffff00", + "0x400080017ff47fff", + "0x482480017ff48000", + "0x2", + "0x48127ffc7fff8000", + "0x48307ff680007ff7", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482480017ff48000", + "0x1", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff17fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xfa", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x10000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffde000000000000ffff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0xe2", + "0x402780017fff7fff", + "0x1", + "0x400080007ff57ffd", + "0x482480017ffd8000", + "0xffffffffffffffffffffffffffff0000", + "0x400080017ff47fff", + "0x482480017ff48000", + "0x2", + "0x48127ffc7fff8000", + "0x48307ff680007ff7", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482480017ff48000", + "0x1", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff17fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xb5", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x10000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x9d", + "0x402780017fff7fff", + "0x1", + "0x400080007ff57ffd", + "0x482480017ffd8000", + "0xffffffffffffffff0000000000000000", + "0x400080017ff47fff", + "0x482480017ff48000", + "0x2", + "0x48127ffc7fff8000", + "0x48307ff680007ff7", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482480017ff48000", + "0x1", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff17fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0x70", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x16", + "0x480080007ff58003", + "0x480080017ff48003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ffa", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027ff07ffd", + "0x20680017fff7ffe", + "0x54", + "0x402780017fff7fff", + "0x1", + "0x400080007ff57ffd", + "0x482480017ff58000", + "0x1", + "0x48127ffd7fff8000", + "0x48307ff780007ff8", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x457", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xa9b", + "0x482480017fff8000", + "0xa9a", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x17c78", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x24", + "0x4824800180007ffd", + "0x17c78", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x48127fcd7fff8000", + "0x48127fd87fff8000", + "0x48127fe37fff8000", + "0x48127fee7fff8000", + "0x1104800180018000", + "0x50b", + "0x482480017f868000", + "0x1", + "0x20680017fff7ffc", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x482480017ff98000", + "0x64", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x48f", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff08000", + "0x3", + "0x482480017ff88000", + "0xe6", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x730", + "0x1104800180018000", + "0x5f5", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x87a", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0xe60", + "0x1104800180018000", + "0x5eb", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0xfaa", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x1590", + "0x1104800180018000", + "0x5e1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x16da", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x1cc0", + "0x1104800180018000", + "0x44b", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x438", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x56", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x3a5", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x9e9", + "0x482480017fff8000", + "0x9e8", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0xc756", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x25", + "0x4824800180007ffd", + "0xc756", + "0x400080007ff67fff", + "0x482480017ff68000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x58d", + "0x20680017fff7ffb", + "0x11", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ffb", + "0x400080017fff7ffc", + "0x400080027fff7ffd", + "0x400080037fff7ffe", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x4", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x1f4", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3dc", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3d1", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xfffffffffffffffffffffffffffff592", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x1b5", + "0x4825800180007ffa", + "0xa6e", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48127ffe7fff8000", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0x18b", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x80", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000000000ff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x173", + "0x402780017fff7fff", + "0x1", + "0x482480017ffd8000", + "0x80", + "0x400080007ff47fff", + "0x482480017ffc8000", + "0xffffffffffffffffffffffffffffff80", + "0x400080017ff37fff", + "0x482480017ff38000", + "0x2", + "0x48127ffb7fff8000", + "0x48307ff580007ff6", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482480017ff38000", + "0x1", + "0x48127ff37fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff07fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0x144", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x8000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffde000000000000ffff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x12c", + "0x402780017fff7fff", + "0x1", + "0x482480017ffd8000", + "0x8000", + "0x400080007ff47fff", + "0x482480017ffc8000", + "0xffffffffffffffffffffffffffff8000", + "0x400080017ff37fff", + "0x482480017ff38000", + "0x2", + "0x48127ffb7fff8000", + "0x48307ff580007ff6", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482480017ff38000", + "0x1", + "0x48127ff37fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff07fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xfd", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x80000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000ffffffff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0xe5", + "0x402780017fff7fff", + "0x1", + "0x482480017ffd8000", + "0x80000000", + "0x400080007ff47fff", + "0x482480017ffc8000", + "0xffffffffffffffffffffffff80000000", + "0x400080017ff37fff", + "0x482480017ff38000", + "0x2", + "0x48127ffb7fff8000", + "0x48307ff580007ff6", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482480017ff38000", + "0x1", + "0x48127ff37fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff07fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0xb6", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x8000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x9e", + "0x402780017fff7fff", + "0x1", + "0x482480017ffd8000", + "0x8000000000000000", + "0x400080007ff47fff", + "0x482480017ffc8000", + "0xffffffffffffffff8000000000000000", + "0x400080017ff37fff", + "0x482480017ff38000", + "0x2", + "0x48127ffb7fff8000", + "0x48307ff580007ff6", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x48127ffe7fff8000", + "0x482480017ff38000", + "0x1", + "0x48127ff37fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff07fff8000", + "0x10780017fff7fff", + "0x9", + "0x48127ffe7fff8000", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x20680017fff7ffe", + "0x6f", + "0x480080007fff8000", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffd", + "0x80000000000000000000000000000000", + "0x4844800180008002", + "0x800000000000010ffffffffffffffff", + "0x4830800080017ffe", + "0x480080007ff27fff", + "0x482480017ffe8000", + "0xefffffffffffffde0000000000000001", + "0x480080017ff07fff", + "0x400080027fef7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x57", + "0x402780017fff7fff", + "0x1", + "0x482480017ffd8000", + "0x80000000000000000000000000000000", + "0x400080007ff47fff", + "0x482480017ff48000", + "0x1", + "0x48127ffc7fff8000", + "0x48307ff680007ff7", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x23e", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x882", + "0x482480017fff8000", + "0x881", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x1db64", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x25", + "0x4824800180007ffd", + "0x1db64", + "0x400080007ff67fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x48127fbc7fff8000", + "0x48127fc87fff8000", + "0x48127fd47fff8000", + "0x48127fe07fff8000", + "0x48127fec7fff8000", + "0x1104800180018000", + "0x564", + "0x482480017f6c8000", + "0x1", + "0x20680017fff7ffc", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x482480017ff98000", + "0x64", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x275", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x1ae", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x794", + "0x1104800180018000", + "0x693", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x942", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0xf28", + "0x1104800180018000", + "0x3c8", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x10d6", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x16bc", + "0x1104800180018000", + "0x3be", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x186a", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x1e50", + "0x1104800180018000", + "0x3b4", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017ff78000", + "0x1ffe", + "0x10780017fff7fff", + "0x5", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x25e4", + "0x1104800180018000", + "0x21e", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x20b", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x57", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x178", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x7bc", + "0x482480017fff8000", + "0x7bb", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0xf852", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x26", + "0x4824800180007ffd", + "0xf852", + "0x400080007ff67fff", + "0x482480017ff68000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x606", + "0x20680017fff7ffa", + "0x12", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ffa", + "0x400080017fff7ffb", + "0x400080027fff7ffc", + "0x400080037fff7ffd", + "0x400080047fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x5", + "0x208b7fff7fff7ffe", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x258", + "0x48127ff77fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1ae", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1a3", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x4e", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x110", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x754", + "0x482480017fff8000", + "0x753", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x1d", + "0x4824800180007ffd", + "0x0", + "0x400080007ff67fff", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0xff", + "0x400080007ffe7fff", + "0x480680017fff8000", + "0xffff", + "0x400080017ffd7fff", + "0x480680017fff8000", + "0xffffffffffffffff", + "0x400080027ffc7fff", + "0x480680017fff8000", + "0xffffffffffffffffffffffffffffffff", + "0x400080037ffb7fff", + "0x482480017ff18000", + "0x1", + "0x48127ff97fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff77fff8000", + "0x482480017ff68000", + "0x4", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x14f", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x144", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x51", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0xb1", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x6f5", + "0x482480017fff8000", + "0x6f4", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0xc8", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x20", + "0x4824800180007ffd", + "0xc8", + "0x400080007ff67fff", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7f", + "0x400080007ffe7fff", + "0x480680017fff8000", + "0x7fff", + "0x400080017ffd7fff", + "0x480680017fff8000", + "0x7fffffff", + "0x400080027ffc7fff", + "0x480680017fff8000", + "0x7fffffffffffffff", + "0x400080037ffb7fff", + "0x480680017fff8000", + "0x7fffffffffffffffffffffffffffffff", + "0x400080047ffa7fff", + "0x482480017ff08000", + "0x1", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff67fff8000", + "0x482480017ff58000", + "0x5", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xed", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xe2", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x51", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x482480017ffe8000", + "0x1a68", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x4f", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x492", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x693", + "0x482480017fff8000", + "0x692", + "0x48127ffb7fff8000", + "0x480080007ffe8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ffd", + "0xc8", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x20", + "0x4824800180007ffd", + "0xc8", + "0x400080007ff67fff", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff81", + "0x400080007ffe7fff", + "0x480680017fff8000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffff8001", + "0x400080017ffd7fff", + "0x480680017fff8000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffff80000001", + "0x400080027ffc7fff", + "0x480680017fff8000", + "0x800000000000010ffffffffffffffffffffffffffffffff8000000000000001", + "0x400080037ffb7fff", + "0x480680017fff8000", + "0x800000000000010ffffffffffffffff80000000000000000000000000000001", + "0x400080047ffa7fff", + "0x482480017ff08000", + "0x1", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff67fff8000", + "0x482480017ff58000", + "0x5", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x8b", + "0x482480017fef8000", + "0x1", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x80", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x2026", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x10b7ff87fff7fff", + "0x10780017fff7fff", + "0x60", + "0x10780017fff7fff", + "0x54", + "0x10780017fff7fff", + "0x48", + "0x10780017fff7fff", + "0x3c", + "0x10780017fff7fff", + "0x30", + "0x10780017fff7fff", + "0x24", + "0x10780017fff7fff", + "0x18", + "0x10780017fff7fff", + "0xc", + "0x480680017fff8000", + "0x9edd4f71efeecf23983c80d379669a1a0e6b9d675de2bef3d00bcd77181a3d", + "0x400280007ffb7fff", + "0x400380017ffb7ff9", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x2", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x26658864aa0705943033a2cef69d87a47f2c433d13d388f15fb8edc3daa3641", + "0x400280007ffb7fff", + "0x400380017ffb7ff9", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x2", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x3565898432d7550b6049cc5ff24387160badc1f648ff7bda9e163849d307ad", + "0x400280007ffb7fff", + "0x400380017ffb7ff9", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x2", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x37f346aa393d08d0a53ed4e985c03c1697ab4dafec87a443646f854b0e9a2bf", + "0x400280007ffb7fff", + "0x400380017ffb7ff9", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x2", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x3ec1c0acdfc686cb9b9ad67291859febaa49163fea2a936d8732a7c9a9f50a8", + "0x400280007ffb7fff", + "0x400380017ffb7ff9", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x2", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x35acff2af14ca8571567a7ac4b89ff4e02d1db5127a7e6c12a6e06218a20ad6", + "0x400280007ffb7fff", + "0x400380017ffb7ff9", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x2", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x3642a0487eb5367e207954b691ba98452b167253accd3ea5123b64a7c5a83d1", + "0x400280007ffb7fff", + "0x400380017ffb7ff9", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x2", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x82f9fef96fd649f14bcb0c4ff558677902a37459e21d50114775dbb58c3bbf", + "0x400280007ffb7fff", + "0x400380017ffb7ff9", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x2", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x33af51f74b3a40e66b5052631e22b7e1c6843b1a51156d1781ca24f860bb338", + "0x400280007ffb7fff", + "0x400380017ffb7ff9", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x2", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202331", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x53746f72655538202d206e6f6e207538", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x53746f7265553136202d206e6f6e20753136", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x53746f7265553634202d206e6f6e20753634", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x53746f726555313238202d206e6f6e2075313238", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x53746f72654938202d206e6f6e206938", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x53746f7265493136202d206e6f6e20693136", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x53746f7265493332202d206e6f6e20693332", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x53746f7265493634202d206e6f6e20693634", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x53746f726549313238202d206e6f6e2069313238", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1c8cdbf1e825e94b708f22a0c76bfef46902c23a52b69a13e159253c8879377", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ff97fff", + "0x400380017ff97ff8", + "0x400280027ff97ffd", + "0x400280037ff97ffe", + "0x400380047ff97ffa", + "0x480280067ff98000", + "0x20680017fff7fff", + "0xfb", + "0x480280057ff98000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x11", + "0x480a7ffa7fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff19", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280077ff97fff", + "0x400280087ff97ffe", + "0x400280097ff97ffa", + "0x4002800a7ff97ffb", + "0x4002800b7ff97ffc", + "0x4002800c7ff97ffd", + "0x4802800e7ff98000", + "0x20680017fff7fff", + "0xd6", + "0x4802800d7ff98000", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x33273fc5d9e9f210b83dc369806069da698eba2b8a05e7af9a9ae3ba80d8b0e", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x4002800f7ff97fff", + "0x400280107ff97ffc", + "0x400280117ff97ffd", + "0x400280127ff97ffe", + "0x400380137ff97ffb", + "0x480280157ff98000", + "0x20680017fff7fff", + "0xb6", + "0x480280147ff98000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0xf", + "0x480a7ffb7fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeef", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280167ff97fff", + "0x400280177ff97ffe", + "0x400280187ff97ffa", + "0x400280197ff97ffb", + "0x4002801a7ff97ffc", + "0x4002801b7ff97ffd", + "0x4802801d7ff98000", + "0x20680017fff7fff", + "0x91", + "0x4802801c7ff98000", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1df06e11f6423448a394eeb7d5ec250ae172ecd77c505e2886375b1e17e7e60", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x4002801e7ff97fff", + "0x4002801f7ff97ffc", + "0x400280207ff97ffd", + "0x400280217ff97ffe", + "0x400380227ff97ffc", + "0x480280247ff98000", + "0x20680017fff7fff", + "0x71", + "0x480280237ff98000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0xd", + "0x480a7ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffec5", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280257ff97fff", + "0x400280267ff97ffe", + "0x400280277ff97ffa", + "0x400280287ff97ffb", + "0x400280297ff97ffc", + "0x4002802a7ff97ffd", + "0x4802802c7ff98000", + "0x20680017fff7fff", + "0x4c", + "0x4802802b7ff98000", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1d0f5b509144123f4df6fea54f3a01c35813cbac4531e7636adb3ab5523f28e", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x4002802d7ff97fff", + "0x4002802e7ff97ffc", + "0x4002802f7ff97ffd", + "0x400280307ff97ffe", + "0x400380317ff97ffd", + "0x480280337ff98000", + "0x20680017fff7fff", + "0x30", + "0x480280327ff98000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0xb", + "0x480a7ffd7fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe9b", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280347ff97fff", + "0x400280357ff97ffe", + "0x400280367ff97ffa", + "0x400280377ff97ffb", + "0x400280387ff97ffc", + "0x400280397ff97ffd", + "0x4802803b7ff98000", + "0x20680017fff7fff", + "0xd", + "0x4802803a7ff98000", + "0x48127fff7fff8000", + "0x482680017ff98000", + "0x3c", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x4802803a7ff98000", + "0x48127fff7fff8000", + "0x482680017ff98000", + "0x3e", + "0x480680017fff8000", + "0x1", + "0x4802803c7ff98000", + "0x4802803d7ff98000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x13", + "0x480280327ff98000", + "0x482480017fff8000", + "0x31a6", + "0x482680017ff98000", + "0x36", + "0x480680017fff8000", + "0x1", + "0x480280347ff98000", + "0x480280357ff98000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x15", + "0x4802802b7ff98000", + "0x482480017fff8000", + "0x5b5e", + "0x482680017ff98000", + "0x2f", + "0x4802802d7ff98000", + "0x4802802e7ff98000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x28", + "0x480280237ff98000", + "0x482480017fff8000", + "0x8dcc", + "0x482680017ff98000", + "0x27", + "0x480280257ff98000", + "0x480280267ff98000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2e", + "0x4802801c7ff98000", + "0x482480017fff8000", + "0xb8ec", + "0x482680017ff98000", + "0x20", + "0x4802801e7ff98000", + "0x4802801f7ff98000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x41", + "0x480280147ff98000", + "0x482480017fff8000", + "0xeb5a", + "0x482680017ff98000", + "0x18", + "0x480280167ff98000", + "0x480280177ff98000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x47", + "0x4802800d7ff98000", + "0x482480017fff8000", + "0x1167a", + "0x482680017ff98000", + "0x11", + "0x4802800f7ff98000", + "0x480280107ff98000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x5a", + "0x480280057ff98000", + "0x482480017fff8000", + "0x148e8", + "0x482680017ff98000", + "0x9", + "0x480280077ff98000", + "0x480280087ff98000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202334", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202333", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202332", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1c8cdbf1e825e94b708f22a0c76bfef46902c23a52b69a13e159253c8879377", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffd7fff", + "0x400380017ffd7ffc", + "0x400280027ffd7ffd", + "0x400280037ffd7ffe", + "0x480280057ffd8000", + "0x20680017fff7fff", + "0x120", + "0x480280047ffd8000", + "0x480280067ffd8000", + "0x482680017ffd8000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x100", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480280007ffb7fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000000000ff", + "0x480280017ffb7fff", + "0x400280027ffb7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0xfe", + "0x402780017fff7fff", + "0x1", + "0x400280007ffb7ffc", + "0x482480017ffc8000", + "0xffffffffffffffffffffffffffffff00", + "0x400280017ffb7fff", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x33273fc5d9e9f210b83dc369806069da698eba2b8a05e7af9a9ae3ba80d8b0e", + "0x482680017ffb8000", + "0x2", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400080007ff77fff", + "0x400080017ff77ffb", + "0x400080027ff77ffc", + "0x400080037ff77ffd", + "0x480080057ff78000", + "0x20680017fff7fff", + "0xd2", + "0x480080047ff68000", + "0x480080067ff58000", + "0x482480017ff48000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x10000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffde000000000000ffff", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0xb0", + "0x402780017fff7fff", + "0x1", + "0x400080007ff87ffc", + "0x482480017ffc8000", + "0xffffffffffffffffffffffffffff0000", + "0x400080017ff77fff", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1df06e11f6423448a394eeb7d5ec250ae172ecd77c505e2886375b1e17e7e60", + "0x482480017ff48000", + "0x2", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400080007ff77fff", + "0x400080017ff77ffb", + "0x400080027ff77ffc", + "0x400080037ff77ffd", + "0x480080057ff78000", + "0x20680017fff7fff", + "0x84", + "0x480080047ff68000", + "0x480080067ff58000", + "0x482480017ff48000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x10000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x62", + "0x402780017fff7fff", + "0x1", + "0x400080007ff87ffc", + "0x482480017ffc8000", + "0xffffffffffffffff0000000000000000", + "0x400080017ff77fff", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1d0f5b509144123f4df6fea54f3a01c35813cbac4531e7636adb3ab5523f28e", + "0x482480017ff48000", + "0x2", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400080007ff77fff", + "0x400080017ff77ffb", + "0x400080027ff77ffc", + "0x400080037ff77ffd", + "0x480080057ff78000", + "0x20680017fff7fff", + "0x36", + "0x480080047ff68000", + "0x480080067ff58000", + "0x482480017ff48000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x16", + "0x480080007ff88003", + "0x480080017ff78003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ff9", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027ff37ffd", + "0x20680017fff7ffe", + "0x13", + "0x402780017fff7fff", + "0x1", + "0x400080007ff87ffc", + "0x40780017fff7fff", + "0x10", + "0x482480017fe88000", + "0x1", + "0x482480017fed8000", + "0x820", + "0x48127feb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127fc47fff8000", + "0x48127fcf7fff8000", + "0x48127fda7fff8000", + "0x48127fe57fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffde1", + "0x482480017fed8000", + "0x3", + "0x48127ff27fff8000", + "0x48127ff07fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xc", + "0x40780017fff7fff", + "0xf", + "0x480080047fe78000", + "0x48127fed7fff8000", + "0x482480017ffe8000", + "0x870", + "0x482480017fe48000", + "0x8", + "0x480080067fe38000", + "0x480080077fe28000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xb", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdb6", + "0x482480017fe18000", + "0x3", + "0x482480017fe68000", + "0x2e9a", + "0x48127fe47fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xc", + "0x40780017fff7fff", + "0x1b", + "0x480080047fdb8000", + "0x48127fe17fff8000", + "0x482480017ffe8000", + "0x3700", + "0x482480017fd88000", + "0x8", + "0x480080067fd78000", + "0x480080077fd68000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x17", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd8a", + "0x482480017fd58000", + "0x3", + "0x482480017fda8000", + "0x5d2a", + "0x48127fd87fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xc", + "0x40780017fff7fff", + "0x27", + "0x480080047fcf8000", + "0x48127fd57fff8000", + "0x482480017ffe8000", + "0x6590", + "0x482480017fcc8000", + "0x8", + "0x480080067fcb8000", + "0x480080077fca8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x23", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd5e", + "0x482680017ffb8000", + "0x3", + "0x482480017fce8000", + "0x8bba", + "0x48127fcc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xc", + "0x40780017fff7fff", + "0x33", + "0x480280047ffd8000", + "0x480a7ffb7fff8000", + "0x482480017ffe8000", + "0x9420", + "0x482680017ffd8000", + "0x8", + "0x480280067ffd8000", + "0x480280077ffd8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0xb76f976ded6055ea8764d4c0305065e1ac948f1e7b80c5683346abc51677a7", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ff87fff", + "0x400380017ff87ff7", + "0x400280027ff87ffd", + "0x400280037ff87ffe", + "0x400380047ff87ff9", + "0x480280067ff88000", + "0x20680017fff7fff", + "0x140", + "0x480280057ff88000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x9", + "0x480a7ff97fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffca6", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280077ff87fff", + "0x400280087ff87ffe", + "0x400280097ff87ffa", + "0x4002800a7ff87ffb", + "0x4002800b7ff87ffc", + "0x4002800c7ff87ffd", + "0x4802800e7ff88000", + "0x20680017fff7fff", + "0x11b", + "0x4802800d7ff88000", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x15ee265206c68ebe262487bf987386bdb0345b105e0a8f3fdde49e21b4d3b52", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x4002800f7ff87fff", + "0x400280107ff87ffc", + "0x400280117ff87ffd", + "0x400280127ff87ffe", + "0x400380137ff87ffa", + "0x480280157ff88000", + "0x20680017fff7fff", + "0xfb", + "0x480280147ff88000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7", + "0x480a7ffa7fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc7c", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280167ff87fff", + "0x400280177ff87ffe", + "0x400280187ff87ffa", + "0x400280197ff87ffb", + "0x4002801a7ff87ffc", + "0x4002801b7ff87ffd", + "0x4802801d7ff88000", + "0x20680017fff7fff", + "0xd6", + "0x4802801c7ff88000", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x130de67520c6c99672682b869ce5c11846d997bdb10945e08d60c2ad54a24bd", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x4002801e7ff87fff", + "0x4002801f7ff87ffc", + "0x400280207ff87ffd", + "0x400280217ff87ffe", + "0x400380227ff87ffb", + "0x480280247ff88000", + "0x20680017fff7fff", + "0xb6", + "0x480280237ff88000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x5", + "0x480a7ffb7fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc52", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280257ff87fff", + "0x400280267ff87ffe", + "0x400280277ff87ffa", + "0x400280287ff87ffb", + "0x400280297ff87ffc", + "0x4002802a7ff87ffd", + "0x4802802c7ff88000", + "0x20680017fff7fff", + "0x91", + "0x4802802b7ff88000", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x10a461970d40c37627851bce26d52bc9c00c9dd9a6da81e46586fc24e261f68", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x4002802d7ff87fff", + "0x4002802e7ff87ffc", + "0x4002802f7ff87ffd", + "0x400280307ff87ffe", + "0x400380317ff87ffc", + "0x480280337ff88000", + "0x20680017fff7fff", + "0x71", + "0x480280327ff88000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x3", + "0x480a7ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc28", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280347ff87fff", + "0x400280357ff87ffe", + "0x400280367ff87ffa", + "0x400280377ff87ffb", + "0x400280387ff87ffc", + "0x400280397ff87ffd", + "0x4802803b7ff88000", + "0x20680017fff7fff", + "0x4c", + "0x4802803a7ff88000", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x393c8c307bb955407b7080273b214454224f1b4aac907c863086f9452ac67de", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x4002803c7ff87fff", + "0x4002803d7ff87ffc", + "0x4002803e7ff87ffd", + "0x4002803f7ff87ffe", + "0x400380407ff87ffd", + "0x480280427ff88000", + "0x20680017fff7fff", + "0x30", + "0x480280417ff88000", + "0x40780017fff7fff", + "0x1", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x1", + "0x480a7ffd7fff8000", + "0x48127ffc7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffbfe", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280437ff87fff", + "0x400280447ff87ffe", + "0x400280457ff87ffa", + "0x400280467ff87ffb", + "0x400280477ff87ffc", + "0x400280487ff87ffd", + "0x4802804a7ff88000", + "0x20680017fff7fff", + "0xd", + "0x480280497ff88000", + "0x48127fff7fff8000", + "0x482680017ff88000", + "0x4b", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480280497ff88000", + "0x48127fff7fff8000", + "0x482680017ff88000", + "0x4d", + "0x480680017fff8000", + "0x1", + "0x4802804b7ff88000", + "0x4802804c7ff88000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x13", + "0x480280417ff88000", + "0x482480017fff8000", + "0x31a6", + "0x482680017ff88000", + "0x45", + "0x480680017fff8000", + "0x1", + "0x480280437ff88000", + "0x480280447ff88000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x15", + "0x4802803a7ff88000", + "0x482480017fff8000", + "0x5b5e", + "0x482680017ff88000", + "0x3e", + "0x4802803c7ff88000", + "0x4802803d7ff88000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x28", + "0x480280327ff88000", + "0x482480017fff8000", + "0x8dcc", + "0x482680017ff88000", + "0x36", + "0x480280347ff88000", + "0x480280357ff88000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2e", + "0x4802802b7ff88000", + "0x482480017fff8000", + "0xb8ec", + "0x482680017ff88000", + "0x2f", + "0x4802802d7ff88000", + "0x4802802e7ff88000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x41", + "0x480280237ff88000", + "0x482480017fff8000", + "0xeb5a", + "0x482680017ff88000", + "0x27", + "0x480280257ff88000", + "0x480280267ff88000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x47", + "0x4802801c7ff88000", + "0x482480017fff8000", + "0x1167a", + "0x482680017ff88000", + "0x20", + "0x4802801e7ff88000", + "0x4802801f7ff88000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x5a", + "0x480280147ff88000", + "0x482480017fff8000", + "0x148e8", + "0x482680017ff88000", + "0x18", + "0x480280167ff88000", + "0x480280177ff88000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x60", + "0x4802800d7ff88000", + "0x482480017fff8000", + "0x17408", + "0x482680017ff88000", + "0x11", + "0x4802800f7ff88000", + "0x480280107ff88000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x73", + "0x480280057ff88000", + "0x482480017fff8000", + "0x1a676", + "0x482680017ff88000", + "0x9", + "0x480280077ff88000", + "0x480280087ff88000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202335", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0xb76f976ded6055ea8764d4c0305065e1ac948f1e7b80c5683346abc51677a7", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffd7fff", + "0x400380017ffd7ffc", + "0x400280027ffd7ffd", + "0x400280037ffd7ffe", + "0x480280057ffd8000", + "0x20680017fff7fff", + "0x17d", + "0x480280047ffd8000", + "0x480280067ffd8000", + "0x482680017ffd8000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x80", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480280007ffb7fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000000000ff", + "0x480280017ffb7fff", + "0x400280027ffb7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x15b", + "0x402780017fff7fff", + "0x1", + "0x482480017ffc8000", + "0x80", + "0x400280007ffb7fff", + "0x482480017ffb8000", + "0xffffffffffffffffffffffffffffff80", + "0x400280017ffb7fff", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x15ee265206c68ebe262487bf987386bdb0345b105e0a8f3fdde49e21b4d3b52", + "0x482680017ffb8000", + "0x2", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400080007ff67fff", + "0x400080017ff67ffb", + "0x400080027ff67ffc", + "0x400080037ff67ffd", + "0x480080057ff68000", + "0x20680017fff7fff", + "0x12b", + "0x480080047ff58000", + "0x480080067ff48000", + "0x482480017ff38000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x8000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffde000000000000ffff", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x109", + "0x402780017fff7fff", + "0x1", + "0x482480017ffc8000", + "0x8000", + "0x400080007ff77fff", + "0x482480017ffb8000", + "0xffffffffffffffffffffffffffff8000", + "0x400080017ff67fff", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x130de67520c6c99672682b869ce5c11846d997bdb10945e08d60c2ad54a24bd", + "0x482480017ff38000", + "0x2", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400080007ff67fff", + "0x400080017ff67ffb", + "0x400080027ff67ffc", + "0x400080037ff67ffd", + "0x480080057ff68000", + "0x20680017fff7fff", + "0xd9", + "0x480080047ff58000", + "0x480080067ff48000", + "0x482480017ff38000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x80000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000ffffffff", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0xb7", + "0x402780017fff7fff", + "0x1", + "0x482480017ffc8000", + "0x80000000", + "0x400080007ff77fff", + "0x482480017ffb8000", + "0xffffffffffffffffffffffff80000000", + "0x400080017ff67fff", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x10a461970d40c37627851bce26d52bc9c00c9dd9a6da81e46586fc24e261f68", + "0x482480017ff38000", + "0x2", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400080007ff67fff", + "0x400080017ff67ffb", + "0x400080027ff67ffc", + "0x400080037ff67ffd", + "0x480080057ff68000", + "0x20680017fff7fff", + "0x87", + "0x480080047ff58000", + "0x480080067ff48000", + "0x482480017ff38000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x8000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x65", + "0x402780017fff7fff", + "0x1", + "0x482480017ffc8000", + "0x8000000000000000", + "0x400080007ff77fff", + "0x482480017ffb8000", + "0xffffffffffffffff8000000000000000", + "0x400080017ff67fff", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x393c8c307bb955407b7080273b214454224f1b4aac907c863086f9452ac67de", + "0x482480017ff38000", + "0x2", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400080007ff67fff", + "0x400080017ff67ffb", + "0x400080027ff67ffc", + "0x400080037ff67ffd", + "0x480080057ff68000", + "0x20680017fff7fff", + "0x35", + "0x480080047ff58000", + "0x480080067ff48000", + "0x482480017ff38000", + "0x7", + "0x48127ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x80000000000000000000000000000000", + "0x4844800180008002", + "0x800000000000010ffffffffffffffff", + "0x4830800080017ffe", + "0x480080007ff57fff", + "0x482480017ffe8000", + "0xefffffffffffffde0000000000000001", + "0x480080017ff37fff", + "0x400080027ff27ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x16", + "0x402780017fff7fff", + "0x1", + "0x482480017ffc8000", + "0x80000000000000000000000000000000", + "0x400080007ff77fff", + "0x40780017fff7fff", + "0x10", + "0x482480017fe78000", + "0x1", + "0x482480017fec8000", + "0x758", + "0x48127fea7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127fb37fff8000", + "0x48127fbf7fff8000", + "0x48127fcb7fff8000", + "0x48127fd77fff8000", + "0x48127fe37fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffb36", + "0x482480017fec8000", + "0x3", + "0x48127ff17fff8000", + "0x48127fef7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xc", + "0x40780017fff7fff", + "0x10", + "0x480080047fe58000", + "0x48127fec7fff8000", + "0x482480017ffe8000", + "0x802", + "0x482480017fe28000", + "0x8", + "0x480080067fe18000", + "0x480080077fe08000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xd", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffb09", + "0x482480017fdf8000", + "0x3", + "0x482480017fe48000", + "0x2e86", + "0x48127fe27fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xc", + "0x40780017fff7fff", + "0x1d", + "0x480080047fd88000", + "0x48127fdf7fff8000", + "0x482480017ffe8000", + "0x36ec", + "0x482480017fd58000", + "0x8", + "0x480080067fd48000", + "0x480080077fd38000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1a", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffadb", + "0x482480017fd28000", + "0x3", + "0x482480017fd78000", + "0x5d70", + "0x48127fd57fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xc", + "0x40780017fff7fff", + "0x2a", + "0x480080047fcb8000", + "0x48127fd27fff8000", + "0x482480017ffe8000", + "0x65d6", + "0x482480017fc88000", + "0x8", + "0x480080067fc78000", + "0x480080077fc68000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x27", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffaad", + "0x482480017fc58000", + "0x3", + "0x482480017fca8000", + "0x8c5a", + "0x48127fc87fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xc", + "0x40780017fff7fff", + "0x37", + "0x480080047fbe8000", + "0x48127fc57fff8000", + "0x482480017ffe8000", + "0x94c0", + "0x482480017fbb8000", + "0x8", + "0x480080067fba8000", + "0x480080077fb98000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x34", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffa7f", + "0x482680017ffb8000", + "0x3", + "0x482480017fbd8000", + "0xbb44", + "0x48127fbb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xc", + "0x40780017fff7fff", + "0x44", + "0x480280047ffd8000", + "0x480a7ffb7fff8000", + "0x482480017ffe8000", + "0xc3aa", + "0x482680017ffd8000", + "0x8", + "0x480280067ffd8000", + "0x480280077ffd8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x208b7fff7fff7ffe" + ], + "bytecode_segment_lengths": [ + 221, 154, 221, 154, 221, 154, 222, 155, 223, 156, 223, 156, 223, 156, 223, 156, 220, 153, 378, + 103, 454, 104, 95, 98, 98, 9, 107, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 279, 9, 9, 9, 321, 348, 9, + 416 + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 39, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x100" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 43, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 86, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x5d5c" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [112, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [116, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [118, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 138, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -5 }, + "b": { "Immediate": "0x7" } + } + } + } + } + ] + ], + [142, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 221, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 257, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x3336" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [282, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [ + 290, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x100" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 294, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [312, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 375, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 414, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x10000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 418, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 461, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x5d5c" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [487, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [491, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [493, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 513, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -5 }, + "b": { "Immediate": "0x7" } + } + } + } + } + ] + ], + [517, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 596, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 632, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x3336" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [657, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [ + 665, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x10000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 669, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [687, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 750, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 789, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x10000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 793, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 836, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x5d5c" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [862, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [866, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [868, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 888, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -5 }, + "b": { "Immediate": "0x7" } + } + } + } + } + ] + ], + [892, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 971, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1007, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x3336" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [1032, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [ + 1040, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x10000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1044, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [1062, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 1125, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1164, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": -2 } }, + "rhs": { "Immediate": "0x100000000000000000000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1166, + [ + { + "DivMod": { + "lhs": { "Deref": { "register": "AP", "offset": -3 } }, + "rhs": { "Immediate": "0x100000000000000000000000000000000" }, + "quotient": { "register": "AP", "offset": 3 }, + "remainder": { "register": "AP", "offset": 4 } + } + } + ] + ], + [ + 1212, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x5d5c" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [1238, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [1242, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [1244, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 1264, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -5 }, + "b": { "Immediate": "0x7" } + } + } + } + } + ] + ], + [1268, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 1347, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1383, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x339a" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [1408, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [ + 1416, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": -3 } }, + "rhs": { "Immediate": "0x100000000000000000000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1418, + [ + { + "DivMod": { + "lhs": { "Deref": { "register": "AP", "offset": -4 } }, + "rhs": { "Immediate": "0x100000000000000000000000000000000" }, + "quotient": { "register": "AP", "offset": 3 }, + "remainder": { "register": "AP", "offset": 4 } + } + } + ] + ], + [1439, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 1502, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1541, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x80" } + } + }, + "rhs": { "Immediate": "0x100" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1545, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 1590, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x5d5c" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [1616, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [1620, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [1622, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 1642, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -5 }, + "b": { "Immediate": "0x7" } + } + } + } + } + ] + ], + [1646, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 1725, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1761, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x3336" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [1786, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [ + 1794, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x80" } + } + }, + "rhs": { "Immediate": "0x100" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1798, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [1818, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 1881, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1920, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x8000" } + } + }, + "rhs": { "Immediate": "0x10000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1924, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 1969, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x5d5c" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [1995, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [1999, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [2001, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 2021, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -5 }, + "b": { "Immediate": "0x7" } + } + } + } + } + ] + ], + [2025, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 2104, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 2140, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x3336" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [2165, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [ + 2173, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x8000" } + } + }, + "rhs": { "Immediate": "0x10000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 2177, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [2197, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 2260, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 2299, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x80000000" } + } + }, + "rhs": { "Immediate": "0x100000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 2303, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 2348, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x5d5c" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [2374, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [2378, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [2380, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 2400, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -5 }, + "b": { "Immediate": "0x7" } + } + } + } + } + ] + ], + [2404, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 2483, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 2519, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x3336" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [2544, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [ + 2552, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x80000000" } + } + }, + "rhs": { "Immediate": "0x100000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 2556, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [2576, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 2639, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 2678, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x8000000000000000" } + } + }, + "rhs": { "Immediate": "0x10000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 2682, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 2727, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x5d5c" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [2753, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [2757, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [2759, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 2779, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -5 }, + "b": { "Immediate": "0x7" } + } + } + } + } + ] + ], + [2783, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 2862, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 2898, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x3336" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [2923, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [ + 2931, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x8000000000000000" } + } + }, + "rhs": { "Immediate": "0x10000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 2935, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [2955, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 3018, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 3057, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x80000000000000000000000000000000" } + } + }, + "rhs": { "Immediate": "0x100000000000000000000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 3061, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x800000000000010ffffffffffffffff" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 3103, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x5d5c" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [3129, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [3133, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [3135, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 3155, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -5 }, + "b": { "Immediate": "0x7" } + } + } + } + } + ] + ], + [3159, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 3238, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 3274, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x3336" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [3299, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -5 } } } }]], + [ + 3307, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x80000000000000000000000000000000" } + } + }, + "rhs": { "Immediate": "0x100000000000000000000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 3311, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x800000000000010ffffffffffffffff" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [3328, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 3391, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x14a" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 3429, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x100" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 3433, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 3479, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x10000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 3483, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 3529, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x10000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 3533, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 3579, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": -2 } }, + "rhs": { "Immediate": "0x100000000000000000000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 3581, + [ + { + "DivMod": { + "lhs": { "Deref": { "register": "AP", "offset": -3 } }, + "rhs": { "Immediate": "0x100000000000000000000000000000000" }, + "quotient": { "register": "AP", "offset": 3 }, + "remainder": { "register": "AP", "offset": 4 } + } + } + ] + ], + [ + 3627, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x17c78" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [3651, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 3769, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 3805, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0xc756" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [3825, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 3872, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0xa6e" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 3910, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x80" } + } + }, + "rhs": { "Immediate": "0x100" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 3914, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 3962, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x8000" } + } + }, + "rhs": { "Immediate": "0x10000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 3966, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 4014, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x80000000" } + } + }, + "rhs": { "Immediate": "0x100000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 4018, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 4066, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x8000000000000000" } + } + }, + "rhs": { "Immediate": "0x10000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 4070, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 4118, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -2 }, + "b": { "Immediate": "0x80000000000000000000000000000000" } + } + }, + "rhs": { "Immediate": "0x100000000000000000000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 4122, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x800000000000010ffffffffffffffff" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 4164, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x1db64" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [4189, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 4326, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 4362, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0xf852" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [4382, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 4430, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 4466, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [4478, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 4525, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 4561, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0xc8" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [4573, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 4623, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 4659, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0xc8" }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [4671, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4721, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4837, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4846, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4855, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4864, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4873, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4882, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4891, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4900, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4909, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4918, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4927, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4947, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -7 } } } }]], + [4951, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4953, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 4973, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -7 }, + "b": { "Immediate": "0x7" } + } + } + } + } + ] + ], + [ + 4989, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -7 }, + "b": { "Immediate": "0xf" } + } + } + } + } + ] + ], + [4993, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [4995, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 5015, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -7 }, + "b": { "Immediate": "0x16" } + } + } + } + } + ] + ], + [ + 5031, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -7 }, + "b": { "Immediate": "0x1e" } + } + } + } + } + ] + ], + [5035, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [5037, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 5057, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -7 }, + "b": { "Immediate": "0x25" } + } + } + } + } + ] + ], + [ + 5073, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -7 }, + "b": { "Immediate": "0x2d" } + } + } + } + } + ] + ], + [5077, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [5079, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 5099, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -7 }, + "b": { "Immediate": "0x34" } + } + } + } + } + ] + ], + [5215, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [5224, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [5233, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [5252, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -3 } } } }]], + [ + 5260, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x100" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 5264, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [5295, [{ "SystemCall": { "system": { "Deref": { "register": "AP", "offset": -9 } } } }]], + [ + 5303, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x10000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 5307, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [5338, [{ "SystemCall": { "system": { "Deref": { "register": "AP", "offset": -9 } } } }]], + [ + 5346, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x0" } + } + }, + "rhs": { "Immediate": "0x10000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 5350, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [5381, [{ "SystemCall": { "system": { "Deref": { "register": "AP", "offset": -9 } } } }]], + [ + 5389, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": -3 } }, + "rhs": { "Immediate": "0x100000000000000000000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 5391, + [ + { + "DivMod": { + "lhs": { "Deref": { "register": "AP", "offset": -4 } }, + "rhs": { "Immediate": "0x100000000000000000000000000000000" }, + "quotient": { "register": "AP", "offset": 3 }, + "remainder": { "register": "AP", "offset": 4 } + } + } + ] + ], + [5574, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -8 } } } }]], + [5578, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [5580, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 5600, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -8 }, + "b": { "Immediate": "0x7" } + } + } + } + } + ] + ], + [ + 5616, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -8 }, + "b": { "Immediate": "0xf" } + } + } + } + } + ] + ], + [5620, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [5622, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 5642, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -8 }, + "b": { "Immediate": "0x16" } + } + } + } + } + ] + ], + [ + 5658, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -8 }, + "b": { "Immediate": "0x1e" } + } + } + } + } + ] + ], + [5662, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [5664, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 5684, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -8 }, + "b": { "Immediate": "0x25" } + } + } + } + } + ] + ], + [ + 5700, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -8 }, + "b": { "Immediate": "0x2d" } + } + } + } + } + ] + ], + [5704, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [5706, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 5726, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -8 }, + "b": { "Immediate": "0x34" } + } + } + } + } + ] + ], + [ + 5742, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -8 }, + "b": { "Immediate": "0x3c" } + } + } + } + } + ] + ], + [5746, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [5748, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 5768, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { "register": "FP", "offset": -8 }, + "b": { "Immediate": "0x43" } + } + } + } + } + ] + ], + [5911, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [5930, [{ "SystemCall": { "system": { "Deref": { "register": "FP", "offset": -3 } } } }]], + [ + 5938, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x80" } + } + }, + "rhs": { "Immediate": "0x100" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 5942, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [5975, [{ "SystemCall": { "system": { "Deref": { "register": "AP", "offset": -10 } } } }]], + [ + 5983, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x8000" } + } + }, + "rhs": { "Immediate": "0x10000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 5987, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [6020, [{ "SystemCall": { "system": { "Deref": { "register": "AP", "offset": -10 } } } }]], + [ + 6028, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x80000000" } + } + }, + "rhs": { "Immediate": "0x100000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 6032, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [6065, [{ "SystemCall": { "system": { "Deref": { "register": "AP", "offset": -10 } } } }]], + [ + 6073, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x8000000000000000" } + } + }, + "rhs": { "Immediate": "0x10000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 6077, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [6110, [{ "SystemCall": { "system": { "Deref": { "register": "AP", "offset": -10 } } } }]], + [ + 6118, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { "register": "AP", "offset": -3 }, + "b": { "Immediate": "0x80000000000000000000000000000000" } + } + }, + "rhs": { "Immediate": "0x100000000000000000000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 6122, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x800000000000010ffffffffffffffff" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ] + ], + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x1e50f8002c9ed610486ecd1cba8d6c6fcde7d7f0d89ce4c79f0595891c3896", + "offset": 1725, + "builtins": ["range_check"] + }, + { + "selector": "0x67d39cb9a31ac25974105b60f1b835a398e7b710707f24ab569d0176fadbb1", + "offset": 2260, + "builtins": ["range_check"] + }, + { + "selector": "0x79148715da7abd373353e23605e55db2ab09d66dda917d1a5d593fbd95b265", + "offset": 0, + "builtins": ["range_check"] + }, + { + "selector": "0x7c22f67f2da0f7a18990f68d47b7ed957d3b6ece5eb0f787f1000f0fb761de", + "offset": 750, + "builtins": ["range_check"] + }, + { + "selector": "0x88b0b3694994831acdee4b97ea333886627f38b35431cc88dc13eebea9434c", + "offset": 4326, + "builtins": ["range_check"] + }, + { + "selector": "0xa9915668a7afb09245a11f6957e740924677899fef92004466e7e98ee0f2ed", + "offset": 4525, + "builtins": ["range_check"] + }, + { + "selector": "0xaca1dfd32ac92be74082d9d29c9a2becaec459bdee163dadb1e361143a1b92", + "offset": 2483, + "builtins": ["range_check"] + }, + { + "selector": "0xb9a18955961159642e23802d3fd63d097faa3c093f1e54e423325de841b305", + "offset": 4623, + "builtins": ["range_check"] + }, + { + "selector": "0xc751960810c79b9f6a3709b3e25710ae251249279a1a8c0750ce55efcfb0e3", + "offset": 3391, + "builtins": ["range_check"] + }, + { + "selector": "0x112ee9d746182df12371df8f396ae1bf77fb9617854ea30015adcbd8b7e5d18", + "offset": 1502, + "builtins": ["range_check"] + }, + { + "selector": "0x12b72e6e6d363622227b15adf11dae8b60e0b0cf49be7b4df51a234009dc0b0", + "offset": 2104, + "builtins": ["range_check"] + }, + { + "selector": "0x187b97499d893143443c91e8e51b3b8b8df6cc4a5aa06942c65c7e2eec13556", + "offset": 221, + "builtins": ["range_check"] + }, + { + "selector": "0x1c5674cfcba543ff9713d74360b5ba5568e438a186156b94c5f639fa7aca480", + "offset": 3769, + "builtins": ["range_check"] + }, + { + "selector": "0x2145a7768d7f4e18608a68c1945bbdc2e61e0078b5a73fb4c16a706c8eb62e9", + "offset": 1347, + "builtins": ["range_check"] + }, + { + "selector": "0x22ac94f1e1ecf26cdf7f022282fc2baf1d5ef95e095e2ea156b0a6b8b3f3ddb", + "offset": 2639, + "builtins": ["range_check"] + }, + { + "selector": "0x23cba354df2d526b5bf13f4fe9e30f2aaa7a5274154be5a7910bd9a6efca31f", + "offset": 971, + "builtins": ["range_check"] + }, + { + "selector": "0x25ba1b21242c7225d11534bb327a2b9fe1229fc598165c86194569cbd06c33d", + "offset": 375, + "builtins": ["range_check"] + }, + { + "selector": "0x288ba86c72f5bddd08934d45b30fc8054e2b46d0e6123fffa3fb2389e0fd7a0", + "offset": 2862, + "builtins": ["range_check"] + }, + { + "selector": "0x2cce8f10dc528b23c5938d27cb7bd913294cf21b135b7be7ba3ea2030a56666", + "offset": 3872, + "builtins": ["range_check"] + }, + { + "selector": "0x2ce79fb2924ae5d5d543759ef4186fa3e183c2bbd2f3e199b94418f9b5f8862", + "offset": 3018, + "builtins": ["range_check"] + }, + { + "selector": "0x2faaf0774d2738d34815973c46f57ab8aaa5cd01f1e74ed9f1db477fae58fc8", + "offset": 3238, + "builtins": ["range_check"] + }, + { + "selector": "0x345230c098b00d795824c93d4614be7db54d2b3020fb201906474e43abd8e6d", + "offset": 4430, + "builtins": ["range_check"] + }, + { + "selector": "0x34e68cea2ad820c4a96827ab9822bdff9a5eed434420c25887a691872e4f5b8", + "offset": 1881, + "builtins": ["range_check"] + }, + { + "selector": "0x3b6af069d862a452462eb28c80dc264722e763efa763b85d009cdf347b2eb15", + "offset": 1125, + "builtins": ["range_check"] + }, + { + "selector": "0x3f9d86473d3610a8b3651e3a65da98ecdb2311a6958190893a17c1662a223a1", + "offset": 596, + "builtins": ["range_check"] + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + } +} diff --git a/__mocks__/cairo/integerTypes/target/dev/integer_types_test_IntegerTypesStorage.contract_class.json b/__mocks__/cairo/integerTypes/target/dev/integer_types_test_IntegerTypesStorage.contract_class.json new file mode 100644 index 000000000..869e7bebf --- /dev/null +++ b/__mocks__/cairo/integerTypes/target/dev/integer_types_test_IntegerTypesStorage.contract_class.json @@ -0,0 +1,3529 @@ +{ + "sierra_program": [ + "0x1", + "0x7", + "0x0", + "0x2", + "0xb", + "0x4", + "0x2e3", + "0x11d", + "0x60", + "0x52616e6765436865636b", + "0x800000000000000100000000000000000000000000000000", + "0x456e756d", + "0x800000000000000700000000000000000000000000000001", + "0x0", + "0x1e7cc030b6a62e51219c7055ff773a8dff8fb71637d893064207dc67ba74304", + "0x436f6e7374", + "0x800000000000000000000000000000000000000000000002", + "0x1", + "0x5e", + "0x2", + "0x4661696c656420746f20646573657269616c697a6520706172616d202335", + "0x4661696c656420746f20646573657269616c697a6520706172616d202332", + "0x4661696c656420746f20646573657269616c697a6520706172616d202333", + "0x4661696c656420746f20646573657269616c697a6520706172616d202334", + "0x53746f726549313238202d206e6f6e2069313238", + "0x53746f7265493634202d206e6f6e20693634", + "0x53746f7265493332202d206e6f6e20693332", + "0x53746f7265493136202d206e6f6e20693136", + "0x53746f72654938202d206e6f6e206938", + "0x53746f726555313238202d206e6f6e2075313238", + "0x53746f7265553634202d206e6f6e20753634", + "0x53746f7265553136202d206e6f6e20753136", + "0x53746f72655538202d206e6f6e207538", + "0x4661696c656420746f20646573657269616c697a6520706172616d202331", + "0x4f7574206f6620676173", + "0x33af51f74b3a40e66b5052631e22b7e1c6843b1a51156d1781ca24f860bb338", + "0x82f9fef96fd649f14bcb0c4ff558677902a37459e21d50114775dbb58c3bbf", + "0x3642a0487eb5367e207954b691ba98452b167253accd3ea5123b64a7c5a83d1", + "0x35acff2af14ca8571567a7ac4b89ff4e02d1db5127a7e6c12a6e06218a20ad6", + "0x3ec1c0acdfc686cb9b9ad67291859febaa49163fea2a936d8732a7c9a9f50a8", + "0x37f346aa393d08d0a53ed4e985c03c1697ab4dafec87a443646f854b0e9a2bf", + "0x3565898432d7550b6049cc5ff24387160badc1f648ff7bda9e163849d307ad", + "0x26658864aa0705943033a2cef69d87a47f2c433d13d388f15fb8edc3daa3641", + "0x9edd4f71efeecf23983c80d379669a1a0e6b9d675de2bef3d00bcd77181a3d", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x2d", + "0x5", + "0x80000000000000000000000000000000", + "0x2c", + "0x8000000000000000", + "0x2b", + "0x80000000", + "0x2a", + "0x8000", + "0x29", + "0x80", + "0x7fffffffffffffffffffffffffffffff", + "0x7fffffffffffffff", + "0x7fffffff", + "0x7fff", + "0x7f", + "0x37", + "0xffffffffffffffffffffffffffffffff", + "0x36", + "0xffffffffffffffff", + "0x35", + "0xffff", + "0x34", + "0xff", + "0x6938", + "0x800000000000000700000000000000000000000000000000", + "0x693136", + "0x693332", + "0x693634", + "0x69313238", + "0x537472756374", + "0x800000000000000700000000000000000000000000000006", + "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", + "0x800000000000000700000000000000000000000000000002", + "0x2e", + "0x800000000000000f00000000000000000000000000000001", + "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", + "0x4172726179", + "0x800000000000000300000000000000000000000000000001", + "0x800000000000000300000000000000000000000000000003", + "0x30", + "0x31", + "0x991da21f3ac7bac62a1e582ac57d076fa82af3cc5104b40e253882d45ef57e", + "0x2f", + "0x32", + "0x7538", + "0x753136", + "0x753634", + "0x75313238", + "0x800000000000000700000000000000000000000000000005", + "0x38", + "0x1443482f55bd0aad2b16718eb8b5738335fcbc408b5065b20a0b58bdf5d71a7", + "0x39", + "0x23f2523b57317e3726725a4ca7e01965877c147137f89f9d42fb22e4ce09cfa", + "0x800000000000000f00000000000000000000000000000003", + "0x3b", + "0x3c", + "0x1fe604af15b33170cfa9e929e17b09bd2e1d594293792fd46ffc08232abc9c4", + "0x3d", + "0x53746f726167654261736541646472657373", + "0x32a64c00920848f8e9cdf80684fe11aa90154247c0cba2a546a939134ba3b9a", + "0x3f", + "0x3ce5283ee2aa48a5123c6de3d914e5770a88c5bd48469144198699cae4a3afc", + "0x31374428e6fdd02f2fd5305beefd2847fbe1da0978d836d5a44451869aa036f", + "0x2b1593dcf53fff013c919fd0dd3c31411905d1a540e8a43adc687595979320f", + "0x9c21c7fd8fbc932544c7d9b034a02ff756e73ce8b6f4e0a0ba633a52793528", + "0x1d4b1e3750107ab2586cf4af62553a9a599794470568e0d198ac79dda221c81", + "0x181c95118bd5243b9ce17c7636a6e82427756d2d87359e9ea41f791990da13f", + "0xf9576d8e0ee02a8a74ec8c6079c180fdf754e408dcb1c0a53996f702bc9bd9", + "0x217df869bb0b01a6ddd4cf1d9c3e1232510f2f9d9419df7a3b9e10e8b07a31a", + "0x376f6a4650f03c0cf6b1902e6cfb24c50f8c5c4692c4063474a564b678bb0", + "0x1fd6cdfbe06b64c5329bdd6053ff2ecd941cf10c762964f479af5cba976aef0", + "0x249009445d8525f25aa91e7943ed812e820fc9b3779d1f078aa275810677ecb", + "0xbf2492c70c48a67545fd03e684bf9c7f453360a13c67b42fa1560540564415", + "0x2d9624c2f4cdb329a8100dc8d3b1e579132989ba7b483ba4d2da405ea16866", + "0x3e343434fcb8ea5c07d104c997f385c79be9d4e7b497c01dbd3c08be47ff808", + "0x3dfe448f9327e7a232edb9079e191751d8b503d99fde2d50364c8101aa5d091", + "0x30df86604b54525ae11ba1b715c090c35576488a1286b0453186a976e6c9a32", + "0x536e617073686f74", + "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", + "0x51", + "0x52", + "0x3b8d83935903ecbbf798c0ff1eee093d94788bcea72fe1b57af0c3861ef40ee", + "0x80000000000000070000000000000000000000000000000a", + "0x1e167423fb262376bd2761b51f963103385115cd789490d84de450ad8359836", + "0x54", + "0x4f", + "0x4d", + "0x4b", + "0x49", + "0x47", + "0x45", + "0x43", + "0x41", + "0x57", + "0x753332", + "0x53746f7261676541646472657373", + "0x4275696c74696e436f737473", + "0x53797374656d", + "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", + "0x53", + "0x426f78", + "0x800000000000000700000000000000000000000000000003", + "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", + "0x5c", + "0x66656c74323532", + "0x4761734275696c74696e", + "0x10e", + "0x7265766f6b655f61705f747261636b696e67", + "0x77697468647261775f676173", + "0x6272616e63685f616c69676e", + "0x72656465706f7369745f676173", + "0x7374727563745f6465636f6e737472756374", + "0x656e61626c655f61705f747261636b696e67", + "0x73746f72655f74656d70", + "0x5f", + "0x61727261795f736e617073686f745f706f705f66726f6e74", + "0x656e756d5f696e6974", + "0x5d", + "0x6a756d70", + "0x7374727563745f636f6e737472756374", + "0x656e756d5f6d61746368", + "0x64697361626c655f61705f747261636b696e67", + "0x756e626f78", + "0x72656e616d65", + "0x75385f7472795f66726f6d5f66656c74323532", + "0x64726f70", + "0x66756e6374696f6e5f63616c6c", + "0x3", + "0x19", + "0x5b", + "0x5a", + "0x6765745f6275696c74696e5f636f737473", + "0x59", + "0x77697468647261775f6761735f616c6c", + "0x73746f726167655f626173655f616464726573735f636f6e7374", + "0x1c8cdbf1e825e94b708f22a0c76bfef46902c23a52b69a13e159253c8879377", + "0x647570", + "0x75385f746f5f66656c74323532", + "0x73746f726167655f616464726573735f66726f6d5f62617365", + "0x636f6e73745f61735f696d6d656469617465", + "0x56", + "0x58", + "0x73746f726167655f77726974655f73797363616c6c", + "0x61727261795f6e6577", + "0x55", + "0x736e617073686f745f74616b65", + "0x1a", + "0x656d69745f6576656e745f73797363616c6c", + "0x1b", + "0x1c", + "0x50", + "0x73746f726167655f726561645f73797363616c6c", + "0x61727261795f617070656e64", + "0x1d", + "0x7531365f7472795f66726f6d5f66656c74323532", + "0x33273fc5d9e9f210b83dc369806069da698eba2b8a05e7af9a9ae3ba80d8b0e", + "0x7531365f746f5f66656c74323532", + "0x4e", + "0x1e", + "0x7536345f7472795f66726f6d5f66656c74323532", + "0x1df06e11f6423448a394eeb7d5ec250ae172ecd77c505e2886375b1e17e7e60", + "0x7536345f746f5f66656c74323532", + "0x4c", + "0x1f", + "0x75313238735f66726f6d5f66656c74323532", + "0x1d0f5b509144123f4df6fea54f3a01c35813cbac4531e7636adb3ab5523f28e", + "0x753132385f746f5f66656c74323532", + "0x4a", + "0x20", + "0x69385f7472795f66726f6d5f66656c74323532", + "0xb76f976ded6055ea8764d4c0305065e1ac948f1e7b80c5683346abc51677a7", + "0x69385f746f5f66656c74323532", + "0x4", + "0x48", + "0x21", + "0x6931365f7472795f66726f6d5f66656c74323532", + "0x15ee265206c68ebe262487bf987386bdb0345b105e0a8f3fdde49e21b4d3b52", + "0x6931365f746f5f66656c74323532", + "0x46", + "0x22", + "0x6933325f7472795f66726f6d5f66656c74323532", + "0x130de67520c6c99672682b869ce5c11846d997bdb10945e08d60c2ad54a24bd", + "0x6933325f746f5f66656c74323532", + "0x6", + "0x44", + "0x23", + "0x6936345f7472795f66726f6d5f66656c74323532", + "0x10a461970d40c37627851bce26d52bc9c00c9dd9a6da81e46586fc24e261f68", + "0x6936345f746f5f66656c74323532", + "0x7", + "0x42", + "0x24", + "0x693132385f7472795f66726f6d5f66656c74323532", + "0x393c8c307bb955407b7080273b214454224f1b4aac907c863086f9452ac67de", + "0x693132385f746f5f66656c74323532", + "0x8", + "0x40", + "0x25", + "0x26", + "0x3e", + "0x27", + "0x28", + "0x3a", + "0x33", + "0x18", + "0x17", + "0x16", + "0x15", + "0x14", + "0x13", + "0x12", + "0x11", + "0x10", + "0xf", + "0xe", + "0xd", + "0xc", + "0xb", + "0xa", + "0x9", + "0x12d6", + "0x9e", + "0x90", + "0x8a", + "0x70", + "0x69", + "0x77", + "0x97", + "0x61", + "0x62", + "0x63", + "0x109", + "0xbb", + "0x100", + "0xf1", + "0xe7", + "0xf8", + "0x1b1", + "0x123", + "0x12a", + "0x1a3", + "0x19d", + "0x144", + "0x193", + "0x183", + "0x17c", + "0x18a", + "0x1aa", + "0x21c", + "0x1ce", + "0x213", + "0x204", + "0x1fa", + "0x20b", + "0x2c4", + "0x236", + "0x23d", + "0x2b6", + "0x2b0", + "0x257", + "0x2a6", + "0x296", + "0x28f", + "0x29d", + "0x2bd", + "0x32f", + "0x2e1", + "0x326", + "0x317", + "0x30d", + "0x31e", + "0x3d9", + "0x349", + "0x350", + "0x3cb", + "0x3c3", + "0x36a", + "0x3b9", + "0x3a9", + "0x3a2", + "0x3b0", + "0x3d2", + "0x64", + "0x65", + "0x446", + "0x3f6", + "0x43d", + "0x66", + "0x67", + "0x42e", + "0x422", + "0x68", + "0x435", + "0x4ee", + "0x460", + "0x467", + "0x4e0", + "0x4da", + "0x481", + "0x6a", + "0x4d0", + "0x6b", + "0x6c", + "0x6d", + "0x4c0", + "0x6e", + "0x6f", + "0x4b9", + "0x4c7", + "0x4e7", + "0x559", + "0x50b", + "0x550", + "0x71", + "0x72", + "0x73", + "0x541", + "0x537", + "0x74", + "0x548", + "0x601", + "0x573", + "0x57a", + "0x5f3", + "0x75", + "0x5ed", + "0x594", + "0x76", + "0x5e3", + "0x78", + "0x79", + "0x5d3", + "0x7a", + "0x7b", + "0x5cc", + "0x5da", + "0x5fa", + "0x66c", + "0x61e", + "0x663", + "0x7c", + "0x7d", + "0x7e", + "0x654", + "0x64a", + "0x65b", + "0x714", + "0x686", + "0x68d", + "0x706", + "0x81", + "0x700", + "0x6a7", + "0x82", + "0x6f6", + "0x83", + "0x84", + "0x85", + "0x6e6", + "0x86", + "0x87", + "0x6df", + "0x6ed", + "0x70d", + "0x77f", + "0x731", + "0x776", + "0x88", + "0x89", + "0x8b", + "0x767", + "0x75d", + "0x8c", + "0x76e", + "0x827", + "0x799", + "0x7a0", + "0x819", + "0x8d", + "0x813", + "0x7ba", + "0x8e", + "0x809", + "0x8f", + "0x91", + "0x7f9", + "0x92", + "0x93", + "0x7f2", + "0x800", + "0x820", + "0x892", + "0x844", + "0x889", + "0x94", + "0x95", + "0x96", + "0x87a", + "0x870", + "0x98", + "0x881", + "0x93a", + "0x8ac", + "0x8b3", + "0x92c", + "0x99", + "0x926", + "0x8cd", + "0x9a", + "0x91c", + "0x9b", + "0x9c", + "0x9d", + "0x90c", + "0x9f", + "0x905", + "0x913", + "0x933", + "0x9a5", + "0x957", + "0x99c", + "0xa0", + "0xa1", + "0xa2", + "0xa3", + "0x98d", + "0x983", + "0xa4", + "0x994", + "0xacf", + "0x9bf", + "0x9c6", + "0xac1", + "0xabb", + "0x9dc", + "0x9e3", + "0xaac", + "0xaa4", + "0x9f7", + "0x9fe", + "0xa94", + "0xa8b", + "0xa12", + "0xa19", + "0xa7a", + "0xa6e", + "0xa36", + "0xa60", + "0xa5", + "0xa6", + "0xa7", + "0xa8", + "0xa9", + "0xaa", + "0xab", + "0xa58", + "0xac", + "0xa84", + "0xad", + "0xa9d", + "0xae", + "0xab4", + "0xaf", + "0xac8", + "0xb2b", + "0xaec", + "0xb22", + "0xb0", + "0xb1", + "0xb2", + "0xb3", + "0xb1a", + "0xb4", + "0xb5", + "0xb6", + "0xb7", + "0xb8", + "0xb9", + "0xba", + "0xc8e", + "0xb45", + "0xb4c", + "0xc80", + "0xc7a", + "0xb62", + "0xb69", + "0xc6b", + "0xc63", + "0xb7d", + "0xb84", + "0xc53", + "0xc4a", + "0xb98", + "0xb9f", + "0xc39", + "0xc2f", + "0xbb3", + "0xbba", + "0xc1d", + "0xc12", + "0xbd8", + "0xc03", + "0xbc", + "0xbd", + "0xbe", + "0xbf", + "0xc0", + "0xc1", + "0xbfb", + "0xc28", + "0xc2", + "0xc43", + "0xc5c", + "0xc73", + "0xc87", + "0xced", + "0xcab", + "0xce4", + "0xc3", + "0xc4", + "0xcdc", + "0xc5", + "0xc6", + "0xc7", + "0xc8", + "0xc9", + "0xca", + "0xcb", + "0xcc", + "0xcd", + "0xd3f", + "0xd0a", + "0xd36", + "0xce", + "0xcf", + "0xd0", + "0xd1", + "0xd2", + "0xd96", + "0xd5c", + "0xd8d", + "0xd3", + "0xd4", + "0xd5", + "0xd6", + "0xd7", + "0xd8", + "0xded", + "0xdb3", + "0xde4", + "0xd9", + "0xda", + "0xdb", + "0xdc", + "0xdd", + "0xde", + "0xdf", + "0xe0", + "0xe0b", + "0xe16", + "0xe21", + "0xe2c", + "0xe37", + "0xe42", + "0xe4d", + "0xe58", + "0xe1", + "0xe2", + "0xe3", + "0xe4", + "0xe5", + "0xe6", + "0xe8", + "0xe9", + "0xea", + "0xeb", + "0xec", + "0xed", + "0xee", + "0xef", + "0xf0", + "0xf2", + "0xf3", + "0xf4", + "0xf5", + "0xf6", + "0xf7", + "0xf9", + "0xfa", + "0xfb", + "0xfc", + "0xfd", + "0xf9b", + "0xf90", + "0xf7f", + "0xf75", + "0xf65", + "0xf5c", + "0xf50", + "0xf45", + "0xfe", + "0x101", + "0xf6e", + "0xf89", + "0xfa6", + "0x102", + "0x103", + "0x104", + "0x1087", + "0x107d", + "0x106d", + "0x1062", + "0x1051", + "0x1045", + "0x1033", + "0x1024", + "0x105", + "0x106", + "0x107", + "0x103d", + "0x108", + "0x105a", + "0x1075", + "0x108e", + "0x11b5", + "0x11a9", + "0x1197", + "0x118c", + "0x117b", + "0x1171", + "0x1161", + "0x1158", + "0x114c", + "0x1141", + "0x116a", + "0x1185", + "0x11a2", + "0x11c1", + "0x12c7", + "0x12bd", + "0x12ad", + "0x12a2", + "0x1291", + "0x1285", + "0x1273", + "0x1266", + "0x1253", + "0x1245", + "0x10a", + "0x10b", + "0x10c", + "0x125e", + "0x10d", + "0x127d", + "0x129a", + "0x12b5", + "0x12ce", + "0x113", + "0x1bb", + "0x226", + "0x2ce", + "0x339", + "0x3e3", + "0x450", + "0x4f8", + "0x563", + "0x60b", + "0x676", + "0x71e", + "0x789", + "0x831", + "0x89c", + "0x944", + "0x9af", + "0xad9", + "0xb35", + "0xc98", + "0xcf7", + "0xd49", + "0xda0", + "0xdf7", + "0xdff", + "0xe63", + "0xe6b", + "0xe73", + "0xe7b", + "0xe83", + "0xe8b", + "0xe93", + "0xe9b", + "0xea3", + "0xeab", + "0xeb3", + "0xebb", + "0xfad", + "0xfb5", + "0xfbd", + "0xfc5", + "0x1096", + "0x11c8", + "0x11d0", + "0x9bbb", + "0xe02c0a0240801c0d02c0a0240801c0c02c0a0240801c060140400c0200400", + "0x70480b02809020070440b02809020070400b028090200703c0b0280902007", + "0x801c1602c0a0240801c1502c0a0240801c1402c0a0240801c1302c0a02408", + "0x9020070680b02809020070640b02809020070600b028090200705c0b02809", + "0xa0240801c1e02c0a0240801c1d02c0a0240801c1c02c0a0240801c1b02c0a", + "0xb02809020070880b02809020070840b02809020070800b028090200707c0b", + "0x2b0982a0240801c29098280240801c27098250240801c2402c0a0240801c23", + "0x70c40b0a009020070c00b09409020070bc260b809020070b4260b00902007", + "0x801c3602c350240801c3402c2e0240801c3302c2c0240801c3202c2a02408", + "0x420f8410f8400f83f0f83d0f00b0ec09020070e80b0e409020070e00b0dc09", + "0x490144810c47024450144610c25024280242a0242c0242e024450144410c3e", + "0x540f8530f852144091400913c0513003138091340911405130430280912c4a", + "0x580144c00c57024450144610c3502437024390243b024450145610c3e1543e", + "0x9178051300317409170091140516c43114051204316805120431440916409", + "0x4610c62024640144610c25024630144610c62024610144610c3e180510245f", + "0x511843188091a005118430a80919c05118431880919805118430a00919405", + "0x6d0144610c620246c0144610c2e0246b0144610c620246a0144610c2c02469", + "0x91c40511843188091c005118430dc091bc0511843188091b805118430d409", + "0x4610c76024450144610c75024740144610c4e024041cc62024720144610c39", + "0x920409200091fc091f8091f4091f0091ec091e8091e4051e0030ec091dc05", + "0x42285102489024880144c00c0221c3e2183e2143e2100502c830240801c82", + "0x9254052500524c0524805244900088f0f88e17409234092300522c0302809", + "0x9024970140b26c0902c9a028090249926009024970140902497014961d809", + "0x92800527c9b024092780902c9b0240b2685d02409274052709b0240925c75", + "0xa40ec09024a323409024a31d409024a3014a2028090249702809024a102809", + "0x52acaa0240925c052a4a70240925ca80240925c0902ca70240b268a629409", + "0xb42cc090249720c09024972c809024b1014b0014af0ec09024ae2b40b024ac", + "0x925cb60240928cb6024092dc0502cb60240b2687a024092740a024092d405", + "0x9d014b91d8090249d13809024a313809024b72e0a5024a413809024972d809", + "0x5d0240928cba2940929051024092744d024092740502ca70240b2688902409", + "0xa12f009024952f009024a32f009024b72f0090249d1d809024a32eca5024a4", + "0x928c053004d0240928c5102409254bf294092900a024092f8052f46202409", + "0x90249d0240b2d80902c9a1ec090249d014c20e409024ae3040b024ac0e409", + "0x92b0370240928c05314c429409290c302409254c30240928cc3024092dcc3", + "0x9024b7320090249d02c0b2d80902c9a1f0090249d014c70dc09024ae3180b", + "0x92b8cb02c092b0350240928c05328c929409290c802409254c80240928cc8", + "0x9024a333409024b7334090249d2940b2d80902c9a1f4090249d014cc0d409", + "0x53442e024092b8d002c092b02e0240928c0533cce29409290cd02409254cd", + "0x90249534c09024a334c09024b734c090249d3480b2d80902c9a1f8090249d", + "0x7f024092740535c2c024092b8d602c092b02c0240928c05354d429409290d3", + "0xa5024a4360090249536009024a336009024b7360090249d0980b2d80902c9a", + "0xb60240b2688002409274053702a024092b8db02c092b02a0240928c05368d9", + "0xa3014e037ca5024a4378090249537809024a337809024b7378090249d3740b", + "0x9274e302cb60240b26881024092740538828024092b8e102c092b02802409", + "0xac09409024a3014e6394a5024a4390090249539009024a339009024b739009", + "0x92dcea02409274e902cb60240b2688202409274053a025024092b8e702c09", + "0x9024970ec0902497170090249d3aca5024a43a809024953a809024a33a809", + "0xee294092905f0240928ced02409278ec29409290350240925c370240925c39", + "0x953c0090249e0b0a5024a417009024a317009024b70b8a5024a43bca5024a4", + "0x928439024092843b024092845702409254570240928c57024092dc5902409", + "0x9024970a009024970a809024970b009024970b809024970d409024a10dc09", + "0x47024092dc5002409254f102409278252940929028294092902a2940929025", + "0xa10a009024a10a809024a10b009024a10b809024a111c090249511c09024a3", + "0x92c45702409274eb024092c4ec024092c4ee024092c4ef024092c42502409", + "0x9024b111c090249d33809024b135009024b136409024b137c09024b139409", + "0x510240925cb8024092c4ba024092c4bb024092c4bf024092c4c4024092c4c9", + "0x953cc09024b11ec09024953c809024b11e8090249529809024b12d8090249e", + "0x9254f6024092c47e02409254f5024092c47d02409254f4024092c47c02409", + "0x9024953e409024b120409024953e009024b120009024953dc09024b11fc09", + "0xff024092c4fe024092c4fd024092c4fc024092c4fb024092c4fa024092c482", + "0x9a17c090249d37409024b138c09024b13a409024b140409024b140009024b1", + "0x92c4d2024092c426024092c40902ced0240b268ed0240925c0502ced0240b", + "0x9024b10240b3c00902c9a3c009024970140b3c00902c9a164090249d29409", + "0x5014054080902cf10240b268f10240925c0502cf10240b26850024092740b", + "0xa5014050e0090140b014e33740b40c263480b0e00b0240502c09014050e009", + "0x93480937405014380240509805404090e00929409348053a4090e00909809", + "0xb014fe024fa3fd0002c3802d01024e9014e902438024e9024e3014d202438", + "0x93f40938c053f0090e0093fc09404053f4090e0093a409294050143802405", + "0x53cc09014fe014f902438024fc024ff014fa024380250002500014fb02438", + "0xf7024fc014f702438024053f4053e0090e0093a40929405014380240502c05", + "0x93d8093fc053e8090e0093f809400053ec090e0093e00938c053d8090e009", + "0x38024053e805014380240502c053d009410f50243802cf9024fb014f902438", + "0xa602438024f2024f8014f202438024f5024f9014f302438024fb024a501405", + "0xb802c3802ca63480b3d8053cc090e0093cc0938c05298090e009298093dc05", + "0x90e0092e009374052fc090e0093cc0929405014380240502c052ec09414ba", + "0x90140b014ce0244e324c402c3802cfa024e9014bf02438024bf024e3014b8", + "0xa5014050e0092e8093cc0501438024c9024f4014050e009310093d40501438", + "0xb8024dd014df02438024d9024a6014d902438024053c805350090e0092fc09", + "0x937c092e80502c090e00902c092e005350090e0093500938c052e0090e009", + "0x92940501438024ce024f5014050e0090140b014df02cd42e0d2024df02438", + "0x93ac092fc05394090e0093940938c053ac090e009014bb014e502438024bf", + "0x5014380240502c050b8ef02c2f3b8ec02c3802ceb394b8294c4014eb02438", + "0xd4014282e80b0e0092e809338050a8090e009014c90142c02438024ee024a5", + "0x90142601450024380240537c0511c090e0090a80936405094090e0090a009", + "0x90e00911c093ac05140090e00914009394050b0090e0090b00938c0501438", + "0x51295061384d02c3802c2511c5002c2c098ec014ec02438024ec024dd01447", + "0x50e4090e0091340929405134090e0091340938c05014380240502c050ecf1", + "0x570242e0145702438024ba024ef0143502438024053b8050dc090e009014ee", + "0x9170090a00501438024f00242a0145c3c00b0e009164090b005164090e009", + "0x350dc5c2944701435024380243502425014370243802437024250145c02438", + "0x5f02450014050e0093b40913405188ed02c380245d024500145f1740b0e009", + "0x92080913805390090e009188091380501438024ea0244d014823a80b0e009", + "0xa541c803780b0e00b204e41383934851014390243802439024e30148102438", + "0xa5014de02438024de024e3014050e009014fa014050e0090140b014d31fcd8", + "0x9134053207d02c38024cd02450014cd02438024053b8051f8090e00937809", + "0x930c090ec0530c090e0091f0093c4051f0090e0093200913805014380247d", + "0x3802480024b80147e024380247e024e3014ec02438024ec024dd0147b02438", + "0x938c05014380240502c051ec801f8ec348091ec090e0091ec092e80520009", + "0x7f024b80147502438024bc024e3014bc02438024d8024a5014d802438024d8", + "0x5014380240502c0501508024053f805224090e00934c09094051d8090e009", + "0x938c051e8090e0091440929405144090e0091440938c0501438024ba024f3", + "0x9014fa01489024380243b024250147602438024f1024b801475024380247a", + "0x90e0092c809298052c8090e009224b602c37014b602438024050e40501438", + "0x760243802476024b8014750243802475024e3014ec02438024ec024dd01483", + "0x92e8093cc05014380240502c0520c761d4ec3480920c090e00920c092e805", + "0xa802438024aa024a6014aa02438024050d4052cc090e0090b8092940501438", + "0x502c090e00902c092e0052cc090e0092cc0938c053bc090e0093bc0937405", + "0x38024fa024f5014050e0090140b014a802cb33bcd2024a802438024a8024ba", + "0x9b02438024a7024e30148d02438024bb024dd014a702438024f3024a501405", + "0x50e0093d00915c0501438024053e805014380240502c0501509024053f805", + "0xe30148d02438024d2024dd0140a02438024fb024a5014050e0093e8093d405", + "0x8d024dd014000243802498024a60149802438024051640526c090e00902809", + "0x9000092e80502c090e00902c092e00526c090e00926c0938c05234090e009", + "0x92940501438024a5024f0014050e0090140b0140002c9b234d20240002438", + "0x93740937405430090e00942c092980542c090e009014350150a02438024e3", + "0x380250c024ba0140b024380240b024b80150a024380250a024e3014dd02438", + "0x10d098d202c3802c090140b024050143802405014054300b428dd3480943009", + "0x10102438024a5024d2014e90243802426024a5014050e0090140b014e33740b", + "0xff4000b0e00b404093a4053a4090e0093a40938c05348090e0093480937405", + "0xa5014050e0093fc093d0050143802500024f5014050e0090140b014fe0250e", + "0xd2024dd014fb02438024fc024a6014fc02438024053c8053f4090e0093a409", + "0x93ec092e80502c090e00902c092e0053f4090e0093f40938c05348090e009", + "0x92940501438024fe024f5014050e0090140b014fb02cfd348d2024fb02438", + "0x93e4092fc053e8090e0093e80938c053e4090e009014bb014fa02438024e9", + "0x5014380240502c053d4f602d0f3dcf802c3802cf93e8d2294c4014f902438", + "0x9174053c8090e0093cc09170053cc090e009014c9014f402438024f7024a5", + "0xba02462014ba02438024b8024ed014050e0092980917c052e0a602c38024f2", + "0x38024f4024e3014c4024380240537c052fc090e0092ec09364052ec090e009", + "0x90e0093e009374052fc090e0092fc093ac05310090e00931009394053d009", + "0x50e0090140b014e537cd929510350ce324a50e00b2fcc402cf4348ea014f8", + "0x5350090e009350093dc053ac090e0093240929405324090e0093240938c05", + "0xee3b00b0e00b350f802cf6014eb02438024eb024e3014ce02438024ce024b8", + "0x50b0090e009014ee0142e02438024eb024a5014050e0090140b014ef02511", + "0x470940b0e0090a009140050a0090e0090a82c02c820142a02438024ee024d4", + "0x3b0144d0243802450024f10145002438024470244e014050e0090940913405", + "0x92e0050b8090e0090b80938c053b0090e0093b00937405138090e00913409", + "0x50e0090140b0144e3382e3b0d20244e024380244e024ba014ce02438024ce", + "0x50e43b02c38024f102481014f1024380240539005144090e0093ac0929405", + "0x92e0050d4090e0091440938c050dc090e0093bc0937405014380243b024de", + "0x50e0090140b0140544809014fe014590243802439024250145702438024ce", + "0x50dc090e0093e009374053c0090e0093640929405364090e0093640938c05", + "0x390145902438024e5024250145702438024df024b80143502438024f0024e3", + "0x93740517c090e0091740929805174090e0091645c02c370145c0243802405", + "0x5f024ba014570243802457024b8014350243802435024e3014370243802437", + "0x53b4090e0093d40929405014380240502c0517c570d4373480917c090e009", + "0x938c053d8090e0093d809374053a8090e0091880929805188090e00901435", + "0xed3d8d2024ea02438024ea024ba0140b024380240b024b8014ed02438024ed", + "0x350148202438024e3024a5014050e009294093c005014380240502c053a80b", + "0x82024e3014dd02438024dd024dd0148102438024e4024a6014e40243802405", + "0xb208dd34809204090e009204092e80502c090e00902c092e005208090e009", + "0x90140b014e33740b44c263480b0e00b0240502c09014050e0090140501481", + "0x5014380240509805404090e00929409348053a4090e009098092940501438", + "0x1143fd0002c3802d01024e9014e902438024e9024e3014d202438024d2024dd", + "0x53f0090e0093fc09404053f4090e0093a40929405014380240502c053f809", + "0xfe014f902438024fc024ff014fa024380250002500014fb02438024fd024e3", + "0xf702438024053f4053e0090e0093a40929405014380240502c050151502405", + "0x53e8090e0093f809400053ec090e0093e00938c053d8090e0093dc093f005", + "0x5014380240502c053d009458f50243802cf9024fb014f902438024f6024ff", + "0xf2024f8014f202438024f5024f9014f302438024fb024a5014050e009014fa", + "0xa63480b200053cc090e0093cc0938c05298090e009298093dc05298090e009", + "0x9374052fc090e0093cc0929405014380240502c052ec0945cba2e00b0e00b", + "0xce02518324c402c3802cfa024e9014bf02438024bf024e3014b802438024b8", + "0x92e8093600501438024c9024f4014050e009310093d405014380240502c05", + "0xdf02438024d9024a6014d902438024053c805350090e0092fc092940501438", + "0x502c090e00902c092e005350090e0093500938c052e0090e0092e00937405", + "0x38024ce024f5014050e0090140b014df02cd42e0d2024df02438024df024ba", + "0x5394090e0093940938c053ac090e009014bb014e502438024bf024a501405", + "0x502c050b8ef02d193b8ec02c3802ceb394b8294c4014eb02438024eb024bf", + "0xb0e0092e80934c050a8090e0090147f0142c02438024ee024a5014050e009", + "0x50024380240537c0511c090e0090a80936405094090e0090a0091f8050a0ba", + "0x93ac05140090e00914009394050b0090e0090b00938c05014380240509805", + "0x4d02c3802c2511c5002c2c098ec014ec02438024ec024dd014470243802447", + "0x91340929405134090e0091340938c05014380240502c050ecf1144a54684e", + "0x5702438024ba024cd0143502438024053b8050dc090e009014ee0143902438", + "0x501438024f00242a0145c3c00b0e009164090b005164090e00915c091f405", + "0x4701435024380243502425014370243802437024250145c024380245c02428", + "0x50e0093b40913405188ed02c380245d024500145f1740b0e0090d437170a5", + "0x5390090e009188091380501438024ea0244d014823a80b0e00917c0914005", + "0xb0e00b204e41383934851014390243802439024e30148102438024820244e", + "0x38024de024e3014050e009014fa014050e0090140b014d31fcd82951b200de", + "0x7d02c38024cd02450014cd02438024053b8051f8090e009378092940537809", + "0x530c090e0091f0093c4051f0090e0093200913805014380247d0244d014c8", + "0xb80147e024380247e024e3014ec02438024ec024dd0147b02438024c30243b", + "0x380240502c051ec801f8ec348091ec090e0091ec092e805200090e00920009", + "0x7502438024bc024e3014bc02438024d8024a5014d802438024d8024e301405", + "0x502c050151c024053f805224090e00934c09094051d8090e0091fc092e005", + "0x90e0091440929405144090e0091440938c0501438024ba024d8014050e009", + "0x89024380243b024250147602438024f1024b801475024380247a024e30147a", + "0x9298052c8090e009224b602c37014b602438024050e40501438024053e805", + "0x76024b8014750243802475024e3014ec02438024ec024dd0148302438024b2", + "0x5014380240502c0520c761d4ec3480920c090e00920c092e8051d8090e009", + "0xaa024a6014aa02438024050d4052cc090e0090b8092940501438024ba024d8", + "0x902c092e0052cc090e0092cc0938c053bc090e0093bc09374052a0090e009", + "0xf5014050e0090140b014a802cb33bcd2024a802438024a8024ba0140b02438", + "0xa7024e30148d02438024bb024dd014a702438024f3024a5014050e0093e809", + "0x915c0501438024053e805014380240502c050151d024053f80526c090e009", + "0x38024d2024dd0140a02438024fb024a5014050e0093e8093d40501438024f4", + "0x243802498024a60149802438024051640526c090e0090280938c0523409", + "0x502c090e00902c092e00526c090e00926c0938c05234090e0092340937405", + "0x38024a5024f0014050e0090140b0140002c9b234d2024000243802400024ba", + "0x5430090e00942c092980542c090e009014350150a02438024e3024a501405", + "0xba0140b024380240b024b80150a024380250a024e3014dd02438024dd024dd", + "0x3802c090140b024050143802405014054300b428dd34809430090e00943009", + "0xa5024d2014e90243802426024a5014050e0090140b014e33740b478263480b", + "0xb404093a4053a4090e0093a40938c05348090e0093480937405404090e009", + "0x93fc093d0050143802500024f5014050e0090140b014fe0251f3fd0002c38", + "0xfb02438024fc024a6014fc02438024053c8053f4090e0093a4092940501438", + "0x502c090e00902c092e0053f4090e0093f40938c05348090e0093480937405", + "0x38024fe024f5014050e0090140b014fb02cfd348d2024fb02438024fb024ba", + "0x53e8090e0093e80938c053e4090e009014bb014fa02438024e9024a501405", + "0x502c053d4f602d203dcf802c3802cf93e8d2294c4014f902438024f9024bf", + "0x90e0093cc09320053cc090e0090147f014f402438024f7024a5014050e009", + "0xba02438024b80247b014050e0092980930c052e0a602c38024f20247c014f2", + "0xe3014c4024380240537c052fc090e0092ec09364052ec090e0092e80918805", + "0x9374052fc090e0092fc093ac05310090e00931009394053d0090e0093d009", + "0xb014e537cd929521350ce324a50e00b2fcc402cf4348ea014f802438024f8", + "0x9350093dc053ac090e0093240929405324090e0093240938c050143802405", + "0xb350f802c80014eb02438024eb024e3014ce02438024ce024b8014d402438", + "0x9014ee0142e02438024eb024a5014050e0090140b014ef025223b8ec02c38", + "0x90a009140050a0090e0090a82c02c820142a02438024ee0247e0142c02438", + "0x3802450024f10145002438024470244e014050e009094091340511c2502c38", + "0x90e0090b80938c053b0090e0093b00937405138090e009134090ec0513409", + "0xb0144e3382e3b0d20244e024380244e024ba014ce02438024ce024b80142e", + "0x38024f102481014f102438024052f005144090e0093ac09294050143802405", + "0x90e0091440938c050dc090e0093bc0937405014380243b024de014390ec0b", + "0xb0140548c09014fe014590243802439024250145702438024ce024b801435", + "0x93e009374053c0090e0093640929405364090e0093640938c050143802405", + "0x38024e5024250145702438024df024b80143502438024f0024e30143702438", + "0x90e0091740929805174090e0091645c02c370145c02438024050e40516409", + "0x570243802457024b8014350243802435024e3014370243802437024dd0145f", + "0x93d40929405014380240502c0517c570d4373480917c090e00917c092e805", + "0x90e0093d809374053a8090e0091880929805188090e00901435014ed02438", + "0xea02438024ea024ba0140b024380240b024b8014ed02438024ed024e3014f6", + "0x38024e3024a5014050e009294093c005014380240502c053a80b3b4f634809", + "0xdd02438024dd024dd0148102438024e4024a6014e402438024050d40520809", + "0x9204090e009204092e80502c090e00902c092e005208090e0092080938c05", + "0xe33740b490263480b0e00b0240502c09014050e009014050148102c82374d2", + "0x509805404090e00929409348053a4090e0090980929405014380240502c05", + "0x3802d01024e9014e902438024e9024e3014d202438024d2024dd014050e009", + "0x93fc09404053f4090e0093a40929405014380240502c053f809494ff4000b", + "0x38024fc024ff014fa024380250002500014fb02438024fd024e3014fc02438", + "0x53f4053e0090e0093a40929405014380240502c0501526024053f8053e409", + "0x93f809400053ec090e0093e00938c053d8090e0093dc093f0053dc090e009", + "0x502c053d00949cf50243802cf9024fb014f902438024f6024ff014fa02438", + "0xf202438024f5024f9014f302438024fb024a5014050e009014fa014050e009", + "0x53cc090e0093cc0938c05298090e009298093dc05298090e0093c8093e005", + "0x90e0093cc0929405014380240502c052ec094a0ba2e00b0e00b298d202c75", + "0xc402c3802cfa024e9014bf02438024bf024e3014b802438024b8024dd014bf", + "0x501438024c9024f4014050e009310093d405014380240502c05338094a4c9", + "0xd9024a6014d902438024053c805350090e0092fc092940501438024ba02476", + "0x902c092e005350090e0093500938c052e0090e0092e0093740537c090e009", + "0xf5014050e0090140b014df02cd42e0d2024df02438024df024ba0140b02438", + "0x93940938c053ac090e009014bb014e502438024bf024a5014050e00933809", + "0xef02d2a3b8ec02c3802ceb394b8294c4014eb02438024eb024bf014e502438", + "0x91e8050a8090e009014890142c02438024ee024a5014050e0090140b0142e", + "0x537c0511c090e0090a80936405094090e0090a0092d8050a0ba02c38024ba", + "0x90e00914009394050b0090e0090b00938c05014380240509805140090e009", + "0x2511c5002c2c098ec014ec02438024ec024dd014470243802447024eb01450", + "0x5134090e0091340938c05014380240502c050ecf1144a54ac4e1340b0e00b", + "0xba024b20143502438024053b8050dc090e009014ee01439024380244d024a5", + "0xf00242a0145c3c00b0e009164090b005164090e00915c0920c0515c090e009", + "0x380243502425014370243802437024250145c024380245c02428014050e009", + "0x913405188ed02c380245d024500145f1740b0e0090d437170a511c050d409", + "0x9188091380501438024ea0244d014823a80b0e00917c091400501438024ed", + "0xe41383934851014390243802439024e30148102438024820244e014e402438", + "0xe3014050e009014fa014050e0090140b014d31fcd82952c200de02c3802c81", + "0xcd02450014cd02438024053b8051f8090e0093780929405378090e00937809", + "0x91f0093c4051f0090e0093200913805014380247d0244d014c81f40b0e009", + "0x380247e024e3014ec02438024ec024dd0147b02438024c30243b014c302438", + "0x51ec801f8ec348091ec090e0091ec092e805200090e009200092e0051f809", + "0xbc024e3014bc02438024d8024a5014d802438024d8024e3014050e0090140b", + "0x12d024053f805224090e00934c09094051d8090e0091fc092e0051d4090e009", + "0x929405144090e0091440938c0501438024ba02476014050e0090140b01405", + "0x3b024250147602438024f1024b801475024380247a024e30147a0243802451", + "0x90e009224b602c37014b602438024050e40501438024053e805224090e009", + "0x750243802475024e3014ec02438024ec024dd0148302438024b2024a6014b2", + "0x502c0520c761d4ec3480920c090e00920c092e8051d8090e0091d8092e005", + "0xaa02438024050d4052cc090e0090b8092940501438024ba02476014050e009", + "0x52cc090e0092cc0938c053bc090e0093bc09374052a0090e0092a80929805", + "0x90140b014a802cb33bcd2024a802438024a8024ba0140b024380240b024b8", + "0x8d02438024bb024dd014a702438024f3024a5014050e0093e8093d40501438", + "0x38024053e805014380240502c050152e024053f80526c090e00929c0938c05", + "0xdd0140a02438024fb024a5014050e0093e8093d40501438024f40245701405", + "0x98024a60149802438024051640526c090e0090280938c05234090e00934809", + "0x902c092e00526c090e00926c0938c05234090e0092340937405000090e009", + "0xf0014050e0090140b0140002c9b234d2024000243802400024ba0140b02438", + "0x942c092980542c090e009014350150a02438024e3024a5014050e00929409", + "0x380240b024b80150a024380250a024e3014dd02438024dd024dd0150c02438", + "0xb024050143802405014054300b428dd34809430090e009430092e80502c09", + "0xe90243802426024a5014050e0090140b014e33740b4bc263480b0e00b02405", + "0x53a4090e0093a40938c05348090e0093480937405404090e0092940934805", + "0x50143802500024f5014050e0090140b014fe025303fd0002c3802d01024e9", + "0xfc024a6014fc02438024053c8053f4090e0093a4092940501438024ff024f4", + "0x902c092e0053f4090e0093f40938c05348090e00934809374053ec090e009", + "0xf5014050e0090140b014fb02cfd348d2024fb02438024fb024ba0140b02438", + "0x93e80938c053e4090e009014bb014fa02438024e9024a5014050e0093f809", + "0xf602d313dcf802c3802cf93e8d2294c4014f902438024f9024bf014fa02438", + "0x92cc053cc090e00901489014f402438024f7024a5014050e0090140b014f5", + "0xb8024a7014050e009298092a0052e0a602c38024f2024aa014f202438024f3", + "0x380240537c052fc090e0092ec09364052ec090e0092e809188052e8090e009", + "0x90e0092fc093ac05310090e00931009394053d0090e0093d00938c0531009", + "0xd929532350ce324a50e00b2fcc402cf4348ea014f802438024f8024dd014bf", + "0x53ac090e0093240929405324090e0093240938c05014380240502c05394df", + "0x75014eb02438024eb024e3014ce02438024ce024b8014d402438024d4024f7", + "0x2e02438024eb024a5014050e0090140b014ef025333b8ec02c3802cd43e00b", + "0x50a0090e0090a82c02c820142a02438024ee024b60142c02438024053b805", + "0xf10145002438024470244e014050e009094091340511c2502c380242802450", + "0x938c053b0090e0093b00937405138090e009134090ec05134090e00914009", + "0x2e3b0d20244e024380244e024ba014ce02438024ce024b80142e024380242e", + "0x81014f1024380240523405144090e0093ac0929405014380240502c05138ce", + "0x938c050dc090e0093bc0937405014380243b024de014390ec0b0e0093c409", + "0x9014fe014590243802439024250145702438024ce024b8014350243802451", + "0x53c0090e0093640929405364090e0093640938c05014380240502c0501534", + "0x250145702438024df024b80143502438024f0024e30143702438024f8024dd", + "0x929805174090e0091645c02c370145c02438024050e405164090e00939409", + "0x57024b8014350243802435024e3014370243802437024dd0145f024380245d", + "0x5014380240502c0517c570d4373480917c090e00917c092e80515c090e009", + "0x9374053a8090e0091880929805188090e00901435014ed02438024f5024a5", + "0xea024ba0140b024380240b024b8014ed02438024ed024e3014f602438024f6", + "0xa5014050e009294093c005014380240502c053a80b3b4f6348093a8090e009", + "0xdd024dd0148102438024e4024a6014e402438024050d405208090e00938c09", + "0x9204092e80502c090e00902c092e005208090e0092080938c05374090e009", + "0x263480b0e00b0240502c09014050e009014050148102c82374d20248102438", + "0x90e00929409348053a4090e0090980929405014380240502c0538cdd02d35", + "0xe9014e902438024e9024e3014d202438024d2024dd014050e0090142601501", + "0x53f4090e0093a40929405014380240502c053f8094d8ff4000b0e00b40409", + "0xff014fa024380250002500014fb02438024fd024e3014fc02438024ff02501", + "0x90e0093a40929405014380240502c0501537024053f8053e4090e0093f009", + "0x53ec090e0093e00938c053d8090e0093dc093f0053dc090e009014fd014f8", + "0x94e0f50243802cf9024fb014f902438024f6024ff014fa02438024fe02500", + "0xf5024f9014f302438024fb024a5014050e009014fa014050e0090140b014f4", + "0x93cc0938c05298090e009298093dc05298090e0093c8093e0053c8090e009", + "0x5014380240502c05310bf2eca54e4ba2e00b0e00b298d202c9b014f302438", + "0xe9014c902438024c9024e3014b802438024b8024dd014c902438024f3024a5", + "0xf4014050e009338093d405014380240502c05364094e8d43380b0e00b3e809", + "0x38024053c80537c090e009324092940501438024ba0240a014050e00935009", + "0x90e00937c0938c052e0090e0092e009374053ac090e009394092980539409", + "0xb014eb02cdf2e0d2024eb02438024eb024ba0140b024380240b024b8014df", + "0x90e009014bb014ec02438024c9024a5014050e009364093d4050143802405", + "0x3802cee3b0b8294c4014ee02438024ee024bf014ec02438024ec024e3014ee", + "0x90149801428024380242e024a5014050e0090140b0142a0b00b4ec2e3bc0b", + "0x90940936405140090e00911c094280511cba02c38024ba024000142502438", + "0x50a0090e0090a00938c05014380240509805138090e009014df0144d02438", + "0xec014ef02438024ef024dd0144d024380244d024eb0144e024380244e024e5", + "0x938c05014380240502c050dc390eca54f0f11440b0e00b1404d1380b0a026", + "0x38024053b80515c090e009014ee014350243802451024a5014510243802451", + "0xb0e009170090b005170090e0093c009430053c0090e0092e80942c0516409", + "0x570243802457024250145f024380245f02428014050e009174090a80517c5d", + "0x38024ed02450014623b40b0e0091645717ca511c05164090e0091640909405", + "0x38024e40244d014813900b0e009188091400501438024ea0244d014823a80b", + "0x350243802435024e30148002438024810244e014de02438024820244e01405", + "0xfa014050e0090140b014cd1f8d32953d1fcd802c3802c80378f10d4d214405", + "0x38024053b8051f4090e0093600929405360090e0093600938c050143802405", + "0x90e00930c0913805014380247c0244d014c31f00b0e009320091400532009", + "0xef02438024ef024dd0147502438024bc0243b014bc024380247b024f10147b", + "0x91d4090e0091d4092e8051fc090e0091fc092e0051f4090e0091f40938c05", + "0x38024d3024a5014d302438024d3024e3014050e0090140b014751fc7d3bcd2", + "0x90e00933409094051e8090e0091f8092e005224090e0091d80938c051d809", + "0x90ec0938c0501438024ba0240a014050e0090140b014054f809014fe014b6", + "0x3802439024b80148902438024b2024e3014b2024380243b024a50143b02438", + "0x370148302438024050e40501438024053e8052d8090e0090dc09094051e809", + "0xe3014ef02438024ef024dd014aa02438024b3024a6014b302438024b620c0b", + "0xef348092a8090e0092a8092e8051e8090e0091e8092e005224090e00922409", + "0x52a0090e0090a8092940501438024ba0240a014050e0090140b014aa1e889", + "0x938c050b0090e0090b00937405234090e00929c092980529c090e00901435", + "0xa80b0d20248d024380248d024ba0140b024380240b024b8014a802438024a8", + "0x93d40501438024c40240a014050e0092fc0902805014380240502c052340b", + "0x926c0938c05028090e0092ec093740526c090e0093cc092940501438024fa", + "0xf402457014050e009014fa014050e0090140b014054fc09014fe0149802438", + "0x90e0093480937405000090e0093ec092940501438024fa024f5014050e009", + "0x542c090e0094280929805428090e00901459014980243802400024e30140a", + "0xba0140b024380240b024b8014980243802498024e30140a024380240a024dd", + "0x50e009294093c005014380240502c0542c0b2600a3480942c090e00942c09", + "0xdd015410243802540024a60154002438024050d405430090e00938c0929405", + "0x92e80502c090e00902c092e005430090e0094300938c05374090e00937409", + "0xb0e00b0240502c09014050e009014050154102d0c374d2025410243802541", + "0x929409348053a4090e0090980929405014380240502c0538cdd02d42098d2", + "0x3802d01024e9014e902438024e9024e3014d202438024d2024dd0150102438", + "0x38024ff024f4014050e009400093d405014380240502c053f80950cff4000b", + "0x53ec090e0093f009298053f0090e009014f2014fd02438024e9024a501405", + "0xba0140b024380240b024b8014fd02438024fd024e3014d202438024d2024dd", + "0x50e0093f8093d405014380240502c053ec0b3f4d2348093ec090e0093ec09", + "0xbf014fa02438024fa024e3014f902438024052ec053e8090e0093a40929405", + "0x90140b014f53d80b510f73e00b0e00b3e4fa348a5310053e4090e0093e409", + "0xf202438024f302540014f30243802405260053d0090e0093dc092940501438", + "0x52e8090e0092e0095180501438024a602545014b82980b0e0093c80950405", + "0x938c05310090e009014df014bf02438024bb024d9014bb02438024ba02462", + "0xf8024dd014bf02438024bf024eb014c402438024c4024e5014f402438024f4", + "0x502c05394df364a551cd4338c92943802cbf3100b3d0d23a8053e0090e009", + "0x38024d4024f7014eb02438024c9024a5014c902438024c9024e3014050e009", + "0x3802cd43e00b26c053ac090e0093ac0938c05338090e009338092e00535009", + "0x53b8050a8090e0093ac0929405014380240502c050b02e3bca5520ee3b00b", + "0x47024500144702438024250a00b20805094090e0093b809428050a0090e009", + "0x9138093c405138090e009134091380501438024500244d0144d1400b0e009", + "0x380242a024e3014ec02438024ec024dd014f102438024510243b0145102438", + "0x53c4ce0a8ec348093c4090e0093c4092e805338090e009338092e0050a809", + "0x38024eb024a5014050e0090b00902805014380242e0240a014050e0090140b", + "0x50e0090dc09378050d43702c380243902481014390243802405524050ec09", + "0x53c0090e009338092e005164090e0090ec0938c0515c090e0093bc0937405", + "0x38024d9024e3014050e0090140b0140552809014fe0145c024380243502425", + "0x90e0091740938c0515c090e0093e00937405174090e009364092940536409", + "0x517c090e009014390145c02438024e502425014f002438024df024b801459", + "0x515c090e00915c0937405188090e0093b409298053b4090e0091705f02c37", + "0xd2024620243802462024ba014f002438024f0024b8014590243802459024e3", + "0x8202438024050d4053a8090e0093d40929405014380240502c05188f016457", + "0x53a8090e0093a80938c053d8090e0093d80937405390090e0092080929805", + "0x90140b014e402cea3d8d2024e402438024e4024ba0140b024380240b024b8", + "0x5378090e009014350148102438024e3024a5014050e009294093c00501438", + "0xb8014810243802481024e3014dd02438024dd024dd0148002438024de024a6", + "0x3802405014052000b204dd34809200090e009200092e80502c090e00902c09", + "0x26024a5014050e0090140b014e33740b52c263480b0e00b0240502c0901405", + "0x90e0093480937405014380240509805404090e00929409348053a4090e009", + "0x90140b014fe0254c3fd0002c3802d01024e9014e902438024e9024e3014d2", + "0x90e0093f40938c053f0090e0093fc09404053f4090e0093a4092940501438", + "0xb0140553409014fe014f902438024fc024ff014fa024380250002500014fb", + "0x38024f7024fc014f702438024053f4053e0090e0093a409294050143802405", + "0x90e0093d8093fc053e8090e0093f809400053ec090e0093e00938c053d809", + "0x501438024053e805014380240502c053d009538f50243802cf9024fb014f9", + "0xf7014a602438024f2024f8014f202438024f5024f9014f302438024fb024a5", + "0x14f2e8b802c3802ca63480b41c053cc090e0093cc0938c05298090e00929809", + "0x52e0090e0092e009374052fc090e0093cc0929405014380240502c052ec09", + "0x50e0090140b014ce02550324c402c3802cfa024e9014bf02438024bf024e3", + "0xbf024a5014050e0092e8095440501438024c9024f4014050e009310093d405", + "0x38024b8024dd014df02438024d9024a6014d902438024053c805350090e009", + "0x90e00937c092e80502c090e00902c092e005350090e0093500938c052e009", + "0x92fc092940501438024ce024f5014050e0090140b014df02cd42e0d2024df", + "0x90e0093ac092fc05394090e0093940938c053ac090e009014bb014e502438", + "0x929405014380240502c050b8ef02d523b8ec02c3802ceb394b8294c4014eb", + "0x2802555014282e80b0e0092e809550050a8090e009015530142c02438024ee", + "0x50e0090142601450024380240537c0511c090e0090a80936405094090e009", + "0x511c090e00911c093ac05140090e00914009394050b0090e0090b00938c05", + "0x3b3c451295561384d02c3802c2511c5002c2c098ec014ec02438024ec024dd", + "0x53b8050e4090e0091340929405134090e0091340938c05014380240502c05", + "0x3802457025580145702438024ba025570143502438024053b8050dc090e009", + "0x90e009170090a00501438024f00242a0145c3c00b0e009164090b00516409", + "0x38024350dc5c2944701435024380243502425014370243802437024250145c", + "0x380245f02450014050e0093b40913405188ed02c380245d024500145f1740b", + "0x90e0092080913805390090e009188091380501438024ea0244d014823a80b", + "0x7f360a5564803780b0e00b204e41383934851014390243802439024e301481", + "0xde024a5014de02438024de024e3014050e009014fa014050e0090140b014d3", + "0x91f409134053207d02c38024cd02450014cd02438024053b8051f8090e009", + "0x90e00930c090ec0530c090e0091f0093c4051f0090e009320091380501438", + "0x800243802480024b80147e024380247e024e3014ec02438024ec024dd0147b", + "0x93600938c05014380240502c051ec801f8ec348091ec090e0091ec092e805", + "0x380247f024b80147502438024bc024e3014bc02438024d8024a5014d802438", + "0x954405014380240502c050155a024053f805224090e00934c09094051d809", + "0x91e80938c051e8090e0091440929405144090e0091440938c0501438024ba", + "0x50e009014fa01489024380243b024250147602438024f1024b80147502438", + "0x520c090e0092c809298052c8090e009224b602c37014b602438024050e405", + "0xba014760243802476024b8014750243802475024e3014ec02438024ec024dd", + "0x50e0092e80954405014380240502c0520c761d4ec3480920c090e00920c09", + "0xdd014a802438024aa024a6014aa02438024050d4052cc090e0090b80929405", + "0x92e80502c090e00902c092e0052cc090e0092cc0938c053bc090e0093bc09", + "0x501438024fa024f5014050e0090140b014a802cb33bcd2024a802438024a8", + "0xfe0149b02438024a7024e30148d02438024bb024dd014a702438024f3024a5", + "0xf5014050e0093d00915c0501438024053e805014380240502c050155b02405", + "0xa024e30148d02438024d2024dd0140a02438024fb024a5014050e0093e809", + "0x380248d024dd014000243802498024a60149802438024051640526c090e009", + "0x90e009000092e80502c090e00902c092e00526c090e00926c0938c0523409", + "0x938c092940501438024a5024f0014050e0090140b0140002c9b234d202400", + "0x90e0093740937405430090e00942c092980542c090e009014350150a02438", + "0x10c024380250c024ba0140b024380240b024b80150a024380250a024e3014dd", + "0xdd02d5c098d202c3802c090140b024050143802405014054300b428dd34809", + "0xdd0150102438024a5024d2014e90243802426024a5014050e0090140b014e3", + "0x9574ff4000b0e00b404093a4053a4090e0093a40938c05348090e00934809", + "0xe9024a5014050e0093fc093d0050143802500024f5014050e0090140b014fe", + "0x38024d2024dd014fb02438024fc024a6014fc02438024053c8053f4090e009", + "0x90e0093ec092e80502c090e00902c092e0053f4090e0093f40938c0534809", + "0x93a4092940501438024fe024f5014050e0090140b014fb02cfd348d2024fb", + "0x90e0093e4092fc053e8090e0093e80938c053e4090e009014bb014fa02438", + "0x929405014380240502c053d4f602d5e3dcf802c3802cf93e8d2294c4014f9", + "0x93c80957c053c8090e0093cc09418053cc090e00901553014f402438024f7", + "0x38024ba02462014ba02438024b802561014050e00929809580052e0a602c38", + "0xf402438024f4024e3014c4024380240537c052fc090e0092ec09364052ec09", + "0x53e0090e0093e009374052fc090e0092fc093ac05310090e0093100939405", + "0xe3014050e0090140b014e537cd929562350ce324a50e00b2fcc402cf4348ea", + "0x92e005350090e009350093dc053ac090e0093240929405324090e00932409", + "0x958cee3b00b0e00b350f802d07014eb02438024eb024e3014ce02438024ce", + "0x9554050b0090e009014ee0142e02438024eb024a5014050e0090140b014ef", + "0x4d014470940b0e0090a009140050a0090e0090a82c02c820142a02438024ee", + "0x4d0243b0144d0243802450024f10145002438024470244e014050e00909409", + "0x9338092e0050b8090e0090b80938c053b0090e0093b00937405138090e009", + "0xa5014050e0090140b0144e3382e3b0d20244e024380244e024ba014ce02438", + "0x9378050e43b02c38024f102481014f1024380240559005144090e0093ac09", + "0x9338092e0050d4090e0091440938c050dc090e0093bc0937405014380243b", + "0xe3014050e0090140b0140559409014fe014590243802439024250145702438", + "0x938c050dc090e0093e009374053c0090e0093640929405364090e00936409", + "0x9014390145902438024e5024250145702438024df024b80143502438024f0", + "0x90dc093740517c090e0091740929805174090e0091645c02c370145c02438", + "0x380245f024ba014570243802457024b8014350243802435024e30143702438", + "0x50d4053b4090e0093d40929405014380240502c0517c570d4373480917c09", + "0x93b40938c053d8090e0093d809374053a8090e0091880929805188090e009", + "0xea02ced3d8d2024ea02438024ea024ba0140b024380240b024b8014ed02438", + "0x9014350148202438024e3024a5014050e009294093c005014380240502c05", + "0x3802482024e3014dd02438024dd024dd0148102438024e4024a6014e402438", + "0x52040b208dd34809204090e009204092e80502c090e00902c092e00520809", + "0x50e0090140b014e33740b598263480b0e00b0240502c09014050e00901405", + "0x937405014380240509805404090e00929409348053a4090e0090980929405", + "0xfe025673fd0002c3802d01024e9014e902438024e9024e3014d202438024d2", + "0x938c053f0090e0093fc09404053f4090e0093a40929405014380240502c05", + "0x9014fe014f902438024fc024ff014fa024380250002500014fb02438024fd", + "0xfc014f702438024053f4053e0090e0093a40929405014380240502c0501568", + "0x93fc053e8090e0093f809400053ec090e0093e00938c053d8090e0093dc09", + "0x53e805014380240502c053d0095a4f50243802cf9024fb014f902438024f6", + "0x38024f2024f8014f202438024f5024f9014f302438024fb024a5014050e009", + "0x3802ca63480b5a8053cc090e0093cc0938c05298090e009298093dc0529809", + "0x92e009374052fc090e0093cc0929405014380240502c052ec095acba2e00b", + "0xb014ce0256c324c402c3802cfa024e9014bf02438024bf024e3014b802438", + "0x50e0092e8095b40501438024c9024f4014050e009310093d4050143802405", + "0xdd014df02438024d9024a6014d902438024053c805350090e0092fc0929405", + "0x92e80502c090e00902c092e005350090e0093500938c052e0090e0092e009", + "0x501438024ce024f5014050e0090140b014df02cd42e0d2024df02438024df", + "0x92fc05394090e0093940938c053ac090e009014bb014e502438024bf024a5", + "0x380240502c050b8ef02d6e3b8ec02c3802ceb394b8294c4014eb02438024eb", + "0x282e80b0e0092e8095bc050a8090e009015080142c02438024ee024a501405", + "0x2601450024380240537c0511c090e0090a80936405094090e0090a0095c005", + "0x911c093ac05140090e00914009394050b0090e0090b00938c050143802405", + "0x1711384d02c3802c2511c5002c2c098ec014ec02438024ec024dd0144702438", + "0x90e0091340929405134090e0091340938c05014380240502c050ecf1144a5", + "0x1730145702438024ba025720143502438024053b8050dc090e009014ee01439", + "0x90a00501438024f00242a0145c3c00b0e009164090b005164090e00915c09", + "0x5c2944701435024380243502425014370243802437024250145c024380245c", + "0x50014050e0093b40913405188ed02c380245d024500145f1740b0e0090d437", + "0x913805390090e009188091380501438024ea0244d014823a80b0e00917c09", + "0x803780b0e00b204e41383934851014390243802439024e3014810243802482", + "0xde02438024de024e3014050e009014fa014050e0090140b014d31fcd829574", + "0x53207d02c38024cd02450014cd02438024053b8051f8090e0093780929405", + "0x90ec0530c090e0091f0093c4051f0090e0093200913805014380247d0244d", + "0x80024b80147e024380247e024e3014ec02438024ec024dd0147b02438024c3", + "0x5014380240502c051ec801f8ec348091ec090e0091ec092e805200090e009", + "0xb80147502438024bc024e3014bc02438024d8024a5014d802438024d8024e3", + "0x380240502c0501575024053f805224090e00934c09094051d8090e0091fc09", + "0x51e8090e0091440929405144090e0091440938c0501438024ba0256d01405", + "0xfa01489024380243b024250147602438024f1024b801475024380247a024e3", + "0x92c809298052c8090e009224b602c37014b602438024050e4050143802405", + "0x3802476024b8014750243802475024e3014ec02438024ec024dd0148302438", + "0x95b405014380240502c0520c761d4ec3480920c090e00920c092e8051d809", + "0x38024aa024a6014aa02438024050d4052cc090e0090b8092940501438024ba", + "0x90e00902c092e0052cc090e0092cc0938c053bc090e0093bc09374052a009", + "0xfa024f5014050e0090140b014a802cb33bcd2024a802438024a8024ba0140b", + "0x38024a7024e30148d02438024bb024dd014a702438024f3024a5014050e009", + "0x93d00915c0501438024053e805014380240502c0501576024053f80526c09", + "0x8d02438024d2024dd0140a02438024fb024a5014050e0093e8093d40501438", + "0xdd014000243802498024a60149802438024051640526c090e0090280938c05", + "0x92e80502c090e00902c092e00526c090e00926c0938c05234090e00923409", + "0x501438024a5024f0014050e0090140b0140002c9b234d2024000243802400", + "0x937405430090e00942c092980542c090e009014350150a02438024e3024a5", + "0x10c024ba0140b024380240b024b80150a024380250a024e3014dd02438024dd", + "0xd202c3802c090140b024050143802405014054300b428dd34809430090e009", + "0x38024a5024d2014e90243802426024a5014050e0090140b014e33740b5dc26", + "0xb0e00b404093a4053a4090e0093a40938c05348090e009348093740540409", + "0x50e0093fc093d0050143802500024f5014050e0090140b014fe025783fd00", + "0xdd014fb02438024fc024a6014fc02438024053c8053f4090e0093a40929405", + "0x92e80502c090e00902c092e0053f4090e0093f40938c05348090e00934809", + "0x501438024fe024f5014050e0090140b014fb02cfd348d2024fb02438024fb", + "0x92fc053e8090e0093e80938c053e4090e009014bb014fa02438024e9024a5", + "0x380240502c053d4f602d793dcf802c3802cf93e8d2294c4014f902438024f9", + "0x53c8090e0093cc095e8053cc090e00901508014f402438024f7024a501405", + "0x62014ba02438024b802434014050e009298095f0052e0a602c38024f20257b", + "0xf4024e3014c4024380240537c052fc090e0092ec09364052ec090e0092e809", + "0x93e009374052fc090e0092fc093ac05310090e00931009394053d0090e009", + "0x90140b014e537cd92957d350ce324a50e00b2fcc402cf4348ea014f802438", + "0x90e009350093dc053ac090e0093240929405324090e0093240938c0501438", + "0xb0e00b350f802d6a014eb02438024eb024e3014ce02438024ce024b8014d4", + "0x90e009014ee0142e02438024eb024a5014050e0090140b014ef0257e3b8ec", + "0xb0e0090a009140050a0090e0090a82c02c820142a02438024ee025700142c", + "0x4d0243802450024f10145002438024470244e014050e009094091340511c25", + "0x50b8090e0090b80938c053b0090e0093b00937405138090e009134090ec05", + "0x90140b0144e3382e3b0d20244e024380244e024ba014ce02438024ce024b8", + "0x3b02c38024f102481014f102438024050bc05144090e0093ac092940501438", + "0x50d4090e0091440938c050dc090e0093bc0937405014380243b024de01439", + "0x90140b014055fc09014fe014590243802439024250145702438024ce024b8", + "0x90e0093e009374053c0090e0093640929405364090e0093640938c0501438", + "0x5902438024e5024250145702438024df024b80143502438024f0024e301437", + "0x517c090e0091740929805174090e0091645c02c370145c02438024050e405", + "0xba014570243802457024b8014350243802435024e3014370243802437024dd", + "0x90e0093d40929405014380240502c0517c570d4373480917c090e00917c09", + "0x53d8090e0093d809374053a8090e0091880929805188090e00901435014ed", + "0xd2024ea02438024ea024ba0140b024380240b024b8014ed02438024ed024e3", + "0x8202438024e3024a5014050e009294093c005014380240502c053a80b3b4f6", + "0xe3014dd02438024dd024dd0148102438024e4024a6014e402438024050d405", + "0xdd34809204090e009204092e80502c090e00902c092e005208090e00920809", + "0xb014e33740b600263480b0e00b0240502c09014050e009014050148102c82", + "0x380240509805404090e00929409348053a4090e00909809294050143802405", + "0x10002c3802d01024e9014e902438024e9024e3014d202438024d2024dd01405", + "0x90e0093fc09404053f4090e0093a40929405014380240502c053f809604ff", + "0xf902438024fc024ff014fa024380250002500014fb02438024fd024e3014fc", + "0x38024053f4053e0090e0093a40929405014380240502c0501582024053f805", + "0x90e0093f809400053ec090e0093e00938c053d8090e0093dc093f0053dc09", + "0x380240502c053d00960cf50243802cf9024fb014f902438024f6024ff014fa", + "0xf8014f202438024f5024f9014f302438024fb024a5014050e009014fa01405", + "0xb610053cc090e0093cc0938c05298090e009298093dc05298090e0093c809", + "0x52fc090e0093cc0929405014380240502c052ec09614ba2e00b0e00b298d2", + "0x186324c402c3802cfa024e9014bf02438024bf024e3014b802438024b8024dd", + "0x961c0501438024c9024f4014050e009310093d405014380240502c0533809", + "0x38024d9024a6014d902438024053c805350090e0092fc092940501438024ba", + "0x90e00902c092e005350090e0093500938c052e0090e0092e0093740537c09", + "0xce024f5014050e0090140b014df02cd42e0d2024df02438024df024ba0140b", + "0x90e0093940938c053ac090e009014bb014e502438024bf024a5014050e009", + "0x50b8ef02d883b8ec02c3802ceb394b8294c4014eb02438024eb024bf014e5", + "0x92e809628050a8090e009015890142c02438024ee024a5014050e0090140b", + "0x380240537c0511c090e0090a80936405094090e0090a00962c050a0ba02c38", + "0x5140090e00914009394050b0090e0090b00938c0501438024050980514009", + "0x3802c2511c5002c2c098ec014ec02438024ec024dd014470243802447024eb", + "0x929405134090e0091340938c05014380240502c050ecf1144a56304e1340b", + "0x38024ba0258d0143502438024053b8050dc090e009014ee01439024380244d", + "0x38024f00242a0145c3c00b0e009164090b005164090e00915c096380515c09", + "0x35024380243502425014370243802437024250145c024380245c0242801405", + "0x93b40913405188ed02c380245d024500145f1740b0e0090d437170a511c05", + "0x90e009188091380501438024ea0244d014823a80b0e00917c091400501438", + "0xb204e41383934851014390243802439024e30148102438024820244e014e4", + "0xde024e3014050e009014fa014050e0090140b014d31fcd82958f200de02c38", + "0x38024cd02450014cd02438024053b8051f8090e0093780929405378090e009", + "0x90e0091f0093c4051f0090e0093200913805014380247d0244d014c81f40b", + "0x7e024380247e024e3014ec02438024ec024dd0147b02438024c30243b014c3", + "0x502c051ec801f8ec348091ec090e0091ec092e805200090e009200092e005", + "0x38024bc024e3014bc02438024d8024a5014d802438024d8024e3014050e009", + "0x501590024053f805224090e00934c09094051d8090e0091fc092e0051d409", + "0x91440929405144090e0091440938c0501438024ba02587014050e0090140b", + "0x380243b024250147602438024f1024b801475024380247a024e30147a02438", + "0x52c8090e009224b602c37014b602438024050e40501438024053e80522409", + "0xb8014750243802475024e3014ec02438024ec024dd0148302438024b2024a6", + "0x380240502c0520c761d4ec3480920c090e00920c092e8051d8090e0091d809", + "0xa6014aa02438024050d4052cc090e0090b8092940501438024ba0258701405", + "0x92e0052cc090e0092cc0938c053bc090e0093bc09374052a0090e0092a809", + "0x50e0090140b014a802cb33bcd2024a802438024a8024ba0140b024380240b", + "0xe30148d02438024bb024dd014a702438024f3024a5014050e0093e8093d405", + "0x501438024053e805014380240502c0501591024053f80526c090e00929c09", + "0xd2024dd0140a02438024fb024a5014050e0093e8093d40501438024f402457", + "0x3802498024a60149802438024051640526c090e0090280938c05234090e009", + "0x90e00902c092e00526c090e00926c0938c05234090e009234093740500009", + "0xa5024f0014050e0090140b0140002c9b234d2024000243802400024ba0140b", + "0x90e00942c092980542c090e009014350150a02438024e3024a5014050e009", + "0xb024380240b024b80150a024380250a024e3014dd02438024dd024dd0150c", + "0x90140b024050143802405014054300b428dd34809430090e009430092e805", + "0xd2014e90243802426024a5014050e0090140b014e33740b648263480b0e00b", + "0x93a4053a4090e0093a40938c05348090e0093480937405404090e00929409", + "0x93d0050143802500024f5014050e0090140b014fe025933fd0002c3802d01", + "0x38024fc024a6014fc02438024053c8053f4090e0093a4092940501438024ff", + "0x90e00902c092e0053f4090e0093f40938c05348090e00934809374053ec09", + "0xfe024f5014050e0090140b014fb02cfd348d2024fb02438024fb024ba0140b", + "0x90e0093e80938c053e4090e009014bb014fa02438024e9024a5014050e009", + "0x53d4f602d943dcf802c3802cf93e8d2294c4014f902438024f9024bf014fa", + "0x93cc09654053cc090e00901589014f402438024f7024a5014050e0090140b", + "0x38024b802597014050e00929809414052e0a602c38024f202596014f202438", + "0xc4024380240537c052fc090e0092ec09364052ec090e0092e809188052e809", + "0x52fc090e0092fc093ac05310090e00931009394053d0090e0093d00938c05", + "0xe537cd929598350ce324a50e00b2fcc402cf4348ea014f802438024f8024dd", + "0x93dc053ac090e0093240929405324090e0093240938c05014380240502c05", + "0xf802d84014eb02438024eb024e3014ce02438024ce024b8014d402438024d4", + "0xee0142e02438024eb024a5014050e0090140b014ef025993b8ec02c3802cd4", + "0x9140050a0090e0090a82c02c820142a02438024ee0258b0142c0243802405", + "0x50024f10145002438024470244e014050e009094091340511c2502c3802428", + "0x90b80938c053b0090e0093b00937405138090e009134090ec05134090e009", + "0x4e3382e3b0d20244e024380244e024ba014ce02438024ce024b80142e02438", + "0xf102481014f1024380240566805144090e0093ac0929405014380240502c05", + "0x91440938c050dc090e0093bc0937405014380243b024de014390ec0b0e009", + "0x566c09014fe014590243802439024250145702438024ce024b80143502438", + "0x9374053c0090e0093640929405364090e0093640938c05014380240502c05", + "0xe5024250145702438024df024b80143502438024f0024e30143702438024f8", + "0x91740929805174090e0091645c02c370145c02438024050e405164090e009", + "0x3802457024b8014350243802435024e3014370243802437024dd0145f02438", + "0x929405014380240502c0517c570d4373480917c090e00917c092e80515c09", + "0x93d809374053a8090e0091880929805188090e00901435014ed02438024f5", + "0x38024ea024ba0140b024380240b024b8014ed02438024ed024e3014f602438", + "0xe3024a5014050e009294093c005014380240502c053a80b3b4f6348093a809", + "0x38024dd024dd0148102438024e4024a6014e402438024050d405208090e009", + "0x90e009204092e80502c090e00902c092e005208090e0092080938c0537409", + "0xb670263480b0e00b0240502c09014050e009014050148102c82374d202481", + "0x5404090e00929409348053a4090e0090980929405014380240502c0538cdd", + "0x101024e9014e902438024e9024e3014d202438024d2024dd014050e00901426", + "0x9404053f4090e0093a40929405014380240502c053f809674ff4000b0e00b", + "0xfc024ff014fa024380250002500014fb02438024fd024e3014fc02438024ff", + "0x53e0090e0093a40929405014380240502c050159e024053f8053e4090e009", + "0x9400053ec090e0093e00938c053d8090e0093dc093f0053dc090e009014fd", + "0x53d00967cf50243802cf9024fb014f902438024f6024ff014fa02438024fe", + "0x38024f5024f9014f302438024fb024a5014050e009014fa014050e0090140b", + "0x90e0093cc0938c05298090e009298093dc05298090e0093c8093e0053c809", + "0x93cc0929405014380240502c052ec09684ba2e00b0e00b298d202da0014f3", + "0x3802cfa024e9014bf02438024bf024e3014b802438024b8024dd014bf02438", + "0x38024c9024f4014050e009310093d405014380240502c0533809688c93100b", + "0xa6014d902438024053c805350090e0092fc092940501438024ba025a301405", + "0x92e005350090e0093500938c052e0090e0092e0093740537c090e00936409", + "0x50e0090140b014df02cd42e0d2024df02438024df024ba0140b024380240b", + "0x938c053ac090e009014bb014e502438024bf024a5014050e009338093d405", + "0x1a43b8ec02c3802ceb394b8294c4014eb02438024eb024bf014e502438024e5", + "0x50a8090e009015a50142c02438024ee024a5014050e0090140b0142e3bc0b", + "0x511c090e0090a80936405094090e0090a009698050a0ba02c38024ba02504", + "0x914009394050b0090e0090b00938c05014380240509805140090e009014df", + "0x5002c2c098ec014ec02438024ec024dd014470243802447024eb0145002438", + "0x90e0091340938c05014380240502c050ecf1144a569c4e1340b0e00b09447", + "0x1a80143502438024053b8050dc090e009014ee01439024380244d024a50144d", + "0x2a0145c3c00b0e009164090b005164090e00915c096a40515c090e0092e809", + "0x3502425014370243802437024250145c024380245c02428014050e0093c009", + "0x5188ed02c380245d024500145f1740b0e0090d437170a511c050d4090e009", + "0x91380501438024ea0244d014823a80b0e00917c091400501438024ed0244d", + "0x3934851014390243802439024e30148102438024820244e014e40243802462", + "0x50e009014fa014050e0090140b014d31fcd8295aa200de02c3802c813904e", + "0x50014cd02438024053b8051f8090e0093780929405378090e0093780938c05", + "0x93c4051f0090e0093200913805014380247d0244d014c81f40b0e00933409", + "0x7e024e3014ec02438024ec024dd0147b02438024c30243b014c3024380247c", + "0x801f8ec348091ec090e0091ec092e805200090e009200092e0051f8090e009", + "0xe3014bc02438024d8024a5014d802438024d8024e3014050e0090140b0147b", + "0x53f805224090e00934c09094051d8090e0091fc092e0051d4090e0092f009", + "0x5144090e0091440938c0501438024ba025a3014050e0090140b014056ac09", + "0x250147602438024f1024b801475024380247a024e30147a0243802451024a5", + "0x9224b602c37014b602438024050e40501438024053e805224090e0090ec09", + "0x3802475024e3014ec02438024ec024dd0148302438024b2024a6014b202438", + "0x520c761d4ec3480920c090e00920c092e8051d8090e0091d8092e0051d409", + "0x38024050d4052cc090e0090b8092940501438024ba025a3014050e0090140b", + "0x90e0092cc0938c053bc090e0093bc09374052a0090e0092a809298052a809", + "0xb014a802cb33bcd2024a802438024a8024ba0140b024380240b024b8014b3", + "0x38024bb024dd014a702438024f3024a5014050e0093e8093d4050143802405", + "0x53e805014380240502c05015ac024053f80526c090e00929c0938c0523409", + "0xa02438024fb024a5014050e0093e8093d40501438024f402457014050e009", + "0xa60149802438024051640526c090e0090280938c05234090e0093480937405", + "0x92e00526c090e00926c0938c05234090e0092340937405000090e00926009", + "0x50e0090140b0140002c9b234d2024000243802400024ba0140b024380240b", + "0x92980542c090e009014350150a02438024e3024a5014050e009294093c005", + "0xb024b80150a024380250a024e3014dd02438024dd024dd0150c024380250b", + "0x50143802405014054300b428dd34809430090e009430092e80502c090e009", + "0x3802426024a5014050e0090140b014e33740b6b4263480b0e00b0240502c09", + "0x90e0093a40938c05348090e0093480937405404090e00929409348053a409", + "0x3802500024f5014050e0090140b014fe025ae3fd0002c3802d01024e9014e9", + "0xa6014fc02438024053c8053f4090e0093a4092940501438024ff024f401405", + "0x92e0053f4090e0093f40938c05348090e00934809374053ec090e0093f009", + "0x50e0090140b014fb02cfd348d2024fb02438024fb024ba0140b024380240b", + "0x938c053e4090e009014bb014fa02438024e9024a5014050e0093f8093d405", + "0x1af3dcf802c3802cf93e8d2294c4014f902438024f9024bf014fa02438024fa", + "0x53cc090e009015a5014f402438024f7024a5014050e0090140b014f53d80b", + "0x109014050e009298096c8052e0a602c38024f2025b1014f202438024f3025b0", + "0x537c052fc090e0092ec09364052ec090e0092e809188052e8090e0092e009", + "0x92fc093ac05310090e00931009394053d0090e0093d00938c05310090e009", + "0x1b3350ce324a50e00b2fcc402cf4348ea014f802438024f8024dd014bf02438", + "0x90e0093240929405324090e0093240938c05014380240502c05394df364a5", + "0xeb02438024eb024e3014ce02438024ce024b8014d402438024d4024f7014eb", + "0x38024eb024a5014050e0090140b014ef025b43b8ec02c3802cd43e00b68005", + "0x90e0090a82c02c820142a02438024ee025a60142c02438024053b8050b809", + "0x5002438024470244e014050e009094091340511c2502c38024280245001428", + "0x53b0090e0093b00937405138090e009134090ec05134090e009140093c405", + "0xd20244e024380244e024ba014ce02438024ce024b80142e024380242e024e3", + "0xf102438024056d405144090e0093ac0929405014380240502c05138ce0b8ec", + "0x50dc090e0093bc0937405014380243b024de014390ec0b0e0093c40920405", + "0xfe014590243802439024250145702438024ce024b8014350243802451024e3", + "0x90e0093640929405364090e0093640938c05014380240502c05015b602405", + "0x5702438024df024b80143502438024f0024e30143702438024f8024dd014f0", + "0x5174090e0091645c02c370145c02438024050e405164090e0093940909405", + "0xb8014350243802435024e3014370243802437024dd0145f024380245d024a6", + "0x380240502c0517c570d4373480917c090e00917c092e80515c090e00915c09", + "0x53a8090e0091880929805188090e00901435014ed02438024f5024a501405", + "0xba0140b024380240b024b8014ed02438024ed024e3014f602438024f6024dd", + "0x50e009294093c005014380240502c053a80b3b4f6348093a8090e0093a809", + "0xdd0148102438024e4024a6014e402438024050d405208090e00938c0929405", + "0x92e80502c090e00902c092e005208090e0092080938c05374090e00937409", + "0xb0e00b0240502c09014050e009014050148102c82374d2024810243802481", + "0x929409348053a4090e0090980929405014380240502c0538cdd02db7098d2", + "0xe902438024e9024e3014d202438024d2024dd014050e009014260150102438", + "0x90e0093a40929405014380240502c053f8096e0ff4000b0e00b404093a405", + "0xfa024380250002500014fb02438024fd024e3014fc02438024ff02501014fd", + "0x93a40929405014380240502c05015b9024053f8053e4090e0093f0093fc05", + "0x90e0093e00938c053d8090e0093dc093f0053dc090e009014fd014f802438", + "0xf50243802cf9024fb014f902438024f6024ff014fa02438024fe02500014fb", + "0xf9014f302438024fb024a5014050e009014fa014050e0090140b014f4025ba", + "0x938c05298090e009298093dc05298090e0093c8093e0053c8090e0093d409", + "0x5014380240502c052ec096f0ba2e00b0e00b298d202dbb014f302438024f3", + "0xe9014bf02438024bf024e3014b802438024b8024dd014bf02438024f3024a5", + "0xf4014050e009310093d405014380240502c05338096f4c93100b0e00b3e809", + "0x38024053c805350090e0092fc092940501438024ba025be014050e00932409", + "0x90e0093500938c052e0090e0092e0093740537c090e009364092980536409", + "0xb014df02cd42e0d2024df02438024df024ba0140b024380240b024b8014d4", + "0x90e009014bb014e502438024bf024a5014050e009338093d4050143802405", + "0x3802ceb394b8294c4014eb02438024eb024bf014e502438024e5024e3014eb", + "0x9015c00142c02438024ee024a5014050e0090140b0142e3bc0b6fcee3b00b", + "0x90a80936405094090e0090a009708050a0ba02c38024ba025c10142a02438", + "0x50b0090e0090b00938c05014380240509805140090e009014df0144702438", + "0xec014ec02438024ec024dd014470243802447024eb014500243802450024e5", + "0x938c05014380240502c050ecf1144a570c4e1340b0e00b094471400b0b026", + "0x38024053b8050dc090e009014ee01439024380244d024a50144d024380244d", + "0xb0e009164090b005164090e00915c097100515c090e0092e80940c050d409", + "0x370243802437024250145c024380245c02428014050e0093c0090a805170f0", + "0x380245d024500145f1740b0e0090d437170a511c050d4090e0090d40909405", + "0x38024ea0244d014823a80b0e00917c091400501438024ed0244d014623b40b", + "0x390243802439024e30148102438024820244e014e402438024620244e01405", + "0xfa014050e0090140b014d31fcd8295c5200de02c3802c813904e0e4d214405", + "0x38024053b8051f8090e0093780929405378090e0093780938c050143802405", + "0x90e0093200913805014380247d0244d014c81f40b0e009334091400533409", + "0xec02438024ec024dd0147b02438024c30243b014c3024380247c024f10147c", + "0x91ec090e0091ec092e805200090e009200092e0051f8090e0091f80938c05", + "0x38024d8024a5014d802438024d8024e3014050e0090140b0147b2007e3b0d2", + "0x90e00934c09094051d8090e0091fc092e0051d4090e0092f00938c052f009", + "0x91440938c0501438024ba025be014050e0090140b0140571809014fe01489", + "0x38024f1024b801475024380247a024e30147a0243802451024a50145102438", + "0x37014b602438024050e40501438024053e805224090e0090ec09094051d809", + "0xe3014ec02438024ec024dd0148302438024b2024a6014b202438024892d80b", + "0xec3480920c090e00920c092e8051d8090e0091d8092e0051d4090e0091d409", + "0x52cc090e0090b8092940501438024ba025be014050e0090140b014831d875", + "0x938c053bc090e0093bc09374052a0090e0092a809298052a8090e00901435", + "0xb33bcd2024a802438024a8024ba0140b024380240b024b8014b302438024b3", + "0xdd014a702438024f3024a5014050e0093e8093d405014380240502c052a00b", + "0x380240502c05015c7024053f80526c090e00929c0938c05234090e0092ec09", + "0xfb024a5014050e0093e8093d40501438024f402457014050e009014fa01405", + "0x38024051640526c090e0090280938c05234090e0093480937405028090e009", + "0x90e00926c0938c05234090e0092340937405000090e009260092980526009", + "0xb0140002c9b234d2024000243802400024ba0140b024380240b024b80149b", + "0x90e009014350150a02438024e3024a5014050e009294093c0050143802405", + "0x10a024380250a024e3014dd02438024dd024dd0150c024380250b024a60150b", + "0x5014054300b428dd34809430090e009430092e80502c090e00902c092e005", + "0xa5014050e0090140b014e33740b720263480b0e00b0240502c09014050e009", + "0x938c05348090e0093480937405404090e00929409348053a4090e00909809", + "0xf5014050e0090140b014fe025c93fd0002c3802d01024e9014e902438024e9", + "0x38024053c8053f4090e0093a4092940501438024ff024f4014050e00940009", + "0x90e0093f40938c05348090e00934809374053ec090e0093f009298053f009", + "0xb014fb02cfd348d2024fb02438024fb024ba0140b024380240b024b8014fd", + "0x90e009014bb014fa02438024e9024a5014050e0093f8093d4050143802405", + "0x3802cf93e8d2294c4014f902438024f9024bf014fa02438024fa024e3014f9", + "0x9015c0014f402438024f7024a5014050e0090140b014f53d80b728f73e00b", + "0x929809734052e0a602c38024f2025cc014f202438024f3025cb014f302438", + "0x90e0092ec09364052ec090e0092e809188052e8090e0092e0097380501438", + "0x5310090e00931009394053d0090e0093d00938c05310090e009014df014bf", + "0xa50e00b2fcc402cf4348ea014f802438024f8024dd014bf02438024bf024eb", + "0x929405324090e0093240938c05014380240502c05394df364a573cd4338c9", + "0xeb024e3014ce02438024ce024b8014d402438024d4024f7014eb02438024c9", + "0xa5014050e0090140b014ef025d03b8ec02c3802cd43e00b6ec053ac090e009", + "0x2c02c820142a02438024ee025c20142c02438024053b8050b8090e0093ac09", + "0x470244e014050e009094091340511c2502c38024280245001428024380242a", + "0x93b00937405138090e009134090ec05134090e009140093c405140090e009", + "0x380244e024ba014ce02438024ce024b80142e024380242e024e3014ec02438", + "0x574405144090e0093ac0929405014380240502c05138ce0b8ec3480913809", + "0x93bc0937405014380243b024de014390ec0b0e0093c409204053c4090e009", + "0x3802439024250145702438024ce024b8014350243802451024e30143702438", + "0x929405364090e0093640938c05014380240502c05015d2024053f80516409", + "0xdf024b80143502438024f0024e30143702438024f8024dd014f002438024d9", + "0x91645c02c370145c02438024050e405164090e009394090940515c090e009", + "0x3802435024e3014370243802437024dd0145f024380245d024a60145d02438", + "0x517c570d4373480917c090e00917c092e80515c090e00915c092e0050d409", + "0x91880929805188090e00901435014ed02438024f5024a5014050e0090140b", + "0x380240b024b8014ed02438024ed024e3014f602438024f6024dd014ea02438", + "0x93c005014380240502c053a80b3b4f6348093a8090e0093a8092e80502c09", + "0x38024e4024a6014e402438024050d405208090e00938c092940501438024a5", + "0x90e00902c092e005208090e0092080938c05374090e009374093740520409", + "0x502c09014050e009014050148102c82374d2024810243802481024ba0140b", + "0x53a4090e0090980929405014380240502c0538cdd02dd3098d202c3802c09", + "0xe9024e3014d202438024d2024dd014050e009014260150102438024a5024d2", + "0x929405014380240502c053f809750ff4000b0e00b404093a4053a4090e009", + "0x10002500014fb02438024fd024e3014fc02438024ff02501014fd02438024e9", + "0x5014380240502c05015d5024053f8053e4090e0093f0093fc053e8090e009", + "0x938c053d8090e0093dc093f0053dc090e009014fd014f802438024e9024a5", + "0xf9024fb014f902438024f6024ff014fa02438024fe02500014fb02438024f8", + "0x38024fb024a5014050e009014fa014050e0090140b014f4025d63d4090e00b", + "0x90e009298093dc05298090e0093c8093e0053c8090e0093d4093e4053cc09", + "0x502c052ec0975cba2e00b0e00b298d202cf6014f302438024f3024e3014a6", + "0xb802438024b8024dd014050e00901426014bf02438024f3024a5014050e009", + "0x380240502c0533809760c93100b0e00b3e8093a4052fc090e0092fc0938c05", + "0xdf02438024d4024e3014d902438024c902501014d402438024bf024a501405", + "0x502c05015d9024053f8053ac090e009364093fc05394090e0093100940005", + "0x90e0093b8093f0053b8090e009014fd014ec02438024bf024a5014050e009", + "0xeb02438024ef024ff014e502438024ce02500014df02438024ec024e3014ef", + "0x2a02438024df024a5014050e0090140b0142c025da0b8090e00b3ac093ec05", + "0x5094090e009094093dc05094090e0090a0093e0050a0090e0090b8093e405", + "0x380240502c051340976c5011c0b0e00b094b802c800142a024380242a024e3", + "0x4e024380244e024e3014470243802447024dd0144e024380242a024a501405", + "0x90e0091380929405014380240502c050ec09770f11440b0e00b394093a405", + "0x57024380245102500014350243802439024e30143702438024f10250101439", + "0x91380929405014380240502c05015dd024053f805164090e0090dc093fc05", + "0x90e0093c00938c05174090e009170093f005170090e009014fd014f002438", + "0x5f0243802c59024fb01459024380245d024ff01457024380243b0250001435", + "0xea024380245f024f9014620243802435024a5014050e0090140b014ed025de", + "0x5188090e0091880938c05208090e009208093dc05208090e0093a8093e005", + "0x90e0091880929405014380240502c053780977c813900b0e00b2084702c75", + "0xd802c3802c57024e9014800243802480024e3014e402438024e4024dd01480", + "0x90e0091fc09404051f8090e0092000929405014380240502c0534c097807f", + "0x7c02438024cd024ff014c802438024d8025000147d024380247e024e3014cd", + "0x38024053f40530c090e0092000929405014380240502c05015e1024053f805", + "0x90e00934c09400051f4090e00930c0938c052f0090e0091ec093f0051ec09", + "0x380240502c051d809788750243802c7c024fb0147c02438024bc024ff014c8", + "0xb6024380247a024f80147a0243802475024f901489024380247d024a501405", + "0xb202c3802cb63900b26c05224090e0092240938c052d8090e0092d8093dc05", + "0x92c8093740529c090e0092240929405014380240502c052a0aa2cca578c83", + "0xb0140a025e426c8d02c3802cc8024e9014a702438024a7024e3014b202438", + "0x5014380249b024f4014050e009234093d40501438024053e8050143802405", + "0x92e8093cc050143802450024d8014050e009204091d80501438024830240a", + "0x10a0243802400024a60140002438024053c805260090e00929c092940501438", + "0x502c090e00902c092e005260090e0092600938c052c8090e0092c80937405", + "0x380240a024f5014050e0090140b0150a02c982c8d20250a024380250a024ba", + "0x542c090e00942c0938c05430090e009014bb0150b02438024a7024a501405", + "0x502c055194502de55054002c3802d0c42cb2294c40150c024380250c024bf", + "0x541c090e009015e6015490243802541024a5014050e009014fa014050e009", + "0x1e8014ba02438024ba025e70140b024380240b024b8015490243802549024e3", + "0xe37ac0520c090e00920c097a805204090e009204097a405140090e00914009", + "0x154025ec015400243802540024dd0155454d512943802483204502e90702d49", + "0x954409294050143802555025ee014050e0090140b01557025ed554090e00b", + "0x380255f0244d0156057c0b0e0094180914005418090e009014ee0155802438", + "0x16a02438025640243b015640243802561024f10156102438025600244e01405", + "0x554c090e00954c092e005560090e0095600938c05500090e0095000937405", + "0x3802551024a5014050e0090140b0156a54d58500d20256a024380256a024ba", + "0x90e0095b40938c05500090e0095000937405420090e00955c09298055b409", + "0xb0150854d6d500d2025080243802508024ba015530243802553024b80156d", + "0x5014380248102476014050e00920c090280501438024053e8050143802405", + "0x9014350156f0243802546024a5014050e0092e8093cc050143802450024d8", + "0x380256f024e3015450243802545024dd015720243802570024a60157002438", + "0x55c80b5bd45348095c8090e0095c8092e80502c090e00902c092e0055bc09", + "0x50e0092a0090280501438024aa0240a014050e009014fa014050e0090140b", + "0x50024d8014050e009204091d80501438024ba024f3014050e009320093d405", + "0x3802573024e30157a02438024b3024dd015730243802489024a5014050e009", + "0x91d80915c0501438024053e805014380240502c05015ef024053f8055ec09", + "0xd8014050e009204091d80501438024ba024f3014050e009320093d40501438", + "0x17c024e30157a02438024e4024dd0157c024380247d024a5014050e00914009", + "0x380257a024dd0142f0243802434024a60143402438024057c0055ec090e009", + "0x90e0090bc092e80502c090e00902c092e0055ec090e0095ec0938c055e809", + "0x3802457024f5014050e009014fa014050e0090140b0142f02d7b5e8d20242f", + "0xdd015840243802462024a5014050e009140093600501438024ba024f301405", + "0x380240502c05015f1024053f805624090e0096100938c0561c090e00937809", + "0xba024f3014050e00915c093d40501438024ed02457014050e009014fa01405", + "0x90e00911c0937405628090e0090d409294050143802450024d8014050e009", + "0x5634090e00962c092980562c090e009015f201589024380258a024e301587", + "0xba0140b024380240b024b8015890243802589024e3015870243802587024dd", + "0x501438024053e805014380240502c056340b6258734809634090e00963409", + "0x4d024dd0158e024380242a024a5014050e0092e8093cc0501438024e5024f5", + "0x5014380240502c05015f3024053f805658090e0096380938c05654090e009", + "0x38024ba024f3014050e009394093d405014380242c02457014050e009014fa", + "0x1960243802505024e30159502438024b8024dd0150502438024df024a501405", + "0xe3015950243802595024dd0159a0243802597024a60159702438024057d005", + "0x19534809668090e009668092e80502c090e00902c092e005658090e00965809", + "0x5680090e0093cc092940501438024fa024f5014050e0090140b0159a02d96", + "0x90140b014057d409014fe015a502438025a0024e3015a302438024bb024dd", + "0x92940501438024fa024f5014050e0093d00915c0501438024053e80501438", + "0x901459015a50243802504024e3015a302438024d2024dd0150402438024fb", + "0x38025a5024e3015a302438025a3024dd015a802438025a6024a6015a602438", + "0x56a00b695a3348096a0090e0096a0092e80502c090e00902c092e00569409", + "0x38024050d4056a4090e00938c092940501438024a5024f0014050e0090140b", + "0x90e0096a40938c05374090e00937409374056c4090e0096c009298056c009", + "0x5015b102da9374d2025b102438025b1024ba0140b024380240b024b8015a9", + "0x5014380240502c0538cdd02df6098d202c3802c090140b024050143802405", + "0xe3014d202438024d2024dd0150102438024a5024d2014e90243802426024a5", + "0x5014380240502c053f8097dcff4000b0e00b404093a4053a4090e0093a409", + "0x9014f2014fd02438024e9024a5014050e0093fc093d0050143802500024f5", + "0x38024fd024e3014d202438024d2024dd014fb02438024fc024a6014fc02438", + "0x53ec0b3f4d2348093ec090e0093ec092e80502c090e00902c092e0053f409", + "0x38024052ec053e8090e0093a4092940501438024fe024f5014050e0090140b", + "0xb3e4fa348a5310053e4090e0093e4092fc053e8090e0093e80938c053e409", + "0x5798053d0090e0093dc0929405014380240502c053d4f602df83dcf802c38", + "0x93e0093740501438024f2025fa014a63c80b0e0093cc097e4053cc090e009", + "0xb3d0f8349fb0140b024380240b024b8014f402438024f4024e3014f802438", + "0x50e0090140b014c9025fd310090e00b2fc097f0052fcbb2e8b834838024a6", + "0x1ff014d902438024c4025fe014d402438024053b805338090e0092e80929405", + "0xef3b8ec3acd20e009394098040501438024df02600014e537c0b0e00936409", + "0x2a024380242c3500b208050b0090e0090b809350050b8090e0093ac0980805", + "0x4702438024250a80b20805094090e0090a0091f8050a0090e0093b00980c05", + "0x4e024380244d11c0b20805134090e009140092d805140090e0093b80981005", + "0x3b02438024f11380b208053c4090e0091440942805144090e0093bc0943805", + "0x50d4090e0090dc091380501438024390244d014370e40b0e0090ec0914005", + "0xe3014b802438024b8024dd0145902438024570243b014570243802435024f1", + "0xb834809164090e009164092e8052ec090e0092ec092e005338090e00933809", + "0x5c02438024c9024a6014f002438024ba024a5014050e0090140b014592ecce", + "0x52ec090e0092ec092e0053c0090e0093c00938c052e0090e0092e00937405", + "0x38024f5024a5014050e0090140b0145c2ecf02e0d20245c024380245c024ba", + "0xf602438024f6024dd014ed024380245f024a60145f02438024050d40517409", + "0x93b4090e0093b4092e80502c090e00902c092e005174090e0091740938c05", + "0x90e00938c092940501438024a5024f0014050e0090140b014ed02c5d3d8d2", + "0x5374090e0093740937405208090e0093a809298053a8090e0090143501462", + "0xd2024820243802482024ba0140b024380240b024b8014620243802462024e3", + "0x538cdd02e05098d202c3802c090140b024050143802405014052080b188dd", + "0x9014260150102438024a5024d2014e90243802426024a5014050e0090140b", + "0xb0e00b404093a4053a4090e0093a40938c05348090e009348093740501438", + "0x38024ff02501014fd02438024e9024a5014050e0090140b014fe026063fd00", + "0x90e0093f0093fc053e8090e00940009400053ec090e0093f40938c053f009", + "0x9014fd014f802438024e9024a5014050e0090140b0140581c09014fe014f9", + "0x38024fe02500014fb02438024f8024e3014f602438024f7024fc014f702438", + "0x90140b014f4026083d4090e00b3e4093ec053e4090e0093d8093fc053e809", + "0x53c8090e0093d4093e4053cc090e0093ec092940501438024053e80501438", + "0x107014f302438024f3024e3014a602438024a6024f7014a602438024f2024f8", + "0xbf02438024f3024a5014050e0090140b014bb026092e8b802c3802ca63480b", + "0x93a4052fc090e0092fc0938c052e0090e0092e00937405014380240509805", + "0x101014d402438024bf024a5014050e0090140b014ce0260a324c402c3802cfa", + "0x93fc05394090e009310094000537c090e0093500938c05364090e00932409", + "0xec02438024bf024a5014050e0090140b0140582c09014fe014eb02438024d9", + "0x100014df02438024ec024e3014ef02438024ee024fc014ee02438024053f405", + "0x2c0260c0b8090e00b3ac093ec053ac090e0093bc093fc05394090e00933809", + "0x93e0050a0090e0090b8093e4050a8090e00937c0929405014380240502c05", + "0xb802d6a0142a024380242a024e3014250243802425024f7014250243802428", + "0xdd0144e024380242a024a5014050e0090140b0144d0260d1404702c3802c25", + "0x9838f11440b0e00b394093a405138090e0091380938c0511c090e00911c09", + "0xe30143702438024f10250101439024380244e024a5014050e0090140b0143b", + "0x53f805164090e0090dc093fc0515c090e00914409400050d4090e0090e409", + "0x5170090e009014fd014f0024380244e024a5014050e0090140b0140583c09", + "0xff01457024380243b025000143502438024f0024e30145d024380245c024fc", + "0xa5014050e0090140b014ed0261017c090e00b164093ec05164090e00917409", + "0x93dc05208090e0093a8093e0053a8090e00917c093e405188090e0090d409", + "0x9844813900b0e00b2084702d84014620243802462024e3014820243802482", + "0xe3014e402438024e4024dd014800243802462024a5014050e0090140b014de", + "0x5014380240502c0534c098487f3600b0e00b15c093a405200090e00920009", + "0x1000147d024380247e024e3014cd024380247f025010147e0243802480024a5", + "0x380240502c0501613024053f8051f0090e009334093fc05320090e00936009", + "0x52f0090e0091ec093f0051ec090e009014fd014c30243802480024a501405", + "0xfb0147c02438024bc024ff014c802438024d3025000147d02438024c3024e3", + "0xf901489024380247d024a5014050e0090140b01476026141d4090e00b1f009", + "0x938c052d8090e0092d8093dc052d8090e0091e8093e0051e8090e0091d409", + "0x5014380240502c052cc09854832c80b0e00b2d8e402da0014890243802489", + "0xe9014aa02438024aa024e3014b202438024b2024dd014aa0243802489024a5", + "0x526c090e0092a80929405014380240502c0523409858a72a00b0e00b32009", + "0xff0140002438024a80250001498024380249b024e30140a02438024a702501", + "0x90e0092a80929405014380240502c0501617024053f805428090e00902809", + "0x5260090e00942c0938c05500090e009430093f005430090e009014fd0150b", + "0x9861410243802d0a024fb0150a0243802540024ff01400024380248d02500", + "0xf8015490243802541024f9015460243802498024a5014050e0090140b01545", + "0xb6ec05518090e0095180938c0541c090e00941c093dc0541c090e00952409", + "0x5554090e0095180929405014380240502c0555009865535440b0e00b41cb2", + "0x21a5615702c3802c00024e9015550243802555024e3015510243802551024dd", + "0x158024f4014050e00955c093d40501438024053e805014380240502c0541809", + "0x5014380248102587014050e00920c0968c050143802553025be014050e009", + "0x9014f20155f0243802555024a5014050e0092e8095440501438024500256d", + "0x380255f024e3015510243802551024dd015610243802560024a60156002438", + "0x55840b57d5134809584090e009584092e80502c090e00902c092e00557c09", + "0x38024052ec05590090e00955409294050143802506024f5014050e0090140b", + "0xb5a964544a5310055a8090e0095a8092fc05590090e0095900938c055a809", + "0x9420092940501438024053e805014380240502c055c16f02e1b4216d02c38", + "0x90e00902c092e0055c8090e0095c80938c055cc090e009015e60157202438", + "0x8102438024810261e0145002438024500261d014ba02438024ba0261c0140b", + "0x81140ba5cc0b5c8e98840554c090e00954c098800520c090e00920c0987c05", + "0x2220d0090e00b5f0097b0055b4090e0095b409374055f17b5e8a50e00954c83", + "0xee01584024380257a024a5014050e0090d0097b805014380240502c050bc09", + "0x18a0244e014050e00962409134056298902c380258702450015870243802405", + "0x95b40937405638090e009634090ec05634090e00962c093c40562c090e009", + "0x380258e024ba0157b024380257b024b8015840243802584024e30156d02438", + "0x929805654090e0095e80929405014380240502c056397b6116d3480963809", + "0x17b024b8015950243802595024e30156d024380256d024dd01596024380242f", + "0x5014380240502c056597b6556d34809658090e009658092e8055ec090e009", + "0x380248102587014050e00920c0968c050143802553025be014050e009014fa", + "0x35015050243802570024a5014050e0092e8095440501438024500256d01405", + "0x105024e30156f024380256f024dd0159a0243802597024a6015970243802405", + "0xb4156f34809668090e009668092e80502c090e00902c092e005414090e009", + "0x92e809544050143802400024f5014050e009014fa014050e0090140b0159a", + "0xa5014050e009140095b405014380248102587014050e00920c0968c0501438", + "0x53f805694090e0096800938c0568c090e0095500937405680090e00951809", + "0x93d405014380254502457014050e009014fa014050e0090140b0140588c09", + "0x50e0092040961c050143802483025a3014050e0092e809544050143802400", + "0xe3015a302438024b2024dd015040243802498024a5014050e009140095b405", + "0x1a3024dd015a802438025a6024a6015a6024380240589005694090e00941009", + "0x96a0092e80502c090e00902c092e005694090e0096940938c0568c090e009", + "0xc8024f5014050e009014fa014050e0090140b015a802da568cd2025a802438", + "0x5014380248102587014050e009140095b40501438024ba02551014050e009", + "0xfe015b102438025a9024e3015b002438024b3024dd015a90243802489024a5", + "0xf5014050e0091d80915c0501438024053e805014380240502c050162502405", + "0x380248102587014050e009140095b40501438024ba02551014050e00932009", + "0x1b102438025b2024e3015b002438024e4024dd015b2024380247d024a501405", + "0xe3015b002438025b0024dd015b50243802509024a60150902438024057c005", + "0x1b0348096d4090e0096d4092e80502c090e00902c092e0056c4090e0096c409", + "0x9544050143802457024f5014050e009014fa014050e0090140b015b502db1", + "0x38024de024dd015bb0243802462024a5014050e009140095b40501438024ba", + "0x53e805014380240502c0501626024053f805700090e0096ec0938c056f809", + "0x501438024ba02551014050e00915c093d40501438024ed02457014050e009", + "0x938c056f8090e00911c0937405704090e0090d4092940501438024500256d", + "0x96f8093740540c090e0097080929805708090e009015f2015c002438025c1", + "0x3802503024ba0140b024380240b024b8015c002438025c0024e3015be02438", + "0x9394093d40501438024053e805014380240502c0540c0b701be3480940c09", + "0x1cb024380244d024dd015c4024380242a024a5014050e0092e8095440501438", + "0x38024053e805014380240502c0501627024053f805730090e0097100938c05", + "0x92940501438024ba02551014050e009394093d405014380242c0245701405", + "0x9015f4015cc02438025cd024e3015cb02438024b8024dd015cd02438024df", + "0x38025cc024e3015cb02438025cb024dd015d102438025ce024a6015ce02438", + "0x57440b731cb34809744090e009744092e80502c090e00902c092e00573009", + "0x92ec0937405798090e0093cc092940501438024fa024f5014050e0090140b", + "0xfa014050e0090140b014058a009014fe015e802438025e6024e3015e702438", + "0x90e0093ec092940501438024fa024f5014050e0093d00915c050143802405", + "0x57a8090e00901459015e802438025e9024e3015e702438024d2024dd015e9", + "0xb8015e802438025e8024e3015e702438025e7024dd015eb02438025ea024a6", + "0x380240502c057ac0b7a1e7348097ac090e0097ac092e80502c090e00902c09", + "0xa6015ee02438024050d4057b0090e00938c092940501438024a5024f001405", + "0x92e0057b0090e0097b00938c05374090e00937409374057c0090e0097b809", + "0x50e00901405015f002dec374d2025f002438025f0024ba0140b024380240b", + "0x90980929405014380240502c0538cdd02e29098d202c3802c090140b02405", + "0x38024e9024e3014d202438024d2024dd0150102438024a5024d2014e902438", + "0x9400093d405014380240502c053f8098a8ff4000b0e00b404093a4053a409", + "0x53f0090e009014f2014fd02438024e9024a5014050e0093fc093d00501438", + "0xb8014fd02438024fd024e3014d202438024d2024dd014fb02438024fc024a6", + "0x380240502c053ec0b3f4d2348093ec090e0093ec092e80502c090e00902c09", + "0xe3014f902438024052ec053e8090e0093a4092940501438024fe024f501405", + "0xf73e00b0e00b3e4fa348a5310053e4090e0093e4092fc053e8090e0093e809", + "0xf30243802405798053d0090e0093dc0929405014380240502c053d4f602e2b", + "0x53e0090e0093e0093740501438024f2025fa014a63c80b0e0093cc097e405", + "0xd20e0092980b3d0f834a2c0140b024380240b024b8014f402438024f4024e3", + "0xba024a5014050e0090140b014c90262e310090e00b2fc098b4052fcbb2e8b8", + "0x38024d902630014d902438024c40262f014d402438024053b805338090e009", + "0x98cc050b8ef3b8ec3ac260e009394098c80501438024df02631014e537c0b", + "0x98d0050a0090e0090a8d402c820142a024380242c025550142c02438024eb", + "0x98d405140090e00911c2802c82014470243802425025700142502438024ec", + "0x98d805144090e0091385002c820144e024380244d0258b0144d02438024ee", + "0x98dc050e4090e0090ec5102c820143b02438024f1025a6014f102438024ef", + "0x91400515c090e0090d43902c82014350243802437025c201437024380242e", + "0x5c024f10145c02438024f00244e014050e00916409134053c05902c3802457", + "0x93380938c052e0090e0092e0093740517c090e009174090ec05174090e009", + "0x5f2ecce2e0d20245f024380245f024ba014bb02438024bb024b8014ce02438", + "0x937405188090e00932409298053b4090e0092e80929405014380240502c05", + "0x62024ba014bb02438024bb024b8014ed02438024ed024e3014b802438024b8", + "0x53a8090e0093d40929405014380240502c05188bb3b4b834809188090e009", + "0x938c053d8090e0093d80937405390090e0092080929805208090e00901435", + "0xea3d8d2024e402438024e4024ba0140b024380240b024b8014ea02438024ea", + "0x350148102438024e3024a5014050e009294093c005014380240502c053900b", + "0x81024e3014dd02438024dd024dd0148002438024de024a6014de0243802405", + "0xb204dd34809200090e009200092e80502c090e00902c092e005204090e009", + "0x90140b014e33740b8e0263480b0e00b0240502c09014050e0090140501480", + "0x90e0093480937405404090e00929409348053a4090e009098092940501438", + "0x90140b014fe026393fd0002c3802d01024e9014e902438024e9024e3014d2", + "0x53f4090e0093a4092940501438024ff024f4014050e009400093d40501438", + "0x938c05348090e00934809374053ec090e0093f009298053f0090e009014f2", + "0xfd348d2024fb02438024fb024ba0140b024380240b024b8014fd02438024fd", + "0xbb014fa02438024e9024a5014050e0093f8093d405014380240502c053ec0b", + "0xd2294c4014f902438024f9024bf014fa02438024fa024e3014f90243802405", + "0xf402438024f7024a5014050e0090140b014f53d80b8e8f73e00b0e00b3e4fa", + "0x90163d014a602438024058f0053c8090e0090163b014f302438024053b805", + "0xbb025ff014bb02438024ba2e0a63c8d28fc052e8090e0090163e014b802438", + "0x202014d9350ce324d20e009310098040501438024bf02600014c42fc0b0e009", + "0xb20805394090e009394093dc05394090e00937c093500537c090e00932409", + "0x93dc053b8090e0093b0091f8053b0090e0093380980c053ac090e009394f3", + "0x92d8050b8090e00935009810053bc090e0093b8eb02c82014ee02438024ee", + "0x9438050a8090e0090b0ef02c820142c024380242c024f70142c024380242e", + "0x2a02c82014250243802425024f70142502438024280250a0142802438024d9", + "0x4d0244e014050e00914009134051345002c380244702450014470243802425", + "0x93e009374053c4090e009144090ec05144090e009138093c405138090e009", + "0x38024f1024ba0140b024380240b024b8014f402438024f4024e3014f802438", + "0x50d4050ec090e0093d40929405014380240502c053c40b3d0f8348093c409", + "0x90ec0938c053d8090e0093d809374050dc090e0090e409298050e4090e009", + "0x3702c3b3d8d2024370243802437024ba0140b024380240b024b80143b02438", + "0x9014350143502438024e3024a5014050e009294093c005014380240502c05", + "0x3802435024e3014dd02438024dd024dd014590243802457024a60145702438", + "0x51640b0d4dd34809164090e009164092e80502c090e00902c092e0050d409", + "0x50e0090140b014e33740b900263480b0e00b0240502c09014050e00901405", + "0x5348090e0093480937405404090e00929409348053a4090e0090980929405", + "0x50e0090140b014fe026413fd0002c3802d01024e9014e902438024e9024e3", + "0x53c8053f4090e0093a4092940501438024ff024f4014050e009400093d405", + "0x93f40938c05348090e00934809374053ec090e0093f009298053f0090e009", + "0xfb02cfd348d2024fb02438024fb024ba0140b024380240b024b8014fd02438", + "0x9014bb014fa02438024e9024a5014050e0093f8093d405014380240502c05", + "0xf93e8d2294c4014f902438024f9024bf014fa02438024fa024e3014f902438", + "0xee014f402438024f7024a5014050e0090140b014f53d80b908f73e00b0e00b", + "0x90e00901645014a60243802405910053c8090e00901643014f30243802405", + "0x38024bb2e8b8298f209a48014bb024380240591c052e8090e00901646014b8", + "0x260e009324098c80501438024c402631014c93100b0e0092fc098c0052fc09", + "0xec024f7014ec02438024eb02555014eb02438024ce02633014e537cd9350ce", + "0xef02570014ef02438024d402634014ee02438024ec3cc0b208053b0090e009", + "0xd9026350142c024380242e3b80b208050b8090e0090b8093dc050b8090e009", + "0x280b00b208050a0090e0090a0093dc050a0090e0090a80962c050a8090e009", + "0x9140093dc05140090e00911c096980511c090e00937c098d805094090e009", + "0x91380970805138090e009394098dc05134090e0091402502c820145002438", + "0x93c409140053c4090e0091444d02c82014510243802451024f70145102438", + "0x3802437024f10143702438024390244e014050e0090ec09134050e43b02c38", + "0x90e0093d00938c053e0090e0093e0093740515c090e0090d4090ec050d409", + "0xb0145702cf43e0d2024570243802457024ba0140b024380240b024b8014f4", + "0x38024f0024a6014f002438024050d405164090e0093d409294050143802405", + "0x90e00902c092e005164090e0091640938c053d8090e0093d8093740517009", + "0xa5024f0014050e0090140b0145c02c593d8d20245c024380245c024ba0140b", + "0x90e00917c092980517c090e009014350145d02438024e3024a5014050e009", + "0xb024380240b024b80145d024380245d024e3014dd02438024dd024dd014ed", + "0x90140b024050143802405014053b40b174dd348093b4090e0093b4092e805", + "0xd2014e90243802426024a5014050e0090140b014e33740b924263480b0e00b", + "0x93a4053a4090e0093a40938c05348090e0093480937405404090e00929409", + "0x93d0050143802500024f5014050e0090140b014fe0264a3fd0002c3802d01", + "0x38024fc024a6014fc02438024053c8053f4090e0093a4092940501438024ff", + "0x90e00902c092e0053f4090e0093f40938c05348090e00934809374053ec09", + "0xfe024f5014050e0090140b014fb02cfd348d2024fb02438024fb024ba0140b", + "0x90e0093e80938c053e4090e009014bb014fa02438024e9024a5014050e009", + "0x53d4f602e4b3dcf802c3802cf93e8d2294c4014f902438024f9024bf014fa", + "0x3802405930053cc090e009014ee014f402438024f7024a5014050e0090140b", + "0x250014ba024380240593c052e0090e0090164e014a60243802405934053c809", + "0xc402c38024bf02630014bf02438024bb2e8b8298f209a48014bb0243802405", + "0x9338098cc05394df364d4338260e009324098c80501438024c402631014c9", + "0x93b0f302c82014ec02438024ec024f7014ec02438024eb02555014eb02438", + "0x380242e024f70142e02438024ef02570014ef02438024d402634014ee02438", + "0x380242a0258b0142a02438024d9026350142c024380242e3b80b208050b809", + "0x38024df026360142502438024280b00b208050a0090e0090a0093dc050a009", + "0x38024500940b20805140090e009140093dc05140090e00911c096980511c09", + "0x90e009144093dc05144090e0091380970805138090e009394098dc0513409", + "0x380243b0244d014390ec0b0e0093c409140053c4090e0091444d02c8201451", + "0x5702438024350243b014350243802437024f10143702438024390244e01405", + "0x502c090e00902c092e0053d0090e0093d00938c053e0090e0093e00937405", + "0x38024f5024a5014050e0090140b0145702cf43e0d2024570243802457024ba", + "0xf602438024f6024dd0145c02438024f0024a6014f002438024050d40516409", + "0x9170090e009170092e80502c090e00902c092e005164090e0091640938c05", + "0x90e00938c092940501438024a5024f0014050e0090140b0145c02c593d8d2", + "0x5374090e00937409374053b4090e00917c092980517c090e009014350145d", + "0xd2024ed02438024ed024ba0140b024380240b024b80145d024380245d024e3", + "0x90e009024093dc05024090e009016510140502438024053b8053b40b174dd", + "0x90e00902ca502c37014a502438024050e40502c090e0090240502c8201409", + "0x9954d202654294090e1010140994c0534809024d202438024d202652014d2", + "0x50e0090140b014ff0265b4000996901026593a409960e3026573740995826", + "0x53f4090e0093f80902c82014fe02438024fe024f7014fe024380240597005", + "0x82014fa02438024fb024d4014fb02438024fc02602014fc02438024a50265d", + "0xb0240b024380240b02425014f902438024f902425014f902438024fa3f40b", + "0x82014f802438024f8024f7014f8024380240597805014380240502c0502cf9", + "0x7e014f502438024f602603014f602438024d20265f014f702438024f80240b", + "0x25014f302438024f302425014f302438024f43dc0b208053d0090e0093d409", + "0xf7014f2024380240598005014380240502c0502cf302c0902c090e00902c09", + "0x204014b8024380242602661014a602438024f20240b208053c8090e0093c809", + "0x25014bf02438024bb2980b208052ec090e0092e8092d8052e8090e0092e009", + "0x5014380240502c0502cbf02c0902c090e00902c09094052fc090e0092fc09", + "0x262014c902438024c40240b20805310090e009310093dc05310090e00901511", + "0xb20805364090e0093500942805350090e0093380943805338090e00937409", + "0xdf02c0902c090e00902c090940537c090e00937c090940537c090e009364c9", + "0xb20805394090e009394093dc05394090e00901663014050e0090140b0140b", + "0x9554053b8090e0093b0098cc053b0090e00938c09990053ac090e00939409", + "0x9094050b8090e0090b809094050b8090e0093bceb02c82014ef02438024ee", + "0x93dc050b0090e00901665014050e0090140b0140b0b80b0240b024380240b", + "0x98d0050a0090e0093a409998050a8090e0090b00902c820142c024380242c", + "0x909405140090e00911c2a02c8201447024380242502570014250243802428", + "0x267014050e0090140b0140b1400b0240b024380240b02425014500243802450", + "0x99a005138090e0091340902c820144d024380244d024f70144d0243802405", + "0x4e02c820143b02438024f10258b014f1024380245102635014510243802501", + "0xb0e40b0240b024380240b024250143902438024390242501439024380243b", + "0x902c82014370243802437024f70143702438024059a405014380240502c05", + "0x59025a6014590243802457026360145702438025000266a014350243802437", + "0xb024250145c024380245c024250145c02438024f00d40b208053c0090e009", + "0x5d024f70145d024380240544005014380240502c0502c5c02c0902c090e009", + "0xed02637014ed02438024ff0266b0145f024380245d0240b20805174090e009", + "0x82024250148202438024ea17c0b208053a8090e0091880970805188090e009", + "0x26c0140502438024053b80502c8202c0902c090e00902c0909405208090e009", + "0x50e40502c090e0090240502c82014090243802409024f7014090243802405", + "0x534809024d202438024d202652014d2024380240b2940b0dc05294090e009", + "0x502c82014090243802409024f70140902438024059b405014090e009014ee", + "0xd202652014d2024380240b2940b0dc05294090e009014390140b0243802409", + "0x9024f70140902438024059b805014090e009014ee014d202409348090e009", + "0xb2940b0dc05294090e009014390140b02438024090140b20805024090e009", + "0x59bc05014090e009014ee014d202409348090e0093480994805348090e009", + "0x9014390140b02438024090140b20805024090e009024093dc05024090e009", + "0xee014d202409348090e0093480994805348090e00902ca502c37014a502438", + "0x90140b20805024090e009024093dc05024090e00901670014050243802405", + "0x93480994805348090e00902ca502c37014a502438024050e40502c090e009", + "0x9024093dc05024090e009015120140502438024053b80534809024d202438", + "0x902ca502c37014a502438024050e40502c090e0090240502c820140902438", + "0x9016710140502438024053b80534809024d202438024d202652014d202438", + "0x38024050e40502c090e0090240502c82014090243802409024f70140902438", + "0x53b80534809024d202438024d202652014d2024380240b2940b0dc0529409", + "0x90240502c82014090243802409024f70140902438024059c805014090e009", + "0x38024d202652014d2024380240b2940b0dc05294090e009014390140b02438", + "0x3802409024f70140902438024059cc05014090e009014ee014d20240934809", + "0x380240b2940b0dc05294090e009014390140b02438024090140b2080502409", + "0x38024059d005014090e009014ee014d202409348090e009348099480534809", + "0x90e009014390140b02438024090140b20805024090e009024093dc0502409", + "0x9014ee014d202409348090e0093480994805348090e00902ca502c37014a5", + "0x38024090140b20805024090e009024093dc05024090e009016750140502438", + "0x90e0093480994805348090e00902ca502c37014a502438024050e40502c09", + "0x93a409350053a4a502c38024a5024ce014e302438024053240534809024d2", + "0x90e0093fc09394053fc090e009014df0150002438024e3024d90150102438", + "0xfc296763f4fe02c3802d01400ff02405098ec015000243802500024eb014ff", + "0x53e4090e0093f809294053f8090e0093f80938c05014380240502c053e8fb", + "0xf60242e014f602438024a5024ef014f702438024053b8053e0090e009014ee", + "0x93cc090a00501438024f40242a014f33d00b0e0093d4090b0053d4090e009", + "0xf73e0f329447014f702438024f702425014f802438024f802425014f302438", + "0xa602450014050e0092e009134052e8b802c38024f202450014a63c80b0e009", + "0x92fc0913805310090e0092e8091380501438024bb0244d014bf2ec0b0e009", + "0xa59dcd43380b0e00b324c43f4f934851014f902438024f9024e3014c902438", + "0xeb02438024ce024a5014ce02438024ce024e3014050e0090140b014e537cd9", + "0x53bc090e0093b8091f8053b8d202c38024d2024d3014ec02438024051fc05", + "0x9394053ac090e0093ac0938c050b0090e009014df0142e02438024ec024d9", + "0x2a02c3802cef0b82c350eb098ec0142e024380242e024eb0142c024380242c", + "0x90a809294050a8090e0090a80938c05014380240502c0514047094a59e028", + "0xf102438024d2024cd0145102438024053b805138090e009014ee0144d02438", + "0x501438024390242a014370e40b0e0090ec090b0050ec090e0093c4091f405", + "0x47014510243802451024250144e024380244e0242501437024380243702428", + "0x50e00916409134053c05902c380243502450014570d40b0e0091444e0dca5", + "0x517c090e0093c00913805014380245c0244d0145d1700b0e00915c0914005", + "0xb0e00b3b45f0a04d348510144d024380244d024e3014ed024380245d0244e", + "0x62024a5014620243802462024e3014050e0090140b0148139082296793a862", + "0x9360092d8053602602c38024260247a01480024380240522405378090e009", + "0x90e0093780938c051f8090e009014df014d30243802480024d90147f02438", + "0x7f34c7e3a8de098ec014d302438024d3024eb0147e024380247e024e5014de", + "0x5334090e0093340938c05014380240502c0530c7c320a59e87d3340b0e00b", + "0x26024b20147502438024053b8052f0090e009014ee0147b02438024cd024a5", + "0x7a0242a014b61e80b0e009224090b005224090e0091d80920c051d8090e009", + "0x380247502425014bc02438024bc02425014b602438024b602428014050e009", + "0x9134052a8b302c38024b202450014832c80b0e0091d4bc2d8a511c051d409", + "0x92a8091380501438024a80244d014a72a00b0e00920c091400501438024b3", + "0x8d1f47b348510147b024380247b024e30149b02438024a70244e0148d02438", + "0xa024380240a024e3014050e0090140b0150b428002967b2600a02c3802c9b", + "0x5504dd02c38024dd0240001540024380240526005430090e0090280929405", + "0x938c05524090e009014df015460243802540024d90154502438025410250a", + "0x10c098ec015460243802546024eb015490243802549024e50150c024380250c", + "0x941c0938c05014380240502c055555454ca59f15141c0b0e00b5154652498", + "0x10602438024053b805560090e009014ee015570243802507024a50150702438", + "0x1645840b0e009580090b005580090e00957c094300557c090e0093740942c05", + "0x250155802438025580242501564024380256402428014050e009584090a805", + "0x10802c380256a024500156d5a80b0e00941958590a511c05418090e00941809", + "0x501438025700244d015725c00b0e0095b4091400501438025080244d0156f", + "0x51015570243802557024e30157a02438025720244e01573024380256f0244e", + "0x17b024e3014050e0090140b015840bc342967d5f17b02c3802d7a5cd5155cd2", + "0x96240b02e7e0158902438024053f40561c090e0095ec09294055ec090e009", + "0x380257c024b8015870243802587024e30158b024380258a0243c0158a02438", + "0xb025fa014050e0090140b0158b5f1872940962c090e00962c0943c055f009", + "0x90e009014390158d0243802434024a5014340243802434024e3014050e009", + "0x90e0096340938c05658090e009654099fc05654090e0096118e02c370158e", + "0x502c056582f634a50259602438025960250f0142f024380242f024b80158d", + "0x1530243802553024e3014050e0093740902805014380240b025fa014050e009", + "0x5668090e0095559702c370159702438024050e405414090e00954c0929405", + "0x10f015540243802554024b8015050243802505024e3015a0024380259a0267f", + "0x5014380240b025fa014050e0090140b015a05510529409680090e00968009", + "0x938c0568c090e0090000929405000090e0090000938c0501438024dd0240a", + "0x9014fe015a6024380250b0242501504024380250a024b8015a502438025a3", + "0x91d80501438024dd0240a014050e00902c097e805014380240502c0501680", + "0x96a00938c056a0090e0093200929405320090e0093200938c050143802426", + "0x90e00901439015a602438024c30242501504024380247c024b8015a502438", + "0x90e0096940938c056c4090e0096c0099fc056c0090e009699a902c37015a9", + "0x502c056c504694a5025b102438025b10250f015040243802504024b8015a5", + "0x5014380242602476014050e0093740902805014380240b025fa014050e009", + "0xb80150902438025b2024e3015b20243802482024a5014820243802482024e3", + "0x380240502c0501681024053f8056ec090e00920409094056d4090e00939009", + "0x936005014380242602476014050e0093740902805014380240b025fa01405", + "0x96f80938c056f8090e0090940929405094090e0090940938c0501438024d2", + "0x90e00901439015bb024380245002425015b50243802447024b80150902438", + "0x90e0094240938c05708090e009704099fc05704090e0096edc002c37015c0", + "0x502c05709b5424a5025c202438025c20250f015b502438025b5024b801509", + "0x5014380242602476014050e0093740902805014380240b025fa014050e009", + "0x938c0540c090e0093640929405364090e0093640938c0501438024d2024d8", + "0x9014fe015cc02438024e502425015cb02438024df024b8015c40243802503", + "0x91d80501438024dd0240a014050e00902c097e805014380240502c0501682", + "0x90e0093f00938c0501438024a5024f3014050e00934809360050143802426", + "0x1cb02438024fb024b8015c402438025cd024e3015cd02438024fc024a5014fc", + "0x5744090e009731ce02c37015ce02438024050e405730090e0093e80909405", + "0x10f015cb02438025cb024b8015c402438025c4024e3015e602438025d10267f", + "0x90243802405a0c05014090e009014ee015e672dc429409798090e00979809", + "0x5294090e009014390140b02438024090140b20805024090e009024093dc05", + "0x90e009014ee014d202409348090e0093480994805348090e00902ca502c37", + "0xb02438024090140b20805024090e009024093dc05024090e0090168401405", + "0x9348090e0093480994805348090e00902ca502c37014a502438024050e405", + "0x5024090e009024093dc05024090e009016850140502438024053b80534809", + "0x5348090e00902ca502c37014a502438024050e40502c090e0090240502c82", + "0x5348090e009014c9014050e009294097e80534809024d202438024d202652", + "0xed014050e0093740917c0538cdd02c38024260245d0142602438024d20245c", + "0x537c05400090e0094040936405404090e0093a409188053a4090e00938c09", + "0xb024d23a805400090e009400093ac053fc090e0093fc09394053fc090e009", + "0x38024fe024e3014050e0090140b014f93e8fb296863f0fd3f8a50e00b400ff", + "0x90e0093f4092e0053f0090e0093f0093dc053e0090e0093f809294053f809", + "0x502c053d409a1cf63dc0b0e00b3f00502cf6014f802438024f8024e3014fd", + "0x90e0093cc09320053cc090e0090147f014f402438024f8024a5014050e009", + "0xba02438024b80247b014050e0092980930c052e0a602c38024f20247c014f2", + "0xe3014c4024380240537c052fc090e0092ec09364052ec090e0092e80918805", + "0x9374052fc090e0092fc093ac05310090e00931009394053d0090e0093d009", + "0xb014e537cd929688350ce324a50e00b2fcc43f4f4348ea014f702438024f7", + "0x9350093dc053ac090e0093240929405324090e0093240938c050143802405", + "0xb350f702c80014eb02438024eb024e3014ce02438024ce024b8014d402438", + "0x9014890142e02438024eb024a5014050e0090140b014ef026893b8ec02c38", + "0x90a0092a0050942802c380242a024aa0142a024380242c024b30142c02438", + "0x90e0091400936405140090e00911c091880511c090e0090940929c0501438", + "0x5138090e00913809394050b8090e0090b80938c05138090e009014df0144d", + "0xa50e00b1344e3382e348ea014ec02438024ec024dd0144d024380244d024eb", + "0x929405144090e0091440938c05014380240502c050d4370e4a5a283b3c451", + "0x57024e3014f102438024f1024b80143b024380243b024f7014570243802451", + "0xa5014050e0090140b0145c0268b3c05902c3802c3b3b00b1d40515c090e009", + "0xed02541014ed024380245f025400145f024380240526005174090e00915c09", + "0x92080918805208090e0093a80951805014380246202545014ea1880b0e009", + "0x90e0091740938c05378090e009014df0148102438024e4024d9014e402438", + "0x590243802459024dd014810243802481024eb014de02438024de024e50145d", + "0x5014380240502c053347e34ca5a307f360802943802c81378f1174d23a805", + "0xb80147f024380247f024f70147d0243802480024a5014800243802480024e3", + "0x28d1f0c802c3802c7f1640b26c051f4090e0091f40938c05360090e00936009", + "0x7c3c0ee3d8d28fc051d4090e0091f40929405014380240502c052f07b30ca5", + "0x932009374051e8090e00922409a3c05224090e0091d809a38051d8090e009", + "0x380247a02690014d802438024d8024b8014750243802475024e3014c802438", + "0xbc0240a014050e0091ec0902805014380240502c051e8d81d4c8348091e809", + "0x501438024f002476014050e0093b8093600501438024f6024f3014050e009", + "0xde014b320c0b0e0092c809204052c8090e00901549014b6024380247d024a5", + "0xd8024b8014a802438024b6024e3014aa02438024c3024dd014050e00920c09", + "0x5014380240502c0501691024053f805234090e0092cc090940529c090e009", + "0x934c0938c0501438024ee024d8014050e0093d8093cc0501438024f002476", + "0x380249b024e3014aa0243802459024dd0149b02438024d3024a5014d302438", + "0xa02438024050e405234090e009334090940529c090e0091f8092e0052a009", + "0xaa02438024aa024dd0140002438024980269201498024380248d0280b0dc05", + "0x9000090e00900009a400529c090e00929c092e0052a0090e0092a00938c05", + "0x50e0093b8093600501438024f6024f3014050e0090140b0140029ca82a8d2", + "0x55010c02c380250b024810150b024380240523405428090e00915c0929405", + "0x92e005514090e0094280938c05504090e0091700937405014380250c024de", + "0x50e0090140b01405a4c09014fe015490243802540024250154602438024f1", + "0x9294050e4090e0090e40938c0501438024f6024f3014050e0093b80936005", + "0x37024b8015450243802507024e30154102438024ec024dd015070243802439", + "0x95255102c370155102438024050e405524090e0090d40909405518090e009", + "0x3802545024e3015410243802541024dd015540243802553026920155302438", + "0x5551465154134809550090e00955009a4005518090e009518092e00551409", + "0x38024052f005554090e0093ac092940501438024f6024f3014050e0090140b", + "0x90e0093bc09374050143802558024de015065600b0e00955c092040555c09", + "0x1640243802506024250156102438024ce024b8015600243802555024e30155f", + "0x38024d9024e3014050e0093d8093cc05014380240502c0501694024053f805", + "0x90e0095a80938c0557c090e0093dc09374055a8090e009364092940536409", + "0x55b4090e009014390156402438024e5024250156102438024df024b801560", + "0x557c090e00957c09374055bc090e00942009a4805420090e0095916d02c37", + "0xd20256f024380256f02690015610243802561024b8015600243802560024e3", + "0x1720243802405390055c0090e0093e00929405014380240502c055bd615815f", + "0x55ec090e0093d409374050143802573024de0157a5cc0b0e0095c80920405", + "0xfe0142f024380257a024250143402438024fd024b80157c0243802570024e3", + "0x90e0093ec09294053ec090e0093ec0938c05014380240502c050169502405", + "0x3402438024fa024b80157c0243802584024e30157b0243802405024dd01584", + "0x5624090e0090bd8702c370158702438024050e4050bc090e0093e40909405", + "0xb80157c024380257c024e30157b024380257b024dd0158a024380258902692", + "0x380240554c05628345f17b34809628090e00962809a40050d0090e0090d009", + "0x38024e9024d901500024380250102555015012940b0e00929409550053a409", + "0xff02438024ff024eb014fe02438024fe024e5014fe024380240537c053fc09", + "0x5014380240502c053e4fa3eca5a58fc3f40b0e00b400ff3f809014263b005", + "0x53b8053dc090e009014ee014f802438024fd024a5014fd02438024fd024e3", + "0x93d0090b0053d0090e0093d409560053d4090e0092940955c053d8090e009", + "0x38024f702425014f202438024f202428014050e0093cc090a8053c8f302c38", + "0xa602450014b82980b0e0093d8f73c8a511c053d8090e0093d809094053dc09", + "0xbf0244d014c42fc0b0e0092e0091400501438024ba0244d014bb2e80b0e009", + "0x38024f8024e3014ce02438024c40244e014c902438024bb0244e014050e009", + "0x50e0090140b014eb394df29697364d402c3802cce324fc3e0d2144053e009", + "0x16f014ee0243802405420053b0090e0093500929405350090e0093500938c05", + "0xdf0142c02438024ee024d90142e02438024ef02570014ef3480b0e00934809", + "0x2c024eb0142a024380242a024e5014ec02438024ec024e30142a0243802405", + "0x502c051345011ca5a60250a00b0e00b0b82c0a8d93b0263b0050b0090e009", + "0x90e009014ee0144e0243802428024a5014280243802428024e3014050e009", + "0x50e4090e0090ec095cc050ec090e009348095c8053c4090e009014ee01451", + "0x2501435024380243502428014050e0090dc090a8050d43702c38024390242c", + "0x5915c0b0e0093c4510d4a511c053c4090e0093c40909405144090e00914409", + "0x5f1740b0e009164091400501438024f00244d0145c3c00b0e00915c0914005", + "0xe301462024380245f0244e014ed024380245c0244e014050e0091740913405", + "0xb014de204e429699208ea02c3802c623b425138d214405138090e00913809", + "0x380240562405200090e0093a809294053a8090e0093a80938c050143802405", + "0x38024d8024d9014d3024380247f0258b0147f0980b0e009098096280536009", + "0xcd02438024cd024e5014800243802480024e3014cd024380240537c051f809", + "0xc31f0a5a68c81f40b0e00b34c7e33482200263b0051f8090e0091f8093ac05", + "0xee014bc024380247d024a50147d024380247d024e3014050e0090140b0147b", + "0x92240963805224090e00909809634051d8090e009014ee014750243802405", + "0x38024b202428014050e0092d8090a8052c8b602c380247a0242c0147a02438", + "0x91d8752c8a511c051d8090e0091d809094051d4090e0091d409094052c809", + "0x92cc091400501438024aa0244d014a82a80b0e00920c09140052cc8302c38", + "0x380248d0244e0149b02438024a80244e014050e00929c0913405234a702c38", + "0x10a2969b0009802c3802c0a26cc82f0d2144052f0090e0092f00938c0502809", + "0x5500090e0092600929405260090e0092600938c05014380240502c054310b", + "0xd9015460243802545025a6015453740b0e0093740941005504090e009015a5", + "0x107024e5015400243802540024e301507024380240537c05524090e00950409", + "0x1535440b0e00b5194941c00500263b005524090e009524093ac0541c090e009", + "0x3802551024a5015510243802551024e3014050e0090140b01557555542969c", + "0x5580090e009374096a00557c090e009014ee0150602438024053b80556009", + "0x28014050e009590090a8055a96402c38025610242c015610243802560025a9", + "0xa511c0557c090e00957c0909405418090e00941809094055a8090e0095a809", + "0x5014380256f0244d015705bc0b0e0095b409140054216d02c380255f4196a", + "0x4e0157a02438025700244e014050e0095c809134055cd7202c380250802450", + "0x17c02c3802d7b5e953560d214405560090e0095600938c055ec090e0095cc09", + "0x95f009294055f0090e0095f00938c05014380240502c0561d840bca5a7434", + "0x380258b025c20158b38c0b0e00938c0970405628090e009015c00158902438", + "0x1890243802589024e301595024380240537c05638090e009628093640563409", + "0xb6358e65434624263b005638090e009638093ac05654090e0096540939405", + "0xa5015960243802596024e3014050e0090140b015a0669972969e4159602c38", + "0x938c0940c05410090e009014ee015a502438024053b80568c090e00965809", + "0x96a4090a8056c1a902c38025a80242c015a802438025a6025c4015a602438", + "0x90e0094100909405694090e00969409094056c0090e0096c0090a00501438", + "0x1090244d015b54240b0e0096c409140056c9b102c3802504695b02944701504", + "0x38025b50244e014050e0096ec09134056f9bb02c38025b202450014050e009", + "0x1c17010568cd21440568c090e00968c0938c05704090e0096f8091380570009", + "0x5708090e0097080938c05014380240502c05731cb710a5a7d037080b0e00b", + "0x3c015d102438025ce02c0b9f805738090e009014fd015cd02438025c2024a5", + "0x943c0540c090e00940c092e005734090e0097340938c05798090e00974409", + "0xe3014050e00902c097e805014380240502c0579903734a5025e602438025e6", + "0x1e802c37015e802438024050e40579c090e0097100929405710090e00971009", + "0x1cb024b8015e702438025e7024e3015ea02438025e90267f015e902438025cc", + "0x1fa014050e0090140b015ea72de7294097a8090e0097a80943c0572c090e009", + "0x965c092940565c090e00965c0938c0501438024e3025be014050e00902c09", + "0x38025ee0267f015ee02438025a07b00b0dc057b0090e00901439015eb02438", + "0x90e0097c00943c05668090e009668092e0057ac090e0097ac0938c057c009", + "0x38024e3025be014050e00902c097e805014380240502c057c19a7aca5025f0", + "0x1f402438025f2024e3015f2024380242f024a50142f024380242f024e301405", + "0x502c05016a0024053f8057e8090e00961c09094057e4090e009610092e005", + "0x501438024dd025a3014050e00938c096f805014380240b025fa014050e009", + "0xb8015f402438025fb024e3015fb0243802554024a5015540243802554024e3", + "0x1fc02c37015fc02438024050e4057e8090e00955c09094057e4090e00955409", + "0x1f9024b8015f402438025f4024e3015ff02438025fe0267f015fe02438025fa", + "0x1fa014050e0090140b015ff7e5f4294097fc090e0097fc0943c057e4090e009", + "0x380250a024e3014050e0093740968c0501438024e3025be014050e00902c09", + "0x90e00942c092e005804090e0098000938c05800090e009428092940542809", + "0xb025fa014050e0090140b01405a8409014fe01603024380250c0242501602", + "0x5014380242602587014050e0093740968c0501438024e3025be014050e009", + "0xb8016010243802604024e301604024380247c024a50147c024380247c024e3", + "0x10e02c370150e02438024050e40580c090e0091ec0909405808090e00930c09", + "0x202024b8016010243802601024e30161d024380261c0267f0161c0243802603", + "0x1fa014050e0090140b0161d80a0129409874090e0098740943c05808090e009", + "0x380242602587014050e0093740968c0501438024e3025be014050e00902c09", + "0x21f024380261e024e30161e02438024e4024a5014e402438024e4024e301405", + "0x502c05016a2024053f805884090e0093780909405880090e009204092e005", + "0x501438024dd025a3014050e00938c096f805014380240b025fa014050e009", + "0x47024a5014470243802447024e3014050e009348095b405014380242602587", + "0x91340909405880090e009140092e00587c090e0098900938c05890090e009", + "0x380262d0267f0162d02438026218b00b0dc058b0090e009014390162102438", + "0x90e0098bc0943c05880090e009880092e00587c090e00987c0938c058bc09", + "0x38024e3025be014050e00902c097e805014380240502c058be2087ca50262f", + "0x938c0501438024d20256d014050e0090980961c0501438024dd025a301405", + "0xe5024b8016310243802630024e30163002438024df024a5014df02438024df", + "0x5014380240502c05016a3024053f8058cc090e0093ac09094058c8090e009", + "0x90980961c0501438024dd025a3014050e00938c096f805014380240b025fa", + "0x53ec090e0093ec0938c0501438024a502551014050e009348095b40501438", + "0x250163202438024fa024b8016310243802634024e30163402438024fb024a5", + "0x99fc058d8090e0098ce3502c370163502438024050e4058cc090e0093e409", + "0x2370250f016320243802632024b8016310243802631024e3016370243802636", + "0xf701409024380240543405014090e009014ee016378ca31294098dc090e009", + "0xb0dc05294090e009014390140b02438024090140b20805024090e00902409", + "0x501438024a5025fa014d202409348090e0093480994805348090e00902ca5", + "0x160014e33740b0e0090980957c05098090e0093480941805348090e00901553", + "0x101024d90150102438024e902462014e902438024e302561014050e00937409", + "0x3802500024eb014ff02438024ff024e5014ff024380240537c05400090e009", + "0x380240502c053e4fa3eca5a90fc3f4fe2943802d003fc0b024d23a80540009", + "0xfc02438024fc024f7014f802438024fe024a5014fe02438024fe024e301405", + "0xf702c3802cfc0140b41c053e0090e0093e00938c053f4090e0093f4092e005", + "0xf30243802405420053d0090e0093e00929405014380240502c053d409a94f6", + "0x501438024a60257c014b82980b0e0093c8095ec053c8090e0093cc095e805", + "0xdf014bf02438024bb024d9014bb02438024ba02462014ba02438024b802434", + "0xbf024eb014c402438024c4024e5014f402438024f4024e3014c40243802405", + "0xd4338c92943802cbf310fd3d0d23a8053dc090e0093dc09374052fc090e009", + "0x38024c9024a5014c902438024c9024e3014050e0090140b014e537cd9296a6", + "0x90e0093ac0938c05338090e009338092e005350090e009350093dc053ac09", + "0x93ac0929405014380240502c053bc09a9cee3b00b0e00b350f702d6a014eb", + "0xb0e0090a809658050a8090e0090b009654050b0090e009015890142e02438", + "0x5002438024470246201447024380242502597014050e0090a0094140509428", + "0xe50142e024380242e024e30144e024380240537c05134090e0091400936405", + "0xd23a8053b0090e0093b00937405134090e009134093ac05138090e00913809", + "0x51024e3014050e0090140b014350dc39296a80ecf1144a50e00b1344e3382e", + "0x93c4092e0050ec090e0090ec093dc0515c090e0091440929405144090e009", + "0x517009aa4f01640b0e00b0ecec02d84014570243802457024e3014f102438", + "0x917c096c00517c090e009015a50145d0243802457024a5014050e0090140b", + "0x38024ea02509014050e009188096c8053a86202c38024ed025b1014ed02438", + "0xde024380240537c05204090e0093900936405390090e009208091880520809", + "0x5204090e009204093ac05378090e0093780939405174090e0091740938c05", + "0xcd1f8d3296aa1fcd8200a50e00b204de3c45d348ea014590243802459024dd", + "0x93dc051f4090e0092000929405200090e0092000938c05014380240502c05", + "0x5902da00147d024380247d024e3014d802438024d8024b80147f024380247f", + "0x1c00147b024380247d024a5014050e0090140b014c3026ab1f0c802c3802c7f", + "0x9734052247602c3802475025cc0147502438024bc025cb014bc0243802405", + "0x92d809364052d8090e0091e809188051e8090e00922409738050143802476", + "0x90e00920c09394051ec090e0091ec0938c0520c090e009014df014b202438", + "0xb2c8833607b348ea014c802438024c8024dd014b202438024b2024eb01483", + "0x52cc090e0092cc0938c05014380240502c0526c8d29ca5ab0a82a8b329438", + "0xe3014aa02438024aa024b8014a802438024a8024f70140a02438024b3024a5", + "0x50e0090140b0150a026ad0009802c3802ca83200b6ec05028090e00902809", + "0x943009ab805430090e0090007c3c0ee3d8269200542c090e0090280929405", + "0x380250b024e3014980243802498024dd015410243802540026af0154002438", + "0x5504aa42c9834809504090e00950409ac0052a8090e0092a8092e00542c09", + "0x380247c025a3014050e0093b8095b40501438024f602551014050e0090140b", + "0x8101546024380240574405514090e009028092940501438024f00258701405", + "0x938c05544090e00942809374050143802549024de015075240b0e00951809", + "0x9014fe015550243802507024250155402438024aa024b8015530243802545", + "0x95b40501438024f602551014050e0093c00961c05014380240502c05016b1", + "0x38024a7024a5014a702438024a7024e3014050e0091f00968c0501438024ee", + "0x90e009234092e00554c090e00955c0938c05544090e009320093740555c09", + "0x10602438025555600b0dc05560090e0090143901555024380249b0242501554", + "0x554c090e00954c0938c05544090e009544093740557c090e00941809ac805", + "0x90140b0155f55153544d20255f024380255f026b0015540243802554024b8", + "0xa5014050e0093b8095b40501438024f602551014050e0093c00961c0501438", + "0x9378055a96402c3802561024810156102438024056d405580090e0091f409", + "0x9360092e005420090e0095800938c055b4090e00930c09374050143802564", + "0x187014050e0090140b01405acc09014fe01570024380256a024250156f02438", + "0x38024d3024e3014050e0093b8095b40501438024f602551014050e0093c009", + "0x90e0095c80938c055b4090e00916409374055c8090e00934c092940534c09", + "0x55cc090e009014390157002438024cd024250156f024380247e024b801508", + "0x55b4090e0095b409374055ec090e0095e809ac8055e8090e0095c17302c37", + "0xd20257b024380257b026b00156f024380256f024b8015080243802508024e3", + "0x501438024ee0256d014050e0093d80954405014380240502c055ed6f4216d", + "0xde015840bc0b0e0090d009204050d0090e0090159a0157c0243802457024a5", + "0xf1024b801589024380257c024e301587024380245c024dd014050e0090bc09", + "0x5014380240502c05016b4024053f80562c090e0096100909405628090e009", + "0x39024a5014390243802439024e3014050e0093d8095440501438024ee0256d", + "0x90dc092e005624090e0096340938c0561c090e0093b00937405634090e009", + "0x380258b6380b0dc05638090e009014390158b0243802435024250158a02438", + "0x90e0096240938c0561c090e00961c0937405658090e00965409ac80565409", + "0xb015966298961cd2025960243802596026b00158a024380258a024b801589", + "0x90e0090142f0150502438024eb024a5014050e0093d809544050143802405", + "0x1a302438024ef024dd014050e00966809378056819a02c38025970248101597", + "0x5698090e0096800909405410090e009338092e005694090e0094140938c05", + "0x90e0093640938c0501438024f602551014050e0090140b01405ad409014fe", + "0x1a502438025a8024e3015a302438024f7024dd015a802438024d9024a5014d9", + "0x37015a902438024050e405698090e0093940909405410090e00937c092e005", + "0xe3015a302438025a3024dd015b102438025b0026b2015b002438025a66a40b", + "0x1a3348096c4090e0096c409ac005410090e009410092e005694090e00969409", + "0x5424090e00901564015b202438024f8024a5014050e0090140b015b1411a5", + "0xe3015be02438024f5024dd014050e0096d409378056edb502c380250902481", + "0x53f805708090e0096ec0909405704090e0093f4092e005700090e0096c809", + "0x10302438024fb024a5014fb02438024fb024e3014050e0090140b01405ad809", + "0x5704090e0093e8092e005700090e00940c0938c056f8090e0090140937405", + "0x2b2015cb02438025c27100b0dc05710090e00901439015c202438024f902425", + "0x92e005700090e0097000938c056f8090e0096f80937405730090e00972c09", + "0x762a098014d211dcc705c06f8d2025cc02438025cc026b0015c102438025c1", + "0x1e92940b0240529ca826005348762a098014d2014a502c09014a72a098014d2", + "0xa72a098014d21d8a82600534ab72940b0240529ca826005348762a098014d2", + "0x762a098014d2ae4a502c09014a72a098014d21d8a82600534ab82940b02405", + "0x2bb2940b0240529ca826005348762a098014d2ae8a502c09014a72a098014d2", + "0xa72a098014d21d8a82600534abc2940b0240529ca826005348762a098014d2", + "0x762a098014d2af8a502c09014a72a098014d21d8a82600534abd2940b02405", + "0x2c02940b0240529ca826005348762a098014d2afca502c09014a72a098014d2", + "0xa72a098014d21d8a82600534ac12940b0240529ca826005348762a098014d2", + "0x762a098014d2b0ca502c09014a72a098014d21d8a82600534ac22940b02405", + "0x2c52940b0240529ca826005348762a098014d2b10a502c09014a72a098014d2", + "0xa72a098014d21d8a82600534ac62940b0240529ca826005348762a098014d2", + "0x762a098014d2b20a502c09014a72a098014d21d8a82600534ac72940b02405", + "0x2ca2940b0240529ca826005348762a098014d2b24a502c09014a72a098014d2", + "0xa72a098014d21d8a82600534acb2940b0240529ca826005348762a098014d2", + "0xa5b385102405b34a502c09014a72a098014d21d8a82600534acc2940b02405", + "0x5102405b485102405b445102405b405102405b3c0b024051384e02c4e138b6", + "0x2d914409016d814409016d714409016d614409016d514409016d414409016d3", + "0x5b6cdd098d22940b024053b4a8260a50d4370e43b170a8260e3b685102405", + "0xa502c09014f02a098014d2170a82600534ade14409016dd14409016dc14409", + "0x9016e038cdd098d22940b024053b4a8260a5094280a82c0b85c2a0983a6df", + "0x2e22940b024053c4a8260053485c2a098014d2b8451" + ], + "sierra_program_debug_info": { + "type_names": [ + [0, "RangeCheck"], + [1, "core::never"], + [ + 2, + "Const" + ], + [ + 3, + "Const" + ], + [ + 4, + "Const" + ], + [ + 5, + "Const" + ], + [6, "Const"], + [7, "Const"], + [8, "Const"], + [9, "Const"], + [10, "Const"], + [11, "Const"], + [12, "Const"], + [13, "Const"], + [14, "Const"], + [ + 15, + "Const" + ], + [16, "Const"], + [ + 17, + "Const" + ], + [ + 18, + "Const" + ], + [ + 19, + "Const" + ], + [ + 20, + "Const" + ], + [ + 21, + "Const" + ], + [ + 22, + "Const" + ], + [ + 23, + "Const" + ], + [ + 24, + "Const" + ], + [ + 25, + "Const" + ], + [26, "Const"], + [27, "Const"], + [28, "Const"], + [29, "Const"], + [30, "Const"], + [31, "Const"], + [32, "Const"], + [33, "Const"], + [34, "Const"], + [35, "Const"], + [36, "Const"], + [37, "Const"], + [38, "Const"], + [39, "Const"], + [40, "Const"], + [41, "i8"], + [42, "i16"], + [43, "i32"], + [44, "i64"], + [45, "i128"], + [46, "Tuple"], + [47, "Tuple>"], + [48, "core::panics::Panic"], + [49, "Array"], + [50, "Tuple>"], + [ + 51, + "core::panics::PanicResult::<((core::integer::i8, core::integer::i16, core::integer::i32, core::integer::i64, core::integer::i128),)>" + ], + [52, "u8"], + [53, "u16"], + [54, "u64"], + [55, "u128"], + [56, "Tuple"], + [57, "Tuple>"], + [ + 58, + "core::panics::PanicResult::<((core::integer::u8, core::integer::u16, core::integer::u64, core::integer::u128),)>" + ], + [59, "integer_types_test::IntegerTypesStorage::ContractState"], + [60, "Unit"], + [61, "Tuple"], + [ + 62, + "core::panics::PanicResult::<(integer_types_test::IntegerTypesStorage::ContractState, ())>" + ], + [63, "StorageBaseAddress"], + [64, "core::starknet::storage::StoragePointer0Offset::"], + [65, "integer_types_test::IntegerTypesStorage::I128Stored"], + [66, "core::starknet::storage::StoragePointer0Offset::"], + [67, "integer_types_test::IntegerTypesStorage::I64Stored"], + [68, "core::starknet::storage::StoragePointer0Offset::"], + [69, "integer_types_test::IntegerTypesStorage::I32Stored"], + [70, "core::starknet::storage::StoragePointer0Offset::"], + [71, "integer_types_test::IntegerTypesStorage::I16Stored"], + [72, "core::starknet::storage::StoragePointer0Offset::"], + [73, "integer_types_test::IntegerTypesStorage::I8Stored"], + [74, "core::starknet::storage::StoragePointer0Offset::"], + [75, "integer_types_test::IntegerTypesStorage::U128Stored"], + [76, "core::starknet::storage::StoragePointer0Offset::"], + [77, "integer_types_test::IntegerTypesStorage::U64Stored"], + [78, "core::starknet::storage::StoragePointer0Offset::"], + [79, "integer_types_test::IntegerTypesStorage::U16Stored"], + [80, "core::starknet::storage::StoragePointer0Offset::"], + [81, "Snapshot>"], + [82, "core::array::Span::"], + [83, "Tuple>"], + [84, "integer_types_test::IntegerTypesStorage::U8Stored"], + [85, "integer_types_test::IntegerTypesStorage::Event"], + [86, "Const"], + [87, "u32"], + [88, "StorageAddress"], + [89, "BuiltinCosts"], + [90, "System"], + [91, "core::panics::PanicResult::<(core::array::Span::,)>"], + [92, "Box"], + [93, "core::option::Option::>"], + [94, "felt252"], + [95, "GasBuiltin"] + ], + "libfunc_names": [ + [0, "revoke_ap_tracking"], + [1, "withdraw_gas"], + [2, "branch_align"], + [3, "redeposit_gas"], + [4, "struct_deconstruct>"], + [5, "enable_ap_tracking"], + [6, "store_temp"], + [7, "store_temp"], + [8, "array_snapshot_pop_front"], + [9, "enum_init>, 0>"], + [10, "store_temp>>"], + [11, "store_temp>>"], + [12, "jump"], + [13, "struct_construct"], + [14, "enum_init>, 1>"], + [15, "enum_match>>"], + [16, "disable_ap_tracking"], + [17, "unbox"], + [18, "rename"], + [19, "store_temp"], + [20, "u8_try_from_felt252"], + [21, "drop>>"], + [22, "drop>"], + [23, "drop"], + [ + 24, + "function_call>" + ], + [25, "enum_init,)>, 1>"], + [26, "store_temp"], + [27, "store_temp,)>>"], + [28, "get_builtin_costs"], + [29, "store_temp"], + [30, "withdraw_gas_all"], + [ + 31, + "storage_base_address_const<807102272102848379483484342142066886010421646090020283162444045180171948919>" + ], + [32, "dup"], + [33, "u8_to_felt252"], + [34, "storage_address_from_base"], + [35, "const_as_immediate>"], + [36, "store_temp"], + [37, "store_temp"], + [38, "storage_write_syscall"], + [39, "array_new"], + [40, "struct_construct"], + [41, "enum_init"], + [42, "snapshot_take"], + [43, "drop"], + [44, "store_temp"], + [45, "store_temp>"], + [ + 46, + "function_call" + ], + [47, "snapshot_take>"], + [48, "drop>"], + [49, "struct_construct>"], + [50, "emit_event_syscall"], + [51, "struct_construct>>"], + [52, "enum_init,)>, 0>"], + [53, "struct_construct"], + [54, "struct_construct>>"], + [55, "function_call>"], + [56, "drop"], + [ + 57, + "function_call>" + ], + [58, "drop>"], + [59, "struct_construct>"], + [60, "snapshot_take>"], + [61, "drop>"], + [ + 62, + "struct_deconstruct>" + ], + [63, "rename"], + [64, "storage_read_syscall"], + [65, "array_append"], + [ + 66, + "function_call>" + ], + [67, "struct_deconstruct>>"], + [68, "drop"], + [69, "u16_try_from_felt252"], + [70, "drop"], + [ + 71, + "storage_base_address_const<1446081403584455684161669971399885143042838924891569561007932621378756119310>" + ], + [72, "dup"], + [73, "u16_to_felt252"], + [74, "struct_construct"], + [75, "enum_init"], + [ + 76, + "struct_construct>" + ], + [77, "snapshot_take>"], + [78, "drop>"], + [ + 79, + "struct_deconstruct>" + ], + [ + 80, + "function_call>" + ], + [81, "u64_try_from_felt252"], + [82, "drop"], + [ + 83, + "storage_base_address_const<846367223800802274869087118142228576099507238845629034990291495913313435232>" + ], + [84, "dup"], + [85, "u64_to_felt252"], + [86, "struct_construct"], + [87, "enum_init"], + [ + 88, + "struct_construct>" + ], + [89, "snapshot_take>"], + [90, "drop>"], + [ + 91, + "struct_deconstruct>" + ], + [ + 92, + "function_call>" + ], + [93, "u128s_from_felt252"], + [94, "drop"], + [ + 95, + "storage_base_address_const<821512846618623595799696294302623082747591339358082503905692071674375303822>" + ], + [96, "dup"], + [97, "u128_to_felt252"], + [98, "struct_construct"], + [99, "enum_init"], + [ + 100, + "struct_construct>" + ], + [101, "snapshot_take>"], + [102, "drop>"], + [ + 103, + "struct_deconstruct>" + ], + [ + 104, + "function_call>" + ], + [105, "i8_try_from_felt252"], + [106, "drop"], + [ + 107, + "storage_base_address_const<324103189227575566891300335766419149796696351724507751403687583888985978791>" + ], + [108, "dup"], + [109, "i8_to_felt252"], + [110, "struct_construct"], + [111, "enum_init"], + [ + 112, + "struct_construct>" + ], + [113, "snapshot_take>"], + [114, "drop>"], + [ + 115, + "struct_deconstruct>" + ], + [ + 116, + "function_call>" + ], + [117, "i16_try_from_felt252"], + [118, "drop"], + [ + 119, + "storage_base_address_const<619958993716013123652664460329909370060347615777422104990813367149863451474>" + ], + [120, "dup"], + [121, "i16_to_felt252"], + [122, "struct_construct"], + [123, "enum_init"], + [ + 124, + "struct_construct>" + ], + [125, "snapshot_take>"], + [126, "drop>"], + [ + 127, + "struct_deconstruct>" + ], + [ + 128, + "function_call>" + ], + [129, "i32_try_from_felt252"], + [130, "drop"], + [ + 131, + "storage_base_address_const<538656480896842000598271455748864238561306063341700772811401015827257500861>" + ], + [132, "dup"], + [133, "i32_to_felt252"], + [134, "struct_construct"], + [135, "enum_init"], + [ + 136, + "struct_construct>" + ], + [137, "snapshot_take>"], + [138, "drop>"], + [ + 139, + "struct_deconstruct>" + ], + [ + 140, + "function_call>" + ], + [141, "i64_try_from_felt252"], + [142, "drop"], + [ + 143, + "storage_base_address_const<470465127356200289228305125722271185219662354695316293638583360094382464872>" + ], + [144, "dup"], + [145, "i64_to_felt252"], + [146, "struct_construct"], + [147, "enum_init"], + [ + 148, + "struct_construct>" + ], + [149, "snapshot_take>"], + [150, "drop>"], + [ + 151, + "struct_deconstruct>" + ], + [ + 152, + "function_call>" + ], + [153, "i128_try_from_felt252"], + [154, "drop"], + [ + 155, + "storage_base_address_const<1618050671545533209669941590873073654936732492147567239792198917561200175070>" + ], + [156, "dup"], + [157, "i128_to_felt252"], + [158, "struct_construct"], + [159, "enum_init"], + [ + 160, + "struct_construct>" + ], + [161, "snapshot_take>"], + [162, "drop>"], + [ + 163, + "struct_deconstruct>" + ], + [ + 164, + "function_call>" + ], + [165, "struct_construct"], + [166, "store_temp"], + [167, "store_temp"], + [168, "store_temp"], + [169, "store_temp"], + [ + 170, + "function_call" + ], + [ + 171, + "enum_match>" + ], + [172, "drop>"], + [ + 173, + "function_call>" + ], + [ + 174, + "function_call>" + ], + [ + 175, + "function_call>" + ], + [176, "snapshot_take"], + [177, "drop"], + [ + 178, + "function_call" + ], + [ + 179, + "enum_match>" + ], + [180, "struct_deconstruct>>"], + [181, "snapshot_take>"], + [182, "drop>"], + [183, "struct_deconstruct>"], + [184, "rename"], + [185, "rename"], + [186, "rename"], + [187, "rename"], + [188, "store_temp"], + [189, "store_temp"], + [190, "store_temp"], + [191, "store_temp"], + [192, "store_temp"], + [ + 193, + "function_call" + ], + [ + 194, + "function_call>" + ], + [ + 195, + "function_call" + ], + [ + 196, + "enum_match>" + ], + [197, "struct_deconstruct>>"], + [198, "snapshot_take>"], + [199, "drop>"], + [200, "struct_deconstruct>"], + [201, "rename"], + [202, "rename"], + [203, "rename"], + [204, "rename"], + [205, "rename"], + [206, "const_as_immediate>"], + [207, "const_as_immediate>"], + [208, "const_as_immediate>"], + [209, "const_as_immediate>"], + [210, "struct_construct>"], + [211, "const_as_immediate>"], + [212, "const_as_immediate>"], + [213, "const_as_immediate>"], + [214, "const_as_immediate>"], + [215, "const_as_immediate>"], + [216, "struct_construct>"], + [217, "const_as_immediate>"], + [218, "const_as_immediate>"], + [219, "const_as_immediate>"], + [220, "const_as_immediate>"], + [221, "const_as_immediate>"], + [ + 222, + "const_as_immediate>" + ], + [223, "store_temp>>"], + [224, "enum_match"], + [ + 225, + "const_as_immediate>" + ], + [226, "struct_deconstruct"], + [ + 227, + "const_as_immediate>" + ], + [228, "struct_deconstruct"], + [ + 229, + "const_as_immediate>" + ], + [230, "struct_deconstruct"], + [ + 231, + "const_as_immediate>" + ], + [232, "struct_deconstruct"], + [ + 233, + "const_as_immediate>" + ], + [234, "struct_deconstruct"], + [ + 235, + "const_as_immediate>" + ], + [236, "struct_deconstruct"], + [ + 237, + "const_as_immediate>" + ], + [238, "struct_deconstruct"], + [ + 239, + "const_as_immediate>" + ], + [240, "struct_deconstruct"], + [ + 241, + "const_as_immediate>" + ], + [242, "struct_deconstruct"], + [243, "const_as_immediate>"], + [ + 244, + "const_as_immediate>" + ], + [245, "const_as_immediate>"], + [246, "const_as_immediate>"], + [247, "const_as_immediate>"], + [248, "const_as_immediate>"], + [249, "const_as_immediate>"], + [250, "const_as_immediate>"], + [251, "const_as_immediate>"], + [252, "const_as_immediate>"], + [253, "const_as_immediate>"], + [ + 254, + "struct_construct>" + ], + [ + 255, + "enum_init, 0>" + ], + [ + 256, + "store_temp>" + ], + [ + 257, + "enum_init, 1>" + ], + [ + 258, + "const_as_immediate>" + ], + [ + 259, + "const_as_immediate>" + ], + [ + 260, + "const_as_immediate>" + ], + [261, "struct_construct>>"], + [ + 262, + "enum_init, 0>" + ], + [ + 263, + "store_temp>" + ], + [ + 264, + "enum_init, 1>" + ], + [ + 265, + "const_as_immediate>" + ], + [266, "struct_construct>>"], + [ + 267, + "enum_init, 0>" + ], + [ + 268, + "store_temp>" + ], + [ + 269, + "enum_init, 1>" + ] + ], + "user_func_names": [ + [0, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_u8"], + [1, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_u8"], + [2, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_u16"], + [3, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_u16"], + [4, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_u64"], + [5, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_u64"], + [ + 6, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_u128" + ], + [7, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_u128"], + [8, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_i8"], + [9, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_i8"], + [ + 10, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_i16" + ], + [11, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_i16"], + [ + 12, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_i32" + ], + [13, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_i32"], + [ + 14, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_i64" + ], + [15, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_i64"], + [ + 16, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_i128" + ], + [ + 17, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_i128" + ], + [ + 18, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_all_unsigned" + ], + [ + 19, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_all_unsigned" + ], + [ + 20, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_all_signed" + ], + [ + 21, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_all_signed" + ], + [ + 22, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__test_boundary_values_unsigned" + ], + [ + 23, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__test_boundary_values_signed" + ], + [ + 24, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__test_negative_boundary_values_signed" + ], + [ + 25, + "core::panic_with_const_felt252::<7733229381460288120802334208475838166080759535023995805565484692595>" + ], + [26, "integer_types_test::IntegerTypesStorage::EventIsEvent::append_keys_and_data"], + [27, "core::panic_with_const_felt252::<375233589013918064796019>"], + [ + 28, + "core::panic_with_const_felt252::<485748461484230571791265682659113160264223489397539653310998840191492913>" + ], + [29, "core::panic_with_const_felt252::<110930490496575599150170734222081291576>"], + [30, "core::panic_with_const_felt252::<7269940625183576326045731942707956293120310>"], + [31, "core::panic_with_const_felt252::<7269940625183577871052929410204041567614516>"], + [32, "core::panic_with_const_felt252::<476442828812030857794232422692155113556837216824>"], + [33, "core::panic_with_const_felt252::<110930490496561092040335358671984814392>"], + [34, "core::panic_with_const_felt252::<7269940625182625588095560770656833764929846>"], + [35, "core::panic_with_const_felt252::<7269940625182626202229877134888454515667762>"], + [36, "core::panic_with_const_felt252::<7269940625182627133102758238152919039424052>"], + [37, "core::panic_with_const_felt252::<476442828811968550231930004760612747600685249080>"], + [38, "integer_types_test::IntegerTypesStorage::IntegerTypesStorageImpl::store_all_unsigned"], + [ + 39, + "core::panic_with_const_felt252::<485748461484230571791265682659113160264223489397539653310998840191492916>" + ], + [ + 40, + "core::panic_with_const_felt252::<485748461484230571791265682659113160264223489397539653310998840191492915>" + ], + [ + 41, + "core::panic_with_const_felt252::<485748461484230571791265682659113160264223489397539653310998840191492914>" + ], + [42, "integer_types_test::IntegerTypesStorage::IntegerTypesStorageImpl::read_all_unsigned"], + [43, "integer_types_test::IntegerTypesStorage::IntegerTypesStorageImpl::store_all_signed"], + [ + 44, + "core::panic_with_const_felt252::<485748461484230571791265682659113160264223489397539653310998840191492917>" + ], + [45, "integer_types_test::IntegerTypesStorage::IntegerTypesStorageImpl::read_all_signed"] + ] + }, + "contract_class_version": "0.1.0", + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x1e50f8002c9ed610486ecd1cba8d6c6fcde7d7f0d89ce4c79f0595891c3896", + "function_idx": 9 + }, + { + "selector": "0x67d39cb9a31ac25974105b60f1b835a398e7b710707f24ab569d0176fadbb1", + "function_idx": 12 + }, + { + "selector": "0x79148715da7abd373353e23605e55db2ab09d66dda917d1a5d593fbd95b265", + "function_idx": 0 + }, + { + "selector": "0x7c22f67f2da0f7a18990f68d47b7ed957d3b6ece5eb0f787f1000f0fb761de", + "function_idx": 4 + }, + { + "selector": "0x88b0b3694994831acdee4b97ea333886627f38b35431cc88dc13eebea9434c", + "function_idx": 21 + }, + { + "selector": "0xa9915668a7afb09245a11f6957e740924677899fef92004466e7e98ee0f2ed", + "function_idx": 23 + }, + { + "selector": "0xaca1dfd32ac92be74082d9d29c9a2becaec459bdee163dadb1e361143a1b92", + "function_idx": 13 + }, + { + "selector": "0xb9a18955961159642e23802d3fd63d097faa3c093f1e54e423325de841b305", + "function_idx": 24 + }, + { + "selector": "0xc751960810c79b9f6a3709b3e25710ae251249279a1a8c0750ce55efcfb0e3", + "function_idx": 18 + }, + { + "selector": "0x112ee9d746182df12371df8f396ae1bf77fb9617854ea30015adcbd8b7e5d18", + "function_idx": 8 + }, + { + "selector": "0x12b72e6e6d363622227b15adf11dae8b60e0b0cf49be7b4df51a234009dc0b0", + "function_idx": 11 + }, + { + "selector": "0x187b97499d893143443c91e8e51b3b8b8df6cc4a5aa06942c65c7e2eec13556", + "function_idx": 1 + }, + { + "selector": "0x1c5674cfcba543ff9713d74360b5ba5568e438a186156b94c5f639fa7aca480", + "function_idx": 19 + }, + { + "selector": "0x2145a7768d7f4e18608a68c1945bbdc2e61e0078b5a73fb4c16a706c8eb62e9", + "function_idx": 7 + }, + { + "selector": "0x22ac94f1e1ecf26cdf7f022282fc2baf1d5ef95e095e2ea156b0a6b8b3f3ddb", + "function_idx": 14 + }, + { + "selector": "0x23cba354df2d526b5bf13f4fe9e30f2aaa7a5274154be5a7910bd9a6efca31f", + "function_idx": 5 + }, + { + "selector": "0x25ba1b21242c7225d11534bb327a2b9fe1229fc598165c86194569cbd06c33d", + "function_idx": 2 + }, + { + "selector": "0x288ba86c72f5bddd08934d45b30fc8054e2b46d0e6123fffa3fb2389e0fd7a0", + "function_idx": 15 + }, + { + "selector": "0x2cce8f10dc528b23c5938d27cb7bd913294cf21b135b7be7ba3ea2030a56666", + "function_idx": 20 + }, + { + "selector": "0x2ce79fb2924ae5d5d543759ef4186fa3e183c2bbd2f3e199b94418f9b5f8862", + "function_idx": 16 + }, + { + "selector": "0x2faaf0774d2738d34815973c46f57ab8aaa5cd01f1e74ed9f1db477fae58fc8", + "function_idx": 17 + }, + { + "selector": "0x345230c098b00d795824c93d4614be7db54d2b3020fb201906474e43abd8e6d", + "function_idx": 22 + }, + { + "selector": "0x34e68cea2ad820c4a96827ab9822bdff9a5eed434420c25887a691872e4f5b8", + "function_idx": 10 + }, + { + "selector": "0x3b6af069d862a452462eb28c80dc264722e763efa763b85d009cdf347b2eb15", + "function_idx": 6 + }, + { + "selector": "0x3f9d86473d3610a8b3651e3a65da98ecdb2311a6958190893a17c1662a223a1", + "function_idx": 3 + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + }, + "abi": [ + { + "type": "impl", + "name": "IntegerTypesStorageImpl", + "interface_name": "integer_types_test::IIntegerTypesStorage" + }, + { + "type": "interface", + "name": "integer_types_test::IIntegerTypesStorage", + "items": [ + { + "type": "function", + "name": "store_u8", + "inputs": [{ "name": "value", "type": "core::integer::u8" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_u8", + "inputs": [], + "outputs": [{ "type": "core::integer::u8" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_u16", + "inputs": [{ "name": "value", "type": "core::integer::u16" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_u16", + "inputs": [], + "outputs": [{ "type": "core::integer::u16" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_u64", + "inputs": [{ "name": "value", "type": "core::integer::u64" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_u64", + "inputs": [], + "outputs": [{ "type": "core::integer::u64" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_u128", + "inputs": [{ "name": "value", "type": "core::integer::u128" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_u128", + "inputs": [], + "outputs": [{ "type": "core::integer::u128" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_i8", + "inputs": [{ "name": "value", "type": "core::integer::i8" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_i8", + "inputs": [], + "outputs": [{ "type": "core::integer::i8" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_i16", + "inputs": [{ "name": "value", "type": "core::integer::i16" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_i16", + "inputs": [], + "outputs": [{ "type": "core::integer::i16" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_i32", + "inputs": [{ "name": "value", "type": "core::integer::i32" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_i32", + "inputs": [], + "outputs": [{ "type": "core::integer::i32" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_i64", + "inputs": [{ "name": "value", "type": "core::integer::i64" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_i64", + "inputs": [], + "outputs": [{ "type": "core::integer::i64" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_i128", + "inputs": [{ "name": "value", "type": "core::integer::i128" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_i128", + "inputs": [], + "outputs": [{ "type": "core::integer::i128" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_all_unsigned", + "inputs": [ + { "name": "u8_val", "type": "core::integer::u8" }, + { "name": "u16_val", "type": "core::integer::u16" }, + { "name": "u64_val", "type": "core::integer::u64" }, + { "name": "u128_val", "type": "core::integer::u128" } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_all_unsigned", + "inputs": [], + "outputs": [ + { + "type": "(core::integer::u8, core::integer::u16, core::integer::u64, core::integer::u128)" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_all_signed", + "inputs": [ + { "name": "i8_val", "type": "core::integer::i8" }, + { "name": "i16_val", "type": "core::integer::i16" }, + { "name": "i32_val", "type": "core::integer::i32" }, + { "name": "i64_val", "type": "core::integer::i64" }, + { "name": "i128_val", "type": "core::integer::i128" } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_all_signed", + "inputs": [], + "outputs": [ + { + "type": "(core::integer::i8, core::integer::i16, core::integer::i32, core::integer::i64, core::integer::i128)" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "test_boundary_values_unsigned", + "inputs": [], + "outputs": [ + { + "type": "(core::integer::u8, core::integer::u16, core::integer::u64, core::integer::u128)" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "test_boundary_values_signed", + "inputs": [], + "outputs": [ + { + "type": "(core::integer::i8, core::integer::i16, core::integer::i32, core::integer::i64, core::integer::i128)" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "test_negative_boundary_values_signed", + "inputs": [], + "outputs": [ + { + "type": "(core::integer::i8, core::integer::i16, core::integer::i32, core::integer::i64, core::integer::i128)" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::U8Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::u8", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::U16Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::u16", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::U64Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::u64", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::U128Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::u128", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::I8Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::i8", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::I16Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::i16", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::I32Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::i32", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::I64Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::i64", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::I128Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::i128", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::Event", + "kind": "enum", + "variants": [ + { + "name": "U8Stored", + "type": "integer_types_test::IntegerTypesStorage::U8Stored", + "kind": "nested" + }, + { + "name": "U16Stored", + "type": "integer_types_test::IntegerTypesStorage::U16Stored", + "kind": "nested" + }, + { + "name": "U64Stored", + "type": "integer_types_test::IntegerTypesStorage::U64Stored", + "kind": "nested" + }, + { + "name": "U128Stored", + "type": "integer_types_test::IntegerTypesStorage::U128Stored", + "kind": "nested" + }, + { + "name": "I8Stored", + "type": "integer_types_test::IntegerTypesStorage::I8Stored", + "kind": "nested" + }, + { + "name": "I16Stored", + "type": "integer_types_test::IntegerTypesStorage::I16Stored", + "kind": "nested" + }, + { + "name": "I32Stored", + "type": "integer_types_test::IntegerTypesStorage::I32Stored", + "kind": "nested" + }, + { + "name": "I64Stored", + "type": "integer_types_test::IntegerTypesStorage::I64Stored", + "kind": "nested" + }, + { + "name": "I128Stored", + "type": "integer_types_test::IntegerTypesStorage::I128Stored", + "kind": "nested" + } + ] + } + ] +} diff --git a/__mocks__/cairo/integerTypes/target/dev/test_IntegerTypesStorage.casm b/__mocks__/cairo/integerTypes/target/dev/test_IntegerTypesStorage.casm new file mode 100644 index 000000000..739c69634 --- /dev/null +++ b/__mocks__/cairo/integerTypes/target/dev/test_IntegerTypesStorage.casm @@ -0,0 +1 @@ +{"prime":"0x800000000000011000000000000000000000000000000000000000000000001","compiler_version":"2.11.4","bytecode":["0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0xcc","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1338","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xa1","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x100","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffde00000000000000ff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x89","0x402780017fff7fff","0x1","0x400080007ff57ffd","0x482480017ffd8000","0xffffffffffffffffffffffffffffff00","0x400080017ff47fff","0x482480017ff48000","0x2","0x48127ffc7fff8000","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x122c","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x1870","0x482480017fff8000","0x186f","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x5d5c","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x56","0x4824800180007ffd","0x5d5c","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x1c8cdbf1e825e94b708f22a0c76bfef46902c23a52b69a13e159253c8879377","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x400280047ffb7fed","0x480280067ffb8000","0x20680017fff7fff","0x31","0x480280057ffb8000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x11","0x48127fe87fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x11fb","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280077ffb7fff","0x400280087ffb7ffe","0x400280097ffb7ffa","0x4002800a7ffb7ffb","0x4002800b7ffb7ffc","0x4002800c7ffb7ffd","0x4802800e7ffb8000","0x20680017fff7fff","0xf","0x4802800d7ffb8000","0x40780017fff7fff","0x1","0x48127fe87fff8000","0x482480017ffd8000","0x190","0x482680017ffb8000","0xf","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x4802800d7ffb8000","0x48127fff7fff8000","0x482680017ffb8000","0x11","0x4802800f7ffb8000","0x480280107ffb8000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x13","0x480280057ffb8000","0x482480017fff8000","0x320a","0x482680017ffb8000","0x9","0x480280077ffb8000","0x480280087ffb8000","0x48127fe57fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x1232","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x258","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x83e","0x1104800180018000","0x1227","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x1214","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x89","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x1181","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x17c5","0x482480017fff8000","0x17c4","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x3336","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x58","0x4824800180007ffd","0x3336","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x1c8cdbf1e825e94b708f22a0c76bfef46902c23a52b69a13e159253c8879377","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x35","0x480280047ffb8000","0x480280067ffb8000","0x482680017ffb8000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x100","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffde00000000000000ff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x16","0x402780017fff7fff","0x1","0x400080007ff87ffc","0x482480017ffc8000","0xffffffffffffffffffffffffffffff00","0x400080017ff77fff","0x40780017fff7fff","0x1","0x400080007fff7ffa","0x482480017ff68000","0x2","0x482480017ffb8000","0x6ea","0x48127ff97fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x11b1","0x482480017fec8000","0x3","0x48127ff17fff8000","0x48127fef7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xa","0x480280047ffb8000","0x48127ffc7fff8000","0x482480017ffe8000","0x906","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x1185","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x117a","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0xcc","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1338","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xa1","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x10000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffde000000000000ffff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x89","0x402780017fff7fff","0x1","0x400080007ff57ffd","0x482480017ffd8000","0xffffffffffffffffffffffffffff0000","0x400080017ff47fff","0x482480017ff48000","0x2","0x48127ffc7fff8000","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x10b5","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x16f9","0x482480017fff8000","0x16f8","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x5d5c","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x56","0x4824800180007ffd","0x5d5c","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x33273fc5d9e9f210b83dc369806069da698eba2b8a05e7af9a9ae3ba80d8b0e","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x400280047ffb7fed","0x480280067ffb8000","0x20680017fff7fff","0x31","0x480280057ffb8000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0xf","0x48127fe87fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x1084","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280077ffb7fff","0x400280087ffb7ffe","0x400280097ffb7ffa","0x4002800a7ffb7ffb","0x4002800b7ffb7ffc","0x4002800c7ffb7ffd","0x4802800e7ffb8000","0x20680017fff7fff","0xf","0x4802800d7ffb8000","0x40780017fff7fff","0x1","0x48127fe87fff8000","0x482480017ffd8000","0x190","0x482680017ffb8000","0xf","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x4802800d7ffb8000","0x48127fff7fff8000","0x482680017ffb8000","0x11","0x4802800f7ffb8000","0x480280107ffb8000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x13","0x480280057ffb8000","0x482480017fff8000","0x320a","0x482680017ffb8000","0x9","0x480280077ffb8000","0x480280087ffb8000","0x48127fe57fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x10bb","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x258","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x83e","0x1104800180018000","0x10b0","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x109d","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x89","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x100a","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x164e","0x482480017fff8000","0x164d","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x3336","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x58","0x4824800180007ffd","0x3336","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x33273fc5d9e9f210b83dc369806069da698eba2b8a05e7af9a9ae3ba80d8b0e","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x35","0x480280047ffb8000","0x480280067ffb8000","0x482680017ffb8000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x10000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffde000000000000ffff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x16","0x402780017fff7fff","0x1","0x400080007ff87ffc","0x482480017ffc8000","0xffffffffffffffffffffffffffff0000","0x400080017ff77fff","0x40780017fff7fff","0x1","0x400080007fff7ffa","0x482480017ff68000","0x2","0x482480017ffb8000","0x6ea","0x48127ff97fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x1043","0x482480017fec8000","0x3","0x48127ff17fff8000","0x48127fef7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xa","0x480280047ffb8000","0x48127ffc7fff8000","0x482480017ffe8000","0x906","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x100e","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x1003","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0xcc","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1338","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xa1","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x10000000000000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffdeffffffffffffffff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x89","0x402780017fff7fff","0x1","0x400080007ff57ffd","0x482480017ffd8000","0xffffffffffffffff0000000000000000","0x400080017ff47fff","0x482480017ff48000","0x2","0x48127ffc7fff8000","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0xf3e","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x1582","0x482480017fff8000","0x1581","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x5d5c","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x56","0x4824800180007ffd","0x5d5c","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x1df06e11f6423448a394eeb7d5ec250ae172ecd77c505e2886375b1e17e7e60","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x400280047ffb7fed","0x480280067ffb8000","0x20680017fff7fff","0x31","0x480280057ffb8000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0xd","0x48127fe87fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0xf0d","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280077ffb7fff","0x400280087ffb7ffe","0x400280097ffb7ffa","0x4002800a7ffb7ffb","0x4002800b7ffb7ffc","0x4002800c7ffb7ffd","0x4802800e7ffb8000","0x20680017fff7fff","0xf","0x4802800d7ffb8000","0x40780017fff7fff","0x1","0x48127fe87fff8000","0x482480017ffd8000","0x190","0x482680017ffb8000","0xf","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x4802800d7ffb8000","0x48127fff7fff8000","0x482680017ffb8000","0x11","0x4802800f7ffb8000","0x480280107ffb8000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x13","0x480280057ffb8000","0x482480017fff8000","0x320a","0x482680017ffb8000","0x9","0x480280077ffb8000","0x480280087ffb8000","0x48127fe57fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xf44","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x258","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x83e","0x1104800180018000","0xf39","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xf26","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x89","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0xe93","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x14d7","0x482480017fff8000","0x14d6","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x3336","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x58","0x4824800180007ffd","0x3336","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x1df06e11f6423448a394eeb7d5ec250ae172ecd77c505e2886375b1e17e7e60","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x35","0x480280047ffb8000","0x480280067ffb8000","0x482680017ffb8000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x10000000000000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffdeffffffffffffffff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x16","0x402780017fff7fff","0x1","0x400080007ff87ffc","0x482480017ffc8000","0xffffffffffffffff0000000000000000","0x400080017ff77fff","0x40780017fff7fff","0x1","0x400080007fff7ffa","0x482480017ff68000","0x2","0x482480017ffb8000","0x6ea","0x48127ff97fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0xed5","0x482480017fec8000","0x3","0x48127ff17fff8000","0x48127fef7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xa","0x480280047ffb8000","0x48127ffc7fff8000","0x482480017ffe8000","0x906","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xe97","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xe8c","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0xcd","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1446","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xa2","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x16","0x480080007ff58003","0x480080017ff48003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ffa","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff07ffd","0x20680017fff7ffe","0x86","0x402780017fff7fff","0x1","0x400080007ff57ffd","0x482480017ff58000","0x1","0x48127ffd7fff8000","0x48307ff780007ff8","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0xdc6","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x140a","0x482480017fff8000","0x1409","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x5d5c","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x56","0x4824800180007ffd","0x5d5c","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x1d0f5b509144123f4df6fea54f3a01c35813cbac4531e7636adb3ab5523f28e","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x400280047ffb7fee","0x480280067ffb8000","0x20680017fff7fff","0x31","0x480280057ffb8000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0xb","0x48127fe97fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0xd95","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280077ffb7fff","0x400280087ffb7ffe","0x400280097ffb7ffa","0x4002800a7ffb7ffb","0x4002800b7ffb7ffc","0x4002800c7ffb7ffd","0x4802800e7ffb8000","0x20680017fff7fff","0xf","0x4802800d7ffb8000","0x40780017fff7fff","0x1","0x48127fe87fff8000","0x482480017ffd8000","0x190","0x482680017ffb8000","0xf","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x4802800d7ffb8000","0x48127fff7fff8000","0x482680017ffb8000","0x11","0x4802800f7ffb8000","0x480280107ffb8000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x13","0x480280057ffb8000","0x482480017fff8000","0x320a","0x482680017ffb8000","0x9","0x480280077ffb8000","0x480280087ffb8000","0x48127fe57fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xdcc","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017ff08000","0x3","0x482480017ff88000","0xe6","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x730","0x1104800180018000","0xdc1","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xdae","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x8a","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0xd1b","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x135f","0x482480017fff8000","0x135e","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x339a","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x59","0x4824800180007ffd","0x339a","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x1d0f5b509144123f4df6fea54f3a01c35813cbac4531e7636adb3ab5523f28e","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x36","0x480280047ffb8000","0x480280067ffb8000","0x482680017ffb8000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x16","0x480080007ff88003","0x480080017ff78003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff37ffd","0x20680017fff7ffe","0x13","0x402780017fff7fff","0x1","0x400080007ff87ffc","0x40780017fff7fff","0x1","0x400080007fff7ffb","0x482480017ff78000","0x1","0x482480017ffc8000","0x85c","0x48127ffa7fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0xd65","0x482480017fed8000","0x3","0x48127ff27fff8000","0x48127ff07fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xa","0x480280047ffb8000","0x48127ffc7fff8000","0x482480017ffe8000","0x96a","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xd1e","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xd13","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0xce","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x12d4","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xa3","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x80","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffde00000000000000ff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x8b","0x402780017fff7fff","0x1","0x482480017ffd8000","0x80","0x400080007ff47fff","0x482480017ffc8000","0xffffffffffffffffffffffffffffff80","0x400080017ff37fff","0x482480017ff38000","0x2","0x48127ffb7fff8000","0x48307ff580007ff6","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0xc4c","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x1290","0x482480017fff8000","0x128f","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x5d5c","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x56","0x4824800180007ffd","0x5d5c","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0xb76f976ded6055ea8764d4c0305065e1ac948f1e7b80c5683346abc51677a7","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x400280047ffb7fec","0x480280067ffb8000","0x20680017fff7fff","0x31","0x480280057ffb8000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x9","0x48127fe77fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0xc1b","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280077ffb7fff","0x400280087ffb7ffe","0x400280097ffb7ffa","0x4002800a7ffb7ffb","0x4002800b7ffb7ffc","0x4002800c7ffb7ffd","0x4802800e7ffb8000","0x20680017fff7fff","0xf","0x4802800d7ffb8000","0x40780017fff7fff","0x1","0x48127fe87fff8000","0x482480017ffd8000","0x190","0x482680017ffb8000","0xf","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x4802800d7ffb8000","0x48127fff7fff8000","0x482680017ffb8000","0x11","0x4802800f7ffb8000","0x480280107ffb8000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x13","0x480280057ffb8000","0x482480017fff8000","0x320a","0x482680017ffb8000","0x9","0x480280077ffb8000","0x480280087ffb8000","0x48127fe57fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xc52","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x2bc","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x8a2","0x1104800180018000","0xc47","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xc34","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x8b","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0xba1","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x11e5","0x482480017fff8000","0x11e4","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x3336","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x5a","0x4824800180007ffd","0x3336","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0xb76f976ded6055ea8764d4c0305065e1ac948f1e7b80c5683346abc51677a7","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x37","0x480280047ffb8000","0x480280067ffb8000","0x482680017ffb8000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x80","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffde00000000000000ff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x18","0x402780017fff7fff","0x1","0x482480017ffc8000","0x80","0x400080007ff77fff","0x482480017ffb8000","0xffffffffffffffffffffffffffffff80","0x400080017ff67fff","0x40780017fff7fff","0x1","0x400080007fff7ff9","0x482480017ff58000","0x2","0x482480017ffa8000","0x686","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0xbf3","0x482480017fec8000","0x3","0x48127ff17fff8000","0x48127fef7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xa","0x480280047ffb8000","0x48127ffc7fff8000","0x482480017ffe8000","0x906","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xba3","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xb98","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0xce","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x12d4","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xa3","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x8000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffde000000000000ffff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x8b","0x402780017fff7fff","0x1","0x482480017ffd8000","0x8000","0x400080007ff47fff","0x482480017ffc8000","0xffffffffffffffffffffffffffff8000","0x400080017ff37fff","0x482480017ff38000","0x2","0x48127ffb7fff8000","0x48307ff580007ff6","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0xad1","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x1115","0x482480017fff8000","0x1114","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x5d5c","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x56","0x4824800180007ffd","0x5d5c","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x15ee265206c68ebe262487bf987386bdb0345b105e0a8f3fdde49e21b4d3b52","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x400280047ffb7fec","0x480280067ffb8000","0x20680017fff7fff","0x31","0x480280057ffb8000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x7","0x48127fe77fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0xaa0","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280077ffb7fff","0x400280087ffb7ffe","0x400280097ffb7ffa","0x4002800a7ffb7ffb","0x4002800b7ffb7ffc","0x4002800c7ffb7ffd","0x4802800e7ffb8000","0x20680017fff7fff","0xf","0x4802800d7ffb8000","0x40780017fff7fff","0x1","0x48127fe87fff8000","0x482480017ffd8000","0x190","0x482680017ffb8000","0xf","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x4802800d7ffb8000","0x48127fff7fff8000","0x482680017ffb8000","0x11","0x4802800f7ffb8000","0x480280107ffb8000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x13","0x480280057ffb8000","0x482480017fff8000","0x320a","0x482680017ffb8000","0x9","0x480280077ffb8000","0x480280087ffb8000","0x48127fe57fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xad7","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x2bc","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x8a2","0x1104800180018000","0xacc","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xab9","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x8b","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0xa26","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x106a","0x482480017fff8000","0x1069","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x3336","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x5a","0x4824800180007ffd","0x3336","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x15ee265206c68ebe262487bf987386bdb0345b105e0a8f3fdde49e21b4d3b52","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x37","0x480280047ffb8000","0x480280067ffb8000","0x482680017ffb8000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x8000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffde000000000000ffff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x18","0x402780017fff7fff","0x1","0x482480017ffc8000","0x8000","0x400080007ff77fff","0x482480017ffb8000","0xffffffffffffffffffffffffffff8000","0x400080017ff67fff","0x40780017fff7fff","0x1","0x400080007fff7ff9","0x482480017ff58000","0x2","0x482480017ffa8000","0x686","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0xa81","0x482480017fec8000","0x3","0x48127ff17fff8000","0x48127fef7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xa","0x480280047ffb8000","0x48127ffc7fff8000","0x482480017ffe8000","0x906","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xa28","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xa1d","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0xce","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x12d4","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xa3","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x80000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffde00000000ffffffff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x8b","0x402780017fff7fff","0x1","0x482480017ffd8000","0x80000000","0x400080007ff47fff","0x482480017ffc8000","0xffffffffffffffffffffffff80000000","0x400080017ff37fff","0x482480017ff38000","0x2","0x48127ffb7fff8000","0x48307ff580007ff6","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x956","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xf9a","0x482480017fff8000","0xf99","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x5d5c","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x56","0x4824800180007ffd","0x5d5c","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x130de67520c6c99672682b869ce5c11846d997bdb10945e08d60c2ad54a24bd","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x400280047ffb7fec","0x480280067ffb8000","0x20680017fff7fff","0x31","0x480280057ffb8000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x5","0x48127fe77fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x925","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280077ffb7fff","0x400280087ffb7ffe","0x400280097ffb7ffa","0x4002800a7ffb7ffb","0x4002800b7ffb7ffc","0x4002800c7ffb7ffd","0x4802800e7ffb8000","0x20680017fff7fff","0xf","0x4802800d7ffb8000","0x40780017fff7fff","0x1","0x48127fe87fff8000","0x482480017ffd8000","0x190","0x482680017ffb8000","0xf","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x4802800d7ffb8000","0x48127fff7fff8000","0x482680017ffb8000","0x11","0x4802800f7ffb8000","0x480280107ffb8000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x13","0x480280057ffb8000","0x482480017fff8000","0x320a","0x482680017ffb8000","0x9","0x480280077ffb8000","0x480280087ffb8000","0x48127fe57fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x95c","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x2bc","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x8a2","0x1104800180018000","0x951","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x93e","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x8b","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x8ab","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xeef","0x482480017fff8000","0xeee","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x3336","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x5a","0x4824800180007ffd","0x3336","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x130de67520c6c99672682b869ce5c11846d997bdb10945e08d60c2ad54a24bd","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x37","0x480280047ffb8000","0x480280067ffb8000","0x482680017ffb8000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x80000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffde00000000ffffffff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x18","0x402780017fff7fff","0x1","0x482480017ffc8000","0x80000000","0x400080007ff77fff","0x482480017ffb8000","0xffffffffffffffffffffffff80000000","0x400080017ff67fff","0x40780017fff7fff","0x1","0x400080007fff7ff9","0x482480017ff58000","0x2","0x482480017ffa8000","0x686","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x90f","0x482480017fec8000","0x3","0x48127ff17fff8000","0x48127fef7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xa","0x480280047ffb8000","0x48127ffc7fff8000","0x482480017ffe8000","0x906","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x8ad","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x8a2","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0xce","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x12d4","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xa3","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x8000000000000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffdeffffffffffffffff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x8b","0x402780017fff7fff","0x1","0x482480017ffd8000","0x8000000000000000","0x400080007ff47fff","0x482480017ffc8000","0xffffffffffffffff8000000000000000","0x400080017ff37fff","0x482480017ff38000","0x2","0x48127ffb7fff8000","0x48307ff580007ff6","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x7db","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xe1f","0x482480017fff8000","0xe1e","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x5d5c","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x56","0x4824800180007ffd","0x5d5c","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x10a461970d40c37627851bce26d52bc9c00c9dd9a6da81e46586fc24e261f68","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x400280047ffb7fec","0x480280067ffb8000","0x20680017fff7fff","0x31","0x480280057ffb8000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x3","0x48127fe77fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x7aa","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280077ffb7fff","0x400280087ffb7ffe","0x400280097ffb7ffa","0x4002800a7ffb7ffb","0x4002800b7ffb7ffc","0x4002800c7ffb7ffd","0x4802800e7ffb8000","0x20680017fff7fff","0xf","0x4802800d7ffb8000","0x40780017fff7fff","0x1","0x48127fe87fff8000","0x482480017ffd8000","0x190","0x482680017ffb8000","0xf","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x4802800d7ffb8000","0x48127fff7fff8000","0x482680017ffb8000","0x11","0x4802800f7ffb8000","0x480280107ffb8000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x13","0x480280057ffb8000","0x482480017fff8000","0x320a","0x482680017ffb8000","0x9","0x480280077ffb8000","0x480280087ffb8000","0x48127fe57fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x7e1","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x2bc","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x8a2","0x1104800180018000","0x7d6","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x7c3","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x8b","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x730","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xd74","0x482480017fff8000","0xd73","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x3336","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x5a","0x4824800180007ffd","0x3336","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x10a461970d40c37627851bce26d52bc9c00c9dd9a6da81e46586fc24e261f68","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x37","0x480280047ffb8000","0x480280067ffb8000","0x482680017ffb8000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x8000000000000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffdeffffffffffffffff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x18","0x402780017fff7fff","0x1","0x482480017ffc8000","0x8000000000000000","0x400080007ff77fff","0x482480017ffb8000","0xffffffffffffffff8000000000000000","0x400080017ff67fff","0x40780017fff7fff","0x1","0x400080007fff7ff9","0x482480017ff58000","0x2","0x482480017ffa8000","0x686","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x79d","0x482480017fec8000","0x3","0x48127ff17fff8000","0x48127fef7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xa","0x480280047ffb8000","0x48127ffc7fff8000","0x482480017ffe8000","0x906","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x732","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x727","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0xcb","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x13e2","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xa0","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x80000000000000000000000000000000","0x4844800180008002","0x800000000000010ffffffffffffffff","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffde0000000000000001","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x88","0x402780017fff7fff","0x1","0x482480017ffd8000","0x80000000000000000000000000000000","0x400080007ff47fff","0x482480017ff48000","0x1","0x48127ffc7fff8000","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x663","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xca7","0x482480017fff8000","0xca6","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x5d5c","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x56","0x4824800180007ffd","0x5d5c","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x393c8c307bb955407b7080273b214454224f1b4aac907c863086f9452ac67de","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x400280047ffb7fed","0x480280067ffb8000","0x20680017fff7fff","0x31","0x480280057ffb8000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x1","0x48127fe87fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x632","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280077ffb7fff","0x400280087ffb7ffe","0x400280097ffb7ffa","0x4002800a7ffb7ffb","0x4002800b7ffb7ffc","0x4002800c7ffb7ffd","0x4802800e7ffb8000","0x20680017fff7fff","0xf","0x4802800d7ffb8000","0x40780017fff7fff","0x1","0x48127fe87fff8000","0x482480017ffd8000","0x190","0x482680017ffb8000","0xf","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x4802800d7ffb8000","0x48127fff7fff8000","0x482680017ffb8000","0x11","0x4802800f7ffb8000","0x480280107ffb8000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x13","0x480280057ffb8000","0x482480017fff8000","0x320a","0x482680017ffb8000","0x9","0x480280077ffb8000","0x480280087ffb8000","0x48127fe57fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x669","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x1ae","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x794","0x1104800180018000","0x65e","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x64b","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x88","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x5b8","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xbfc","0x482480017fff8000","0xbfb","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x3336","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x57","0x4824800180007ffd","0x3336","0x400080007ff67fff","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x393c8c307bb955407b7080273b214454224f1b4aac907c863086f9452ac67de","0x482480017ff38000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x34","0x480280047ffb8000","0x480280067ffb8000","0x482680017ffb8000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x80000000000000000000000000000000","0x4844800180008002","0x800000000000010ffffffffffffffff","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffde0000000000000001","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x15","0x402780017fff7fff","0x1","0x482480017ffc8000","0x80000000000000000000000000000000","0x400080007ff77fff","0x40780017fff7fff","0x1","0x400080007fff7ffa","0x482480017ff68000","0x1","0x482480017ffb8000","0x794","0x48127ff97fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x631","0x482480017fec8000","0x3","0x48127ff17fff8000","0x48127fef7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xa","0x480280047ffb8000","0x48127ffc7fff8000","0x482480017ffe8000","0x906","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x5bd","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x5b2","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0xfffffffffffffffffffffffffffffeb6","0x400280007ff97fff","0x10780017fff7fff","0x169","0x4825800180007ffa","0x14a","0x400280007ff97fff","0x482680017ff98000","0x1","0x48127ffe7fff8000","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x13f","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x100","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffde00000000000000ff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x127","0x402780017fff7fff","0x1","0x400080007ff57ffd","0x482480017ffd8000","0xffffffffffffffffffffffffffffff00","0x400080017ff47fff","0x482480017ff48000","0x2","0x48127ffc7fff8000","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482480017ff48000","0x1","0x48127ff47fff8000","0x480680017fff8000","0x0","0x48127ff17fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x48127ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xfa","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x10000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffde000000000000ffff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0xe2","0x402780017fff7fff","0x1","0x400080007ff57ffd","0x482480017ffd8000","0xffffffffffffffffffffffffffff0000","0x400080017ff47fff","0x482480017ff48000","0x2","0x48127ffc7fff8000","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482480017ff48000","0x1","0x48127ff47fff8000","0x480680017fff8000","0x0","0x48127ff17fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x48127ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xb5","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x10000000000000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffdeffffffffffffffff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x9d","0x402780017fff7fff","0x1","0x400080007ff57ffd","0x482480017ffd8000","0xffffffffffffffff0000000000000000","0x400080017ff47fff","0x482480017ff48000","0x2","0x48127ffc7fff8000","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482480017ff48000","0x1","0x48127ff47fff8000","0x480680017fff8000","0x0","0x48127ff17fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x48127ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x70","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x16","0x480080007ff58003","0x480080017ff48003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ffa","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff07ffd","0x20680017fff7ffe","0x54","0x402780017fff7fff","0x1","0x400080007ff57ffd","0x482480017ff58000","0x1","0x48127ffd7fff8000","0x48307ff780007ff8","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x457","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xa9b","0x482480017fff8000","0xa9a","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x17c78","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x24","0x4824800180007ffd","0x17c78","0x400080007ff67fff","0x48127fff7fff8000","0x480a7ffb7fff8000","0x48127fcd7fff8000","0x48127fd87fff8000","0x48127fe37fff8000","0x48127fee7fff8000","0x1104800180018000","0x50b","0x482480017f868000","0x1","0x20680017fff7ffc","0xc","0x40780017fff7fff","0x1","0x48127ffe7fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127fff7fff8000","0x482480017ff98000","0x64","0x48127ff97fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x48f","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017ff08000","0x3","0x482480017ff88000","0xe6","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x730","0x1104800180018000","0x5f5","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x87a","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0xe60","0x1104800180018000","0x5eb","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0xfaa","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x1590","0x1104800180018000","0x5e1","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x16da","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x1cc0","0x1104800180018000","0x44b","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x438","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x56","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x3a5","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x9e9","0x482480017fff8000","0x9e8","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0xc756","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x25","0x4824800180007ffd","0xc756","0x400080007ff67fff","0x482480017ff68000","0x1","0x48127ffe7fff8000","0x480a7ffb7fff8000","0x1104800180018000","0x58d","0x20680017fff7ffb","0x11","0x40780017fff7fff","0x1","0x400080007fff7ffb","0x400080017fff7ffc","0x400080027fff7ffd","0x400080037fff7ffe","0x48127ff77fff8000","0x48127ff77fff8000","0x48127ff77fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x4","0x208b7fff7fff7ffe","0x48127ff87fff8000","0x482480017ff88000","0x1f4","0x48127ff87fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x3dc","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x3d1","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0xfffffffffffffffffffffffffffff592","0x400280007ff97fff","0x10780017fff7fff","0x1b5","0x4825800180007ffa","0xa6e","0x400280007ff97fff","0x482680017ff98000","0x1","0x48127ffe7fff8000","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x18b","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x80","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffde00000000000000ff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x173","0x402780017fff7fff","0x1","0x482480017ffd8000","0x80","0x400080007ff47fff","0x482480017ffc8000","0xffffffffffffffffffffffffffffff80","0x400080017ff37fff","0x482480017ff38000","0x2","0x48127ffb7fff8000","0x48307ff580007ff6","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482480017ff38000","0x1","0x48127ff37fff8000","0x480680017fff8000","0x0","0x48127ff07fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x48127ff37fff8000","0x48127ff37fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x144","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x8000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffde000000000000ffff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x12c","0x402780017fff7fff","0x1","0x482480017ffd8000","0x8000","0x400080007ff47fff","0x482480017ffc8000","0xffffffffffffffffffffffffffff8000","0x400080017ff37fff","0x482480017ff38000","0x2","0x48127ffb7fff8000","0x48307ff580007ff6","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482480017ff38000","0x1","0x48127ff37fff8000","0x480680017fff8000","0x0","0x48127ff07fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x48127ff37fff8000","0x48127ff37fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xfd","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x80000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffde00000000ffffffff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0xe5","0x402780017fff7fff","0x1","0x482480017ffd8000","0x80000000","0x400080007ff47fff","0x482480017ffc8000","0xffffffffffffffffffffffff80000000","0x400080017ff37fff","0x482480017ff38000","0x2","0x48127ffb7fff8000","0x48307ff580007ff6","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482480017ff38000","0x1","0x48127ff37fff8000","0x480680017fff8000","0x0","0x48127ff07fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x48127ff37fff8000","0x48127ff37fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xb6","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x8000000000000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffdeffffffffffffffff","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x9e","0x402780017fff7fff","0x1","0x482480017ffd8000","0x8000000000000000","0x400080007ff47fff","0x482480017ffc8000","0xffffffffffffffff8000000000000000","0x400080017ff37fff","0x482480017ff38000","0x2","0x48127ffb7fff8000","0x48307ff580007ff6","0x20680017fff7fff","0x4","0x10780017fff7fff","0xb","0x48127ffe7fff8000","0x482480017ff38000","0x1","0x48127ff37fff8000","0x480680017fff8000","0x0","0x48127ff07fff8000","0x10780017fff7fff","0x9","0x48127ffe7fff8000","0x48127ff37fff8000","0x48127ff37fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x6f","0x480080007fff8000","0x48127ffa7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffd","0x80000000000000000000000000000000","0x4844800180008002","0x800000000000010ffffffffffffffff","0x4830800080017ffe","0x480080007ff27fff","0x482480017ffe8000","0xefffffffffffffde0000000000000001","0x480080017ff07fff","0x400080027fef7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x57","0x402780017fff7fff","0x1","0x482480017ffd8000","0x80000000000000000000000000000000","0x400080007ff47fff","0x482480017ff48000","0x1","0x48127ffc7fff8000","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x23e","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x882","0x482480017fff8000","0x881","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x1db64","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x25","0x4824800180007ffd","0x1db64","0x400080007ff67fff","0x48127fff7fff8000","0x480a7ffb7fff8000","0x48127fbc7fff8000","0x48127fc87fff8000","0x48127fd47fff8000","0x48127fe07fff8000","0x48127fec7fff8000","0x1104800180018000","0x564","0x482480017f6c8000","0x1","0x20680017fff7ffc","0xc","0x40780017fff7fff","0x1","0x48127ffe7fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127fff7fff8000","0x482480017ff98000","0x64","0x48127ff97fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x275","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x1ae","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x794","0x1104800180018000","0x693","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x942","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0xf28","0x1104800180018000","0x3c8","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x10d6","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x16bc","0x1104800180018000","0x3be","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x186a","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x1e50","0x1104800180018000","0x3b4","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x482480017ff78000","0x1ffe","0x10780017fff7fff","0x5","0x48127ff87fff8000","0x482480017ffa8000","0x25e4","0x1104800180018000","0x21e","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x20b","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x57","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x178","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x7bc","0x482480017fff8000","0x7bb","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0xf852","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x26","0x4824800180007ffd","0xf852","0x400080007ff67fff","0x482480017ff68000","0x1","0x48127ffe7fff8000","0x480a7ffb7fff8000","0x1104800180018000","0x606","0x20680017fff7ffa","0x12","0x40780017fff7fff","0x1","0x400080007fff7ffa","0x400080017fff7ffb","0x400080027fff7ffc","0x400080037fff7ffd","0x400080047fff7ffe","0x48127ff67fff8000","0x48127ff67fff8000","0x48127ff67fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x5","0x208b7fff7fff7ffe","0x48127ff77fff8000","0x482480017ff78000","0x258","0x48127ff77fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x1ae","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x1a3","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x4e","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x110","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x754","0x482480017fff8000","0x753","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0x0","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x1d","0x4824800180007ffd","0x0","0x400080007ff67fff","0x40780017fff7fff","0x1","0x480680017fff8000","0xff","0x400080007ffe7fff","0x480680017fff8000","0xffff","0x400080017ffd7fff","0x480680017fff8000","0xffffffffffffffff","0x400080027ffc7fff","0x480680017fff8000","0xffffffffffffffffffffffffffffffff","0x400080037ffb7fff","0x482480017ff18000","0x1","0x48127ff97fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x0","0x48127ff77fff8000","0x482480017ff68000","0x4","0x208b7fff7fff7ffe","0x1104800180018000","0x14f","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x144","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x51","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0xb1","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x6f5","0x482480017fff8000","0x6f4","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0xc8","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x20","0x4824800180007ffd","0xc8","0x400080007ff67fff","0x40780017fff7fff","0x1","0x480680017fff8000","0x7f","0x400080007ffe7fff","0x480680017fff8000","0x7fff","0x400080017ffd7fff","0x480680017fff8000","0x7fffffff","0x400080027ffc7fff","0x480680017fff8000","0x7fffffffffffffff","0x400080037ffb7fff","0x480680017fff8000","0x7fffffffffffffffffffffffffffffff","0x400080047ffa7fff","0x482480017ff08000","0x1","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x0","0x48127ff67fff8000","0x482480017ff58000","0x5","0x208b7fff7fff7ffe","0x1104800180018000","0xed","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xe2","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x51","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x482480017ffe8000","0x1a68","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd","0x1104800180018000","0x4f","0x48127ff77fff8000","0x482480017ff78000","0x492","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x693","0x482480017fff8000","0x692","0x48127ffb7fff8000","0x480080007ffe8000","0xa0680017fff8000","0x9","0x4824800180007ffd","0xc8","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x20","0x4824800180007ffd","0xc8","0x400080007ff67fff","0x40780017fff7fff","0x1","0x480680017fff8000","0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff81","0x400080007ffe7fff","0x480680017fff8000","0x800000000000010ffffffffffffffffffffffffffffffffffffffffffff8001","0x400080017ffd7fff","0x480680017fff8000","0x800000000000010ffffffffffffffffffffffffffffffffffffffff80000001","0x400080027ffc7fff","0x480680017fff8000","0x800000000000010ffffffffffffffffffffffffffffffff8000000000000001","0x400080037ffb7fff","0x480680017fff8000","0x800000000000010ffffffffffffffff80000000000000000000000000000001","0x400080047ffa7fff","0x482480017ff08000","0x1","0x48127ff87fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x0","0x48127ff67fff8000","0x482480017ff58000","0x5","0x208b7fff7fff7ffe","0x1104800180018000","0x8b","0x482480017fef8000","0x1","0x48127ff47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x80","0x482680017ff98000","0x1","0x482680017ffa8000","0x2026","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x10b7ff87fff7fff","0x10780017fff7fff","0x60","0x10780017fff7fff","0x54","0x10780017fff7fff","0x48","0x10780017fff7fff","0x3c","0x10780017fff7fff","0x30","0x10780017fff7fff","0x24","0x10780017fff7fff","0x18","0x10780017fff7fff","0xc","0x480680017fff8000","0x9edd4f71efeecf23983c80d379669a1a0e6b9d675de2bef3d00bcd77181a3d","0x400280007ffb7fff","0x400380017ffb7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x2","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x26658864aa0705943033a2cef69d87a47f2c433d13d388f15fb8edc3daa3641","0x400280007ffb7fff","0x400380017ffb7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x2","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x3565898432d7550b6049cc5ff24387160badc1f648ff7bda9e163849d307ad","0x400280007ffb7fff","0x400380017ffb7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x2","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x37f346aa393d08d0a53ed4e985c03c1697ab4dafec87a443646f854b0e9a2bf","0x400280007ffb7fff","0x400380017ffb7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x2","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x3ec1c0acdfc686cb9b9ad67291859febaa49163fea2a936d8732a7c9a9f50a8","0x400280007ffb7fff","0x400380017ffb7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x2","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x35acff2af14ca8571567a7ac4b89ff4e02d1db5127a7e6c12a6e06218a20ad6","0x400280007ffb7fff","0x400380017ffb7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x2","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x3642a0487eb5367e207954b691ba98452b167253accd3ea5123b64a7c5a83d1","0x400280007ffb7fff","0x400380017ffb7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x2","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x82f9fef96fd649f14bcb0c4ff558677902a37459e21d50114775dbb58c3bbf","0x400280007ffb7fff","0x400380017ffb7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x2","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x33af51f74b3a40e66b5052631e22b7e1c6843b1a51156d1781ca24f860bb338","0x400280007ffb7fff","0x400380017ffb7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x2","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f72655538202d206e6f6e207538","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f7265553136202d206e6f6e20753136","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f7265553634202d206e6f6e20753634","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f72654938202d206e6f6e206938","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f7265493136202d206e6f6e20693136","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f7265493332202d206e6f6e20693332","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f7265493634202d206e6f6e20693634","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726549313238202d206e6f6e2069313238","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0x1c8cdbf1e825e94b708f22a0c76bfef46902c23a52b69a13e159253c8879377","0x480680017fff8000","0x53746f726167655772697465","0x400280007ff97fff","0x400380017ff97ff8","0x400280027ff97ffd","0x400280037ff97ffe","0x400380047ff97ffa","0x480280067ff98000","0x20680017fff7fff","0xfb","0x480280057ff98000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x11","0x480a7ffa7fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff19","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280077ff97fff","0x400280087ff97ffe","0x400280097ff97ffa","0x4002800a7ff97ffb","0x4002800b7ff97ffc","0x4002800c7ff97ffd","0x4802800e7ff98000","0x20680017fff7fff","0xd6","0x4802800d7ff98000","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x33273fc5d9e9f210b83dc369806069da698eba2b8a05e7af9a9ae3ba80d8b0e","0x480680017fff8000","0x53746f726167655772697465","0x4002800f7ff97fff","0x400280107ff97ffc","0x400280117ff97ffd","0x400280127ff97ffe","0x400380137ff97ffb","0x480280157ff98000","0x20680017fff7fff","0xb6","0x480280147ff98000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0xf","0x480a7ffb7fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeef","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280167ff97fff","0x400280177ff97ffe","0x400280187ff97ffa","0x400280197ff97ffb","0x4002801a7ff97ffc","0x4002801b7ff97ffd","0x4802801d7ff98000","0x20680017fff7fff","0x91","0x4802801c7ff98000","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x1df06e11f6423448a394eeb7d5ec250ae172ecd77c505e2886375b1e17e7e60","0x480680017fff8000","0x53746f726167655772697465","0x4002801e7ff97fff","0x4002801f7ff97ffc","0x400280207ff97ffd","0x400280217ff97ffe","0x400380227ff97ffc","0x480280247ff98000","0x20680017fff7fff","0x71","0x480280237ff98000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0xd","0x480a7ffc7fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffec5","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280257ff97fff","0x400280267ff97ffe","0x400280277ff97ffa","0x400280287ff97ffb","0x400280297ff97ffc","0x4002802a7ff97ffd","0x4802802c7ff98000","0x20680017fff7fff","0x4c","0x4802802b7ff98000","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x1d0f5b509144123f4df6fea54f3a01c35813cbac4531e7636adb3ab5523f28e","0x480680017fff8000","0x53746f726167655772697465","0x4002802d7ff97fff","0x4002802e7ff97ffc","0x4002802f7ff97ffd","0x400280307ff97ffe","0x400380317ff97ffd","0x480280337ff98000","0x20680017fff7fff","0x30","0x480280327ff98000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0xb","0x480a7ffd7fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe9b","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280347ff97fff","0x400280357ff97ffe","0x400280367ff97ffa","0x400280377ff97ffb","0x400280387ff97ffc","0x400280397ff97ffd","0x4802803b7ff98000","0x20680017fff7fff","0xd","0x4802803a7ff98000","0x48127fff7fff8000","0x482680017ff98000","0x3c","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x4802803a7ff98000","0x48127fff7fff8000","0x482680017ff98000","0x3e","0x480680017fff8000","0x1","0x4802803c7ff98000","0x4802803d7ff98000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x13","0x480280327ff98000","0x482480017fff8000","0x31a6","0x482680017ff98000","0x36","0x480680017fff8000","0x1","0x480280347ff98000","0x480280357ff98000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x15","0x4802802b7ff98000","0x482480017fff8000","0x5b5e","0x482680017ff98000","0x2f","0x4802802d7ff98000","0x4802802e7ff98000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x28","0x480280237ff98000","0x482480017fff8000","0x8dcc","0x482680017ff98000","0x27","0x480280257ff98000","0x480280267ff98000","0x48127ffc7fff8000","0x48127ffc7fff8000","0x480680017fff8000","0x1","0x48127ffb7fff8000","0x48127ffb7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x2e","0x4802801c7ff98000","0x482480017fff8000","0xb8ec","0x482680017ff98000","0x20","0x4802801e7ff98000","0x4802801f7ff98000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x41","0x480280147ff98000","0x482480017fff8000","0xeb5a","0x482680017ff98000","0x18","0x480280167ff98000","0x480280177ff98000","0x48127ffc7fff8000","0x48127ffc7fff8000","0x480680017fff8000","0x1","0x48127ffb7fff8000","0x48127ffb7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x47","0x4802800d7ff98000","0x482480017fff8000","0x1167a","0x482680017ff98000","0x11","0x4802800f7ff98000","0x480280107ff98000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x5a","0x480280057ff98000","0x482480017fff8000","0x148e8","0x482680017ff98000","0x9","0x480280077ff98000","0x480280087ff98000","0x48127ffc7fff8000","0x48127ffc7fff8000","0x480680017fff8000","0x1","0x48127ffb7fff8000","0x48127ffb7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202334","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202333","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202332","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0x1c8cdbf1e825e94b708f22a0c76bfef46902c23a52b69a13e159253c8879377","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffd7fff","0x400380017ffd7ffc","0x400280027ffd7ffd","0x400280037ffd7ffe","0x480280057ffd8000","0x20680017fff7fff","0x120","0x480280047ffd8000","0x480280067ffd8000","0x482680017ffd8000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x100","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480280007ffb7fff","0x482480017ffe8000","0xefffffffffffffde00000000000000ff","0x480280017ffb7fff","0x400280027ffb7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0xfe","0x402780017fff7fff","0x1","0x400280007ffb7ffc","0x482480017ffc8000","0xffffffffffffffffffffffffffffff00","0x400280017ffb7fff","0x48127ffd7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x33273fc5d9e9f210b83dc369806069da698eba2b8a05e7af9a9ae3ba80d8b0e","0x482680017ffb8000","0x2","0x480680017fff8000","0x53746f7261676552656164","0x400080007ff77fff","0x400080017ff77ffb","0x400080027ff77ffc","0x400080037ff77ffd","0x480080057ff78000","0x20680017fff7fff","0xd2","0x480080047ff68000","0x480080067ff58000","0x482480017ff48000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x10000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffde000000000000ffff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0xb0","0x402780017fff7fff","0x1","0x400080007ff87ffc","0x482480017ffc8000","0xffffffffffffffffffffffffffff0000","0x400080017ff77fff","0x48127ffd7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x1df06e11f6423448a394eeb7d5ec250ae172ecd77c505e2886375b1e17e7e60","0x482480017ff48000","0x2","0x480680017fff8000","0x53746f7261676552656164","0x400080007ff77fff","0x400080017ff77ffb","0x400080027ff77ffc","0x400080037ff77ffd","0x480080057ff78000","0x20680017fff7fff","0x84","0x480080047ff68000","0x480080067ff58000","0x482480017ff48000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x10000000000000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffdeffffffffffffffff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x62","0x402780017fff7fff","0x1","0x400080007ff87ffc","0x482480017ffc8000","0xffffffffffffffff0000000000000000","0x400080017ff77fff","0x48127ffd7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x1d0f5b509144123f4df6fea54f3a01c35813cbac4531e7636adb3ab5523f28e","0x482480017ff48000","0x2","0x480680017fff8000","0x53746f7261676552656164","0x400080007ff77fff","0x400080017ff77ffb","0x400080027ff77ffc","0x400080037ff77ffd","0x480080057ff78000","0x20680017fff7fff","0x36","0x480080047ff68000","0x480080067ff58000","0x482480017ff48000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x16","0x480080007ff88003","0x480080017ff78003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff37ffd","0x20680017fff7ffe","0x13","0x402780017fff7fff","0x1","0x400080007ff87ffc","0x40780017fff7fff","0x10","0x482480017fe88000","0x1","0x482480017fed8000","0x820","0x48127feb7fff8000","0x480680017fff8000","0x0","0x48127fc47fff8000","0x48127fcf7fff8000","0x48127fda7fff8000","0x48127fe57fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffde1","0x482480017fed8000","0x3","0x48127ff27fff8000","0x48127ff07fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xc","0x40780017fff7fff","0xf","0x480080047fe78000","0x48127fed7fff8000","0x482480017ffe8000","0x870","0x482480017fe48000","0x8","0x480080067fe38000","0x480080077fe28000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff87fff8000","0x48127ff87fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0xb","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdb6","0x482480017fe18000","0x3","0x482480017fe68000","0x2e9a","0x48127fe47fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xc","0x40780017fff7fff","0x1b","0x480080047fdb8000","0x48127fe17fff8000","0x482480017ffe8000","0x3700","0x482480017fd88000","0x8","0x480080067fd78000","0x480080077fd68000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff87fff8000","0x48127ff87fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x17","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd8a","0x482480017fd58000","0x3","0x482480017fda8000","0x5d2a","0x48127fd87fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xc","0x40780017fff7fff","0x27","0x480080047fcf8000","0x48127fd57fff8000","0x482480017ffe8000","0x6590","0x482480017fcc8000","0x8","0x480080067fcb8000","0x480080077fca8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff87fff8000","0x48127ff87fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x23","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffd5e","0x482680017ffb8000","0x3","0x482480017fce8000","0x8bba","0x48127fcc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xc","0x40780017fff7fff","0x33","0x480280047ffd8000","0x480a7ffb7fff8000","0x482480017ffe8000","0x9420","0x482680017ffd8000","0x8","0x480280067ffd8000","0x480280077ffd8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff87fff8000","0x48127ff87fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0xb76f976ded6055ea8764d4c0305065e1ac948f1e7b80c5683346abc51677a7","0x480680017fff8000","0x53746f726167655772697465","0x400280007ff87fff","0x400380017ff87ff7","0x400280027ff87ffd","0x400280037ff87ffe","0x400380047ff87ff9","0x480280067ff88000","0x20680017fff7fff","0x140","0x480280057ff88000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x9","0x480a7ff97fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffca6","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280077ff87fff","0x400280087ff87ffe","0x400280097ff87ffa","0x4002800a7ff87ffb","0x4002800b7ff87ffc","0x4002800c7ff87ffd","0x4802800e7ff88000","0x20680017fff7fff","0x11b","0x4802800d7ff88000","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x15ee265206c68ebe262487bf987386bdb0345b105e0a8f3fdde49e21b4d3b52","0x480680017fff8000","0x53746f726167655772697465","0x4002800f7ff87fff","0x400280107ff87ffc","0x400280117ff87ffd","0x400280127ff87ffe","0x400380137ff87ffa","0x480280157ff88000","0x20680017fff7fff","0xfb","0x480280147ff88000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x7","0x480a7ffa7fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc7c","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280167ff87fff","0x400280177ff87ffe","0x400280187ff87ffa","0x400280197ff87ffb","0x4002801a7ff87ffc","0x4002801b7ff87ffd","0x4802801d7ff88000","0x20680017fff7fff","0xd6","0x4802801c7ff88000","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x130de67520c6c99672682b869ce5c11846d997bdb10945e08d60c2ad54a24bd","0x480680017fff8000","0x53746f726167655772697465","0x4002801e7ff87fff","0x4002801f7ff87ffc","0x400280207ff87ffd","0x400280217ff87ffe","0x400380227ff87ffb","0x480280247ff88000","0x20680017fff7fff","0xb6","0x480280237ff88000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x5","0x480a7ffb7fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc52","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280257ff87fff","0x400280267ff87ffe","0x400280277ff87ffa","0x400280287ff87ffb","0x400280297ff87ffc","0x4002802a7ff87ffd","0x4802802c7ff88000","0x20680017fff7fff","0x91","0x4802802b7ff88000","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x10a461970d40c37627851bce26d52bc9c00c9dd9a6da81e46586fc24e261f68","0x480680017fff8000","0x53746f726167655772697465","0x4002802d7ff87fff","0x4002802e7ff87ffc","0x4002802f7ff87ffd","0x400280307ff87ffe","0x400380317ff87ffc","0x480280337ff88000","0x20680017fff7fff","0x71","0x480280327ff88000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x3","0x480a7ffc7fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc28","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280347ff87fff","0x400280357ff87ffe","0x400280367ff87ffa","0x400280377ff87ffb","0x400280387ff87ffc","0x400280397ff87ffd","0x4802803b7ff88000","0x20680017fff7fff","0x4c","0x4802803a7ff88000","0x48127fff7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x393c8c307bb955407b7080273b214454224f1b4aac907c863086f9452ac67de","0x480680017fff8000","0x53746f726167655772697465","0x4002803c7ff87fff","0x4002803d7ff87ffc","0x4002803e7ff87ffd","0x4002803f7ff87ffe","0x400380407ff87ffd","0x480280427ff88000","0x20680017fff7fff","0x30","0x480280417ff88000","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x1","0x480a7ffd7fff8000","0x48127ffc7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffa7fff8000","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffbfe","0x48127ff07fff8000","0x480680017fff8000","0x456d69744576656e74","0x400280437ff87fff","0x400280447ff87ffe","0x400280457ff87ffa","0x400280467ff87ffb","0x400280477ff87ffc","0x400280487ff87ffd","0x4802804a7ff88000","0x20680017fff7fff","0xd","0x480280497ff88000","0x48127fff7fff8000","0x482680017ff88000","0x4b","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x480280497ff88000","0x48127fff7fff8000","0x482680017ff88000","0x4d","0x480680017fff8000","0x1","0x4802804b7ff88000","0x4802804c7ff88000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x13","0x480280417ff88000","0x482480017fff8000","0x31a6","0x482680017ff88000","0x45","0x480680017fff8000","0x1","0x480280437ff88000","0x480280447ff88000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x15","0x4802803a7ff88000","0x482480017fff8000","0x5b5e","0x482680017ff88000","0x3e","0x4802803c7ff88000","0x4802803d7ff88000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x28","0x480280327ff88000","0x482480017fff8000","0x8dcc","0x482680017ff88000","0x36","0x480280347ff88000","0x480280357ff88000","0x48127ffc7fff8000","0x48127ffc7fff8000","0x480680017fff8000","0x1","0x48127ffb7fff8000","0x48127ffb7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x2e","0x4802802b7ff88000","0x482480017fff8000","0xb8ec","0x482680017ff88000","0x2f","0x4802802d7ff88000","0x4802802e7ff88000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x41","0x480280237ff88000","0x482480017fff8000","0xeb5a","0x482680017ff88000","0x27","0x480280257ff88000","0x480280267ff88000","0x48127ffc7fff8000","0x48127ffc7fff8000","0x480680017fff8000","0x1","0x48127ffb7fff8000","0x48127ffb7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x47","0x4802801c7ff88000","0x482480017fff8000","0x1167a","0x482680017ff88000","0x20","0x4802801e7ff88000","0x4802801f7ff88000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x5a","0x480280147ff88000","0x482480017fff8000","0x148e8","0x482680017ff88000","0x18","0x480280167ff88000","0x480280177ff88000","0x48127ffc7fff8000","0x48127ffc7fff8000","0x480680017fff8000","0x1","0x48127ffb7fff8000","0x48127ffb7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x60","0x4802800d7ff88000","0x482480017fff8000","0x17408","0x482680017ff88000","0x11","0x4802800f7ff88000","0x480280107ff88000","0x10780017fff7fff","0xb","0x40780017fff7fff","0x73","0x480280057ff88000","0x482480017fff8000","0x1a676","0x482680017ff88000","0x9","0x480280077ff88000","0x480280087ff88000","0x48127ffc7fff8000","0x48127ffc7fff8000","0x480680017fff8000","0x1","0x48127ffb7fff8000","0x48127ffb7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202335","0x400080007ffe7fff","0x48127ffe7fff8000","0x482480017ffd8000","0x1","0x208b7fff7fff7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0xb76f976ded6055ea8764d4c0305065e1ac948f1e7b80c5683346abc51677a7","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffd7fff","0x400380017ffd7ffc","0x400280027ffd7ffd","0x400280037ffd7ffe","0x480280057ffd8000","0x20680017fff7fff","0x17d","0x480280047ffd8000","0x480280067ffd8000","0x482680017ffd8000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x80","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480280007ffb7fff","0x482480017ffe8000","0xefffffffffffffde00000000000000ff","0x480280017ffb7fff","0x400280027ffb7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x15b","0x402780017fff7fff","0x1","0x482480017ffc8000","0x80","0x400280007ffb7fff","0x482480017ffb8000","0xffffffffffffffffffffffffffffff80","0x400280017ffb7fff","0x48127ffc7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x15ee265206c68ebe262487bf987386bdb0345b105e0a8f3fdde49e21b4d3b52","0x482680017ffb8000","0x2","0x480680017fff8000","0x53746f7261676552656164","0x400080007ff67fff","0x400080017ff67ffb","0x400080027ff67ffc","0x400080037ff67ffd","0x480080057ff68000","0x20680017fff7fff","0x12b","0x480080047ff58000","0x480080067ff48000","0x482480017ff38000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x8000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffde000000000000ffff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x109","0x402780017fff7fff","0x1","0x482480017ffc8000","0x8000","0x400080007ff77fff","0x482480017ffb8000","0xffffffffffffffffffffffffffff8000","0x400080017ff67fff","0x48127ffc7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x130de67520c6c99672682b869ce5c11846d997bdb10945e08d60c2ad54a24bd","0x482480017ff38000","0x2","0x480680017fff8000","0x53746f7261676552656164","0x400080007ff67fff","0x400080017ff67ffb","0x400080027ff67ffc","0x400080037ff67ffd","0x480080057ff68000","0x20680017fff7fff","0xd9","0x480080047ff58000","0x480080067ff48000","0x482480017ff38000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x80000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffde00000000ffffffff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0xb7","0x402780017fff7fff","0x1","0x482480017ffc8000","0x80000000","0x400080007ff77fff","0x482480017ffb8000","0xffffffffffffffffffffffff80000000","0x400080017ff67fff","0x48127ffc7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x10a461970d40c37627851bce26d52bc9c00c9dd9a6da81e46586fc24e261f68","0x482480017ff38000","0x2","0x480680017fff8000","0x53746f7261676552656164","0x400080007ff67fff","0x400080017ff67ffb","0x400080027ff67ffc","0x400080037ff67ffd","0x480080057ff68000","0x20680017fff7fff","0x87","0x480080047ff58000","0x480080067ff48000","0x482480017ff38000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x8000000000000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffdeffffffffffffffff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x65","0x402780017fff7fff","0x1","0x482480017ffc8000","0x8000000000000000","0x400080007ff77fff","0x482480017ffb8000","0xffffffffffffffff8000000000000000","0x400080017ff67fff","0x48127ffc7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x393c8c307bb955407b7080273b214454224f1b4aac907c863086f9452ac67de","0x482480017ff38000","0x2","0x480680017fff8000","0x53746f7261676552656164","0x400080007ff67fff","0x400080017ff67ffb","0x400080027ff67ffc","0x400080037ff67ffd","0x480080057ff68000","0x20680017fff7fff","0x35","0x480080047ff58000","0x480080067ff48000","0x482480017ff38000","0x7","0x48127ffd7fff8000","0xa0680017fff8000","0x12","0x4824800180007ffc","0x80000000000000000000000000000000","0x4844800180008002","0x800000000000010ffffffffffffffff","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffde0000000000000001","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x16","0x402780017fff7fff","0x1","0x482480017ffc8000","0x80000000000000000000000000000000","0x400080007ff77fff","0x40780017fff7fff","0x10","0x482480017fe78000","0x1","0x482480017fec8000","0x758","0x48127fea7fff8000","0x480680017fff8000","0x0","0x48127fb37fff8000","0x48127fbf7fff8000","0x48127fcb7fff8000","0x48127fd77fff8000","0x48127fe37fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffb36","0x482480017fec8000","0x3","0x48127ff17fff8000","0x48127fef7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xc","0x40780017fff7fff","0x10","0x480080047fe58000","0x48127fec7fff8000","0x482480017ffe8000","0x802","0x482480017fe28000","0x8","0x480080067fe18000","0x480080077fe08000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff77fff8000","0x48127ff77fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0xd","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffb09","0x482480017fdf8000","0x3","0x482480017fe48000","0x2e86","0x48127fe27fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xc","0x40780017fff7fff","0x1d","0x480080047fd88000","0x48127fdf7fff8000","0x482480017ffe8000","0x36ec","0x482480017fd58000","0x8","0x480080067fd48000","0x480080077fd38000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff77fff8000","0x48127ff77fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1a","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffadb","0x482480017fd28000","0x3","0x482480017fd78000","0x5d70","0x48127fd57fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xc","0x40780017fff7fff","0x2a","0x480080047fcb8000","0x48127fd27fff8000","0x482480017ffe8000","0x65d6","0x482480017fc88000","0x8","0x480080067fc78000","0x480080077fc68000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff77fff8000","0x48127ff77fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x27","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffaad","0x482480017fc58000","0x3","0x482480017fca8000","0x8c5a","0x48127fc87fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xc","0x40780017fff7fff","0x37","0x480080047fbe8000","0x48127fc57fff8000","0x482480017ffe8000","0x94c0","0x482480017fbb8000","0x8","0x480080067fba8000","0x480080077fb98000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff77fff8000","0x48127ff77fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x34","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffa7f","0x482680017ffb8000","0x3","0x482480017fbd8000","0xbb44","0x48127fbb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x10780017fff7fff","0xc","0x40780017fff7fff","0x44","0x480280047ffd8000","0x480a7ffb7fff8000","0x482480017ffe8000","0xc3aa","0x482680017ffd8000","0x8","0x480280067ffd8000","0x480280077ffd8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff77fff8000","0x48127ff77fff8000","0x208b7fff7fff7ffe"],"bytecode_segment_lengths":[221,154,221,154,221,154,222,155,223,156,223,156,223,156,223,156,220,153,378,103,454,104,95,98,98,9,107,9,9,9,9,9,9,9,9,9,9,9,279,9,9,9,321,348,9,416],"hints":[[0,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[39,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x100"},"dst":{"register":"AP","offset":0}}}]],[43,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[86,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x5d5c"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[112,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[116,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[118,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[138,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-5},"b":{"Immediate":"0x7"}}}}}]],[142,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[221,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[257,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x3336"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[282,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[290,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x100"},"dst":{"register":"AP","offset":0}}}]],[294,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[312,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[375,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[414,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x10000"},"dst":{"register":"AP","offset":0}}}]],[418,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[461,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x5d5c"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[487,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[491,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[493,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[513,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-5},"b":{"Immediate":"0x7"}}}}}]],[517,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[596,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[632,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x3336"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[657,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[665,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x10000"},"dst":{"register":"AP","offset":0}}}]],[669,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[687,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[750,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[789,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[793,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[836,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x5d5c"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[862,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[866,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[868,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[888,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-5},"b":{"Immediate":"0x7"}}}}}]],[892,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[971,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[1007,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x3336"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[1032,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[1040,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[1044,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[1062,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1125,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[1164,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-2}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[1166,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[1212,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x5d5c"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[1238,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[1242,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1244,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1264,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-5},"b":{"Immediate":"0x7"}}}}}]],[1268,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1347,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[1383,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x339a"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[1408,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[1416,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[1418,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[1439,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1502,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[1541,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x80"}}},"rhs":{"Immediate":"0x100"},"dst":{"register":"AP","offset":0}}}]],[1545,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[1590,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x5d5c"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[1616,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[1620,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1622,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1642,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-5},"b":{"Immediate":"0x7"}}}}}]],[1646,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1725,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[1761,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x3336"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[1786,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[1794,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x80"}}},"rhs":{"Immediate":"0x100"},"dst":{"register":"AP","offset":0}}}]],[1798,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[1818,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1881,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[1920,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x8000"}}},"rhs":{"Immediate":"0x10000"},"dst":{"register":"AP","offset":0}}}]],[1924,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[1969,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x5d5c"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[1995,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[1999,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2001,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2021,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-5},"b":{"Immediate":"0x7"}}}}}]],[2025,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2104,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[2140,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x3336"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[2165,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[2173,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x8000"}}},"rhs":{"Immediate":"0x10000"},"dst":{"register":"AP","offset":0}}}]],[2177,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[2197,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2260,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[2299,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x80000000"}}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":0}}}]],[2303,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[2348,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x5d5c"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[2374,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[2378,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2380,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2400,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-5},"b":{"Immediate":"0x7"}}}}}]],[2404,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2483,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[2519,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x3336"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[2544,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[2552,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x80000000"}}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":0}}}]],[2556,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[2576,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2639,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[2678,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x8000000000000000"}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[2682,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[2727,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x5d5c"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[2753,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[2757,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2759,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2779,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-5},"b":{"Immediate":"0x7"}}}}}]],[2783,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2862,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[2898,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x3336"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[2923,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[2931,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x8000000000000000"}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[2935,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[2955,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3018,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[3057,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x80000000000000000000000000000000"}}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[3061,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x800000000000010ffffffffffffffff"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[3103,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x5d5c"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[3129,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[3133,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3135,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3155,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-5},"b":{"Immediate":"0x7"}}}}}]],[3159,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3238,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[3274,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x3336"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[3299,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[3307,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x80000000000000000000000000000000"}}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[3311,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x800000000000010ffffffffffffffff"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[3328,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3391,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x14a"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[3429,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x100"},"dst":{"register":"AP","offset":0}}}]],[3433,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[3479,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x10000"},"dst":{"register":"AP","offset":0}}}]],[3483,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[3529,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[3533,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[3579,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-2}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[3581,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[3627,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x17c78"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[3651,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3769,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[3805,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0xc756"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[3825,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3872,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0xa6e"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[3910,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x80"}}},"rhs":{"Immediate":"0x100"},"dst":{"register":"AP","offset":0}}}]],[3914,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[3962,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x8000"}}},"rhs":{"Immediate":"0x10000"},"dst":{"register":"AP","offset":0}}}]],[3966,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[4014,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x80000000"}}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":0}}}]],[4018,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[4066,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x8000000000000000"}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[4070,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[4118,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-2},"b":{"Immediate":"0x80000000000000000000000000000000"}}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[4122,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x800000000000010ffffffffffffffff"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[4164,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x1db64"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[4189,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4326,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[4362,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0xf852"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[4382,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4430,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[4466,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[4478,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4525,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[4561,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0xc8"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[4573,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4623,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[4659,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0xc8"},"rhs":{"Deref":{"register":"AP","offset":-2}},"dst":{"register":"AP","offset":0}}}]],[4671,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4721,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4837,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4846,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4855,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4864,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4873,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4882,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4891,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4900,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4909,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4918,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4927,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4947,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-7}}}}]],[4951,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4953,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4973,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-7},"b":{"Immediate":"0x7"}}}}}]],[4989,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-7},"b":{"Immediate":"0xf"}}}}}]],[4993,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4995,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5015,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-7},"b":{"Immediate":"0x16"}}}}}]],[5031,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-7},"b":{"Immediate":"0x1e"}}}}}]],[5035,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5037,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5057,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-7},"b":{"Immediate":"0x25"}}}}}]],[5073,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-7},"b":{"Immediate":"0x2d"}}}}}]],[5077,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5079,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5099,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-7},"b":{"Immediate":"0x34"}}}}}]],[5215,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5224,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5233,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5252,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-3}}}}]],[5260,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x100"},"dst":{"register":"AP","offset":0}}}]],[5264,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[5295,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-9}}}}]],[5303,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x10000"},"dst":{"register":"AP","offset":0}}}]],[5307,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[5338,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-9}}}}]],[5346,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[5350,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[5381,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-9}}}}]],[5389,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[5391,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[5574,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-8}}}}]],[5578,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5580,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5600,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-8},"b":{"Immediate":"0x7"}}}}}]],[5616,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-8},"b":{"Immediate":"0xf"}}}}}]],[5620,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5622,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5642,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-8},"b":{"Immediate":"0x16"}}}}}]],[5658,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-8},"b":{"Immediate":"0x1e"}}}}}]],[5662,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5664,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5684,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-8},"b":{"Immediate":"0x25"}}}}}]],[5700,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-8},"b":{"Immediate":"0x2d"}}}}}]],[5704,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5706,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5726,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-8},"b":{"Immediate":"0x34"}}}}}]],[5742,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-8},"b":{"Immediate":"0x3c"}}}}}]],[5746,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5748,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5768,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-8},"b":{"Immediate":"0x43"}}}}}]],[5911,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5930,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-3}}}}]],[5938,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x80"}}},"rhs":{"Immediate":"0x100"},"dst":{"register":"AP","offset":0}}}]],[5942,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[5975,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-10}}}}]],[5983,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x8000"}}},"rhs":{"Immediate":"0x10000"},"dst":{"register":"AP","offset":0}}}]],[5987,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[6020,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-10}}}}]],[6028,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x80000000"}}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":0}}}]],[6032,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[6065,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-10}}}}]],[6073,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x8000000000000000"}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[6077,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[6110,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-10}}}}]],[6118,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x80000000000000000000000000000000"}}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[6122,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x800000000000010ffffffffffffffff"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]]],"entry_points_by_type":{"EXTERNAL":[{"selector":"0x1e50f8002c9ed610486ecd1cba8d6c6fcde7d7f0d89ce4c79f0595891c3896","offset":1725,"builtins":["range_check"]},{"selector":"0x67d39cb9a31ac25974105b60f1b835a398e7b710707f24ab569d0176fadbb1","offset":2260,"builtins":["range_check"]},{"selector":"0x79148715da7abd373353e23605e55db2ab09d66dda917d1a5d593fbd95b265","offset":0,"builtins":["range_check"]},{"selector":"0x7c22f67f2da0f7a18990f68d47b7ed957d3b6ece5eb0f787f1000f0fb761de","offset":750,"builtins":["range_check"]},{"selector":"0x88b0b3694994831acdee4b97ea333886627f38b35431cc88dc13eebea9434c","offset":4326,"builtins":["range_check"]},{"selector":"0xa9915668a7afb09245a11f6957e740924677899fef92004466e7e98ee0f2ed","offset":4525,"builtins":["range_check"]},{"selector":"0xaca1dfd32ac92be74082d9d29c9a2becaec459bdee163dadb1e361143a1b92","offset":2483,"builtins":["range_check"]},{"selector":"0xb9a18955961159642e23802d3fd63d097faa3c093f1e54e423325de841b305","offset":4623,"builtins":["range_check"]},{"selector":"0xc751960810c79b9f6a3709b3e25710ae251249279a1a8c0750ce55efcfb0e3","offset":3391,"builtins":["range_check"]},{"selector":"0x112ee9d746182df12371df8f396ae1bf77fb9617854ea30015adcbd8b7e5d18","offset":1502,"builtins":["range_check"]},{"selector":"0x12b72e6e6d363622227b15adf11dae8b60e0b0cf49be7b4df51a234009dc0b0","offset":2104,"builtins":["range_check"]},{"selector":"0x187b97499d893143443c91e8e51b3b8b8df6cc4a5aa06942c65c7e2eec13556","offset":221,"builtins":["range_check"]},{"selector":"0x1c5674cfcba543ff9713d74360b5ba5568e438a186156b94c5f639fa7aca480","offset":3769,"builtins":["range_check"]},{"selector":"0x2145a7768d7f4e18608a68c1945bbdc2e61e0078b5a73fb4c16a706c8eb62e9","offset":1347,"builtins":["range_check"]},{"selector":"0x22ac94f1e1ecf26cdf7f022282fc2baf1d5ef95e095e2ea156b0a6b8b3f3ddb","offset":2639,"builtins":["range_check"]},{"selector":"0x23cba354df2d526b5bf13f4fe9e30f2aaa7a5274154be5a7910bd9a6efca31f","offset":971,"builtins":["range_check"]},{"selector":"0x25ba1b21242c7225d11534bb327a2b9fe1229fc598165c86194569cbd06c33d","offset":375,"builtins":["range_check"]},{"selector":"0x288ba86c72f5bddd08934d45b30fc8054e2b46d0e6123fffa3fb2389e0fd7a0","offset":2862,"builtins":["range_check"]},{"selector":"0x2cce8f10dc528b23c5938d27cb7bd913294cf21b135b7be7ba3ea2030a56666","offset":3872,"builtins":["range_check"]},{"selector":"0x2ce79fb2924ae5d5d543759ef4186fa3e183c2bbd2f3e199b94418f9b5f8862","offset":3018,"builtins":["range_check"]},{"selector":"0x2faaf0774d2738d34815973c46f57ab8aaa5cd01f1e74ed9f1db477fae58fc8","offset":3238,"builtins":["range_check"]},{"selector":"0x345230c098b00d795824c93d4614be7db54d2b3020fb201906474e43abd8e6d","offset":4430,"builtins":["range_check"]},{"selector":"0x34e68cea2ad820c4a96827ab9822bdff9a5eed434420c25887a691872e4f5b8","offset":1881,"builtins":["range_check"]},{"selector":"0x3b6af069d862a452462eb28c80dc264722e763efa763b85d009cdf347b2eb15","offset":1125,"builtins":["range_check"]},{"selector":"0x3f9d86473d3610a8b3651e3a65da98ecdb2311a6958190893a17c1662a223a1","offset":596,"builtins":["range_check"]}],"L1_HANDLER":[],"CONSTRUCTOR":[]}} \ No newline at end of file diff --git a/__mocks__/cairo/integerTypes/target/dev/test_IntegerTypesStorage.sierra.json b/__mocks__/cairo/integerTypes/target/dev/test_IntegerTypesStorage.sierra.json new file mode 100644 index 000000000..869e7bebf --- /dev/null +++ b/__mocks__/cairo/integerTypes/target/dev/test_IntegerTypesStorage.sierra.json @@ -0,0 +1,3529 @@ +{ + "sierra_program": [ + "0x1", + "0x7", + "0x0", + "0x2", + "0xb", + "0x4", + "0x2e3", + "0x11d", + "0x60", + "0x52616e6765436865636b", + "0x800000000000000100000000000000000000000000000000", + "0x456e756d", + "0x800000000000000700000000000000000000000000000001", + "0x0", + "0x1e7cc030b6a62e51219c7055ff773a8dff8fb71637d893064207dc67ba74304", + "0x436f6e7374", + "0x800000000000000000000000000000000000000000000002", + "0x1", + "0x5e", + "0x2", + "0x4661696c656420746f20646573657269616c697a6520706172616d202335", + "0x4661696c656420746f20646573657269616c697a6520706172616d202332", + "0x4661696c656420746f20646573657269616c697a6520706172616d202333", + "0x4661696c656420746f20646573657269616c697a6520706172616d202334", + "0x53746f726549313238202d206e6f6e2069313238", + "0x53746f7265493634202d206e6f6e20693634", + "0x53746f7265493332202d206e6f6e20693332", + "0x53746f7265493136202d206e6f6e20693136", + "0x53746f72654938202d206e6f6e206938", + "0x53746f726555313238202d206e6f6e2075313238", + "0x53746f7265553634202d206e6f6e20753634", + "0x53746f7265553136202d206e6f6e20753136", + "0x53746f72655538202d206e6f6e207538", + "0x4661696c656420746f20646573657269616c697a6520706172616d202331", + "0x4f7574206f6620676173", + "0x33af51f74b3a40e66b5052631e22b7e1c6843b1a51156d1781ca24f860bb338", + "0x82f9fef96fd649f14bcb0c4ff558677902a37459e21d50114775dbb58c3bbf", + "0x3642a0487eb5367e207954b691ba98452b167253accd3ea5123b64a7c5a83d1", + "0x35acff2af14ca8571567a7ac4b89ff4e02d1db5127a7e6c12a6e06218a20ad6", + "0x3ec1c0acdfc686cb9b9ad67291859febaa49163fea2a936d8732a7c9a9f50a8", + "0x37f346aa393d08d0a53ed4e985c03c1697ab4dafec87a443646f854b0e9a2bf", + "0x3565898432d7550b6049cc5ff24387160badc1f648ff7bda9e163849d307ad", + "0x26658864aa0705943033a2cef69d87a47f2c433d13d388f15fb8edc3daa3641", + "0x9edd4f71efeecf23983c80d379669a1a0e6b9d675de2bef3d00bcd77181a3d", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x2d", + "0x5", + "0x80000000000000000000000000000000", + "0x2c", + "0x8000000000000000", + "0x2b", + "0x80000000", + "0x2a", + "0x8000", + "0x29", + "0x80", + "0x7fffffffffffffffffffffffffffffff", + "0x7fffffffffffffff", + "0x7fffffff", + "0x7fff", + "0x7f", + "0x37", + "0xffffffffffffffffffffffffffffffff", + "0x36", + "0xffffffffffffffff", + "0x35", + "0xffff", + "0x34", + "0xff", + "0x6938", + "0x800000000000000700000000000000000000000000000000", + "0x693136", + "0x693332", + "0x693634", + "0x69313238", + "0x537472756374", + "0x800000000000000700000000000000000000000000000006", + "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", + "0x800000000000000700000000000000000000000000000002", + "0x2e", + "0x800000000000000f00000000000000000000000000000001", + "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", + "0x4172726179", + "0x800000000000000300000000000000000000000000000001", + "0x800000000000000300000000000000000000000000000003", + "0x30", + "0x31", + "0x991da21f3ac7bac62a1e582ac57d076fa82af3cc5104b40e253882d45ef57e", + "0x2f", + "0x32", + "0x7538", + "0x753136", + "0x753634", + "0x75313238", + "0x800000000000000700000000000000000000000000000005", + "0x38", + "0x1443482f55bd0aad2b16718eb8b5738335fcbc408b5065b20a0b58bdf5d71a7", + "0x39", + "0x23f2523b57317e3726725a4ca7e01965877c147137f89f9d42fb22e4ce09cfa", + "0x800000000000000f00000000000000000000000000000003", + "0x3b", + "0x3c", + "0x1fe604af15b33170cfa9e929e17b09bd2e1d594293792fd46ffc08232abc9c4", + "0x3d", + "0x53746f726167654261736541646472657373", + "0x32a64c00920848f8e9cdf80684fe11aa90154247c0cba2a546a939134ba3b9a", + "0x3f", + "0x3ce5283ee2aa48a5123c6de3d914e5770a88c5bd48469144198699cae4a3afc", + "0x31374428e6fdd02f2fd5305beefd2847fbe1da0978d836d5a44451869aa036f", + "0x2b1593dcf53fff013c919fd0dd3c31411905d1a540e8a43adc687595979320f", + "0x9c21c7fd8fbc932544c7d9b034a02ff756e73ce8b6f4e0a0ba633a52793528", + "0x1d4b1e3750107ab2586cf4af62553a9a599794470568e0d198ac79dda221c81", + "0x181c95118bd5243b9ce17c7636a6e82427756d2d87359e9ea41f791990da13f", + "0xf9576d8e0ee02a8a74ec8c6079c180fdf754e408dcb1c0a53996f702bc9bd9", + "0x217df869bb0b01a6ddd4cf1d9c3e1232510f2f9d9419df7a3b9e10e8b07a31a", + "0x376f6a4650f03c0cf6b1902e6cfb24c50f8c5c4692c4063474a564b678bb0", + "0x1fd6cdfbe06b64c5329bdd6053ff2ecd941cf10c762964f479af5cba976aef0", + "0x249009445d8525f25aa91e7943ed812e820fc9b3779d1f078aa275810677ecb", + "0xbf2492c70c48a67545fd03e684bf9c7f453360a13c67b42fa1560540564415", + "0x2d9624c2f4cdb329a8100dc8d3b1e579132989ba7b483ba4d2da405ea16866", + "0x3e343434fcb8ea5c07d104c997f385c79be9d4e7b497c01dbd3c08be47ff808", + "0x3dfe448f9327e7a232edb9079e191751d8b503d99fde2d50364c8101aa5d091", + "0x30df86604b54525ae11ba1b715c090c35576488a1286b0453186a976e6c9a32", + "0x536e617073686f74", + "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", + "0x51", + "0x52", + "0x3b8d83935903ecbbf798c0ff1eee093d94788bcea72fe1b57af0c3861ef40ee", + "0x80000000000000070000000000000000000000000000000a", + "0x1e167423fb262376bd2761b51f963103385115cd789490d84de450ad8359836", + "0x54", + "0x4f", + "0x4d", + "0x4b", + "0x49", + "0x47", + "0x45", + "0x43", + "0x41", + "0x57", + "0x753332", + "0x53746f7261676541646472657373", + "0x4275696c74696e436f737473", + "0x53797374656d", + "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", + "0x53", + "0x426f78", + "0x800000000000000700000000000000000000000000000003", + "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", + "0x5c", + "0x66656c74323532", + "0x4761734275696c74696e", + "0x10e", + "0x7265766f6b655f61705f747261636b696e67", + "0x77697468647261775f676173", + "0x6272616e63685f616c69676e", + "0x72656465706f7369745f676173", + "0x7374727563745f6465636f6e737472756374", + "0x656e61626c655f61705f747261636b696e67", + "0x73746f72655f74656d70", + "0x5f", + "0x61727261795f736e617073686f745f706f705f66726f6e74", + "0x656e756d5f696e6974", + "0x5d", + "0x6a756d70", + "0x7374727563745f636f6e737472756374", + "0x656e756d5f6d61746368", + "0x64697361626c655f61705f747261636b696e67", + "0x756e626f78", + "0x72656e616d65", + "0x75385f7472795f66726f6d5f66656c74323532", + "0x64726f70", + "0x66756e6374696f6e5f63616c6c", + "0x3", + "0x19", + "0x5b", + "0x5a", + "0x6765745f6275696c74696e5f636f737473", + "0x59", + "0x77697468647261775f6761735f616c6c", + "0x73746f726167655f626173655f616464726573735f636f6e7374", + "0x1c8cdbf1e825e94b708f22a0c76bfef46902c23a52b69a13e159253c8879377", + "0x647570", + "0x75385f746f5f66656c74323532", + "0x73746f726167655f616464726573735f66726f6d5f62617365", + "0x636f6e73745f61735f696d6d656469617465", + "0x56", + "0x58", + "0x73746f726167655f77726974655f73797363616c6c", + "0x61727261795f6e6577", + "0x55", + "0x736e617073686f745f74616b65", + "0x1a", + "0x656d69745f6576656e745f73797363616c6c", + "0x1b", + "0x1c", + "0x50", + "0x73746f726167655f726561645f73797363616c6c", + "0x61727261795f617070656e64", + "0x1d", + "0x7531365f7472795f66726f6d5f66656c74323532", + "0x33273fc5d9e9f210b83dc369806069da698eba2b8a05e7af9a9ae3ba80d8b0e", + "0x7531365f746f5f66656c74323532", + "0x4e", + "0x1e", + "0x7536345f7472795f66726f6d5f66656c74323532", + "0x1df06e11f6423448a394eeb7d5ec250ae172ecd77c505e2886375b1e17e7e60", + "0x7536345f746f5f66656c74323532", + "0x4c", + "0x1f", + "0x75313238735f66726f6d5f66656c74323532", + "0x1d0f5b509144123f4df6fea54f3a01c35813cbac4531e7636adb3ab5523f28e", + "0x753132385f746f5f66656c74323532", + "0x4a", + "0x20", + "0x69385f7472795f66726f6d5f66656c74323532", + "0xb76f976ded6055ea8764d4c0305065e1ac948f1e7b80c5683346abc51677a7", + "0x69385f746f5f66656c74323532", + "0x4", + "0x48", + "0x21", + "0x6931365f7472795f66726f6d5f66656c74323532", + "0x15ee265206c68ebe262487bf987386bdb0345b105e0a8f3fdde49e21b4d3b52", + "0x6931365f746f5f66656c74323532", + "0x46", + "0x22", + "0x6933325f7472795f66726f6d5f66656c74323532", + "0x130de67520c6c99672682b869ce5c11846d997bdb10945e08d60c2ad54a24bd", + "0x6933325f746f5f66656c74323532", + "0x6", + "0x44", + "0x23", + "0x6936345f7472795f66726f6d5f66656c74323532", + "0x10a461970d40c37627851bce26d52bc9c00c9dd9a6da81e46586fc24e261f68", + "0x6936345f746f5f66656c74323532", + "0x7", + "0x42", + "0x24", + "0x693132385f7472795f66726f6d5f66656c74323532", + "0x393c8c307bb955407b7080273b214454224f1b4aac907c863086f9452ac67de", + "0x693132385f746f5f66656c74323532", + "0x8", + "0x40", + "0x25", + "0x26", + "0x3e", + "0x27", + "0x28", + "0x3a", + "0x33", + "0x18", + "0x17", + "0x16", + "0x15", + "0x14", + "0x13", + "0x12", + "0x11", + "0x10", + "0xf", + "0xe", + "0xd", + "0xc", + "0xb", + "0xa", + "0x9", + "0x12d6", + "0x9e", + "0x90", + "0x8a", + "0x70", + "0x69", + "0x77", + "0x97", + "0x61", + "0x62", + "0x63", + "0x109", + "0xbb", + "0x100", + "0xf1", + "0xe7", + "0xf8", + "0x1b1", + "0x123", + "0x12a", + "0x1a3", + "0x19d", + "0x144", + "0x193", + "0x183", + "0x17c", + "0x18a", + "0x1aa", + "0x21c", + "0x1ce", + "0x213", + "0x204", + "0x1fa", + "0x20b", + "0x2c4", + "0x236", + "0x23d", + "0x2b6", + "0x2b0", + "0x257", + "0x2a6", + "0x296", + "0x28f", + "0x29d", + "0x2bd", + "0x32f", + "0x2e1", + "0x326", + "0x317", + "0x30d", + "0x31e", + "0x3d9", + "0x349", + "0x350", + "0x3cb", + "0x3c3", + "0x36a", + "0x3b9", + "0x3a9", + "0x3a2", + "0x3b0", + "0x3d2", + "0x64", + "0x65", + "0x446", + "0x3f6", + "0x43d", + "0x66", + "0x67", + "0x42e", + "0x422", + "0x68", + "0x435", + "0x4ee", + "0x460", + "0x467", + "0x4e0", + "0x4da", + "0x481", + "0x6a", + "0x4d0", + "0x6b", + "0x6c", + "0x6d", + "0x4c0", + "0x6e", + "0x6f", + "0x4b9", + "0x4c7", + "0x4e7", + "0x559", + "0x50b", + "0x550", + "0x71", + "0x72", + "0x73", + "0x541", + "0x537", + "0x74", + "0x548", + "0x601", + "0x573", + "0x57a", + "0x5f3", + "0x75", + "0x5ed", + "0x594", + "0x76", + "0x5e3", + "0x78", + "0x79", + "0x5d3", + "0x7a", + "0x7b", + "0x5cc", + "0x5da", + "0x5fa", + "0x66c", + "0x61e", + "0x663", + "0x7c", + "0x7d", + "0x7e", + "0x654", + "0x64a", + "0x65b", + "0x714", + "0x686", + "0x68d", + "0x706", + "0x81", + "0x700", + "0x6a7", + "0x82", + "0x6f6", + "0x83", + "0x84", + "0x85", + "0x6e6", + "0x86", + "0x87", + "0x6df", + "0x6ed", + "0x70d", + "0x77f", + "0x731", + "0x776", + "0x88", + "0x89", + "0x8b", + "0x767", + "0x75d", + "0x8c", + "0x76e", + "0x827", + "0x799", + "0x7a0", + "0x819", + "0x8d", + "0x813", + "0x7ba", + "0x8e", + "0x809", + "0x8f", + "0x91", + "0x7f9", + "0x92", + "0x93", + "0x7f2", + "0x800", + "0x820", + "0x892", + "0x844", + "0x889", + "0x94", + "0x95", + "0x96", + "0x87a", + "0x870", + "0x98", + "0x881", + "0x93a", + "0x8ac", + "0x8b3", + "0x92c", + "0x99", + "0x926", + "0x8cd", + "0x9a", + "0x91c", + "0x9b", + "0x9c", + "0x9d", + "0x90c", + "0x9f", + "0x905", + "0x913", + "0x933", + "0x9a5", + "0x957", + "0x99c", + "0xa0", + "0xa1", + "0xa2", + "0xa3", + "0x98d", + "0x983", + "0xa4", + "0x994", + "0xacf", + "0x9bf", + "0x9c6", + "0xac1", + "0xabb", + "0x9dc", + "0x9e3", + "0xaac", + "0xaa4", + "0x9f7", + "0x9fe", + "0xa94", + "0xa8b", + "0xa12", + "0xa19", + "0xa7a", + "0xa6e", + "0xa36", + "0xa60", + "0xa5", + "0xa6", + "0xa7", + "0xa8", + "0xa9", + "0xaa", + "0xab", + "0xa58", + "0xac", + "0xa84", + "0xad", + "0xa9d", + "0xae", + "0xab4", + "0xaf", + "0xac8", + "0xb2b", + "0xaec", + "0xb22", + "0xb0", + "0xb1", + "0xb2", + "0xb3", + "0xb1a", + "0xb4", + "0xb5", + "0xb6", + "0xb7", + "0xb8", + "0xb9", + "0xba", + "0xc8e", + "0xb45", + "0xb4c", + "0xc80", + "0xc7a", + "0xb62", + "0xb69", + "0xc6b", + "0xc63", + "0xb7d", + "0xb84", + "0xc53", + "0xc4a", + "0xb98", + "0xb9f", + "0xc39", + "0xc2f", + "0xbb3", + "0xbba", + "0xc1d", + "0xc12", + "0xbd8", + "0xc03", + "0xbc", + "0xbd", + "0xbe", + "0xbf", + "0xc0", + "0xc1", + "0xbfb", + "0xc28", + "0xc2", + "0xc43", + "0xc5c", + "0xc73", + "0xc87", + "0xced", + "0xcab", + "0xce4", + "0xc3", + "0xc4", + "0xcdc", + "0xc5", + "0xc6", + "0xc7", + "0xc8", + "0xc9", + "0xca", + "0xcb", + "0xcc", + "0xcd", + "0xd3f", + "0xd0a", + "0xd36", + "0xce", + "0xcf", + "0xd0", + "0xd1", + "0xd2", + "0xd96", + "0xd5c", + "0xd8d", + "0xd3", + "0xd4", + "0xd5", + "0xd6", + "0xd7", + "0xd8", + "0xded", + "0xdb3", + "0xde4", + "0xd9", + "0xda", + "0xdb", + "0xdc", + "0xdd", + "0xde", + "0xdf", + "0xe0", + "0xe0b", + "0xe16", + "0xe21", + "0xe2c", + "0xe37", + "0xe42", + "0xe4d", + "0xe58", + "0xe1", + "0xe2", + "0xe3", + "0xe4", + "0xe5", + "0xe6", + "0xe8", + "0xe9", + "0xea", + "0xeb", + "0xec", + "0xed", + "0xee", + "0xef", + "0xf0", + "0xf2", + "0xf3", + "0xf4", + "0xf5", + "0xf6", + "0xf7", + "0xf9", + "0xfa", + "0xfb", + "0xfc", + "0xfd", + "0xf9b", + "0xf90", + "0xf7f", + "0xf75", + "0xf65", + "0xf5c", + "0xf50", + "0xf45", + "0xfe", + "0x101", + "0xf6e", + "0xf89", + "0xfa6", + "0x102", + "0x103", + "0x104", + "0x1087", + "0x107d", + "0x106d", + "0x1062", + "0x1051", + "0x1045", + "0x1033", + "0x1024", + "0x105", + "0x106", + "0x107", + "0x103d", + "0x108", + "0x105a", + "0x1075", + "0x108e", + "0x11b5", + "0x11a9", + "0x1197", + "0x118c", + "0x117b", + "0x1171", + "0x1161", + "0x1158", + "0x114c", + "0x1141", + "0x116a", + "0x1185", + "0x11a2", + "0x11c1", + "0x12c7", + "0x12bd", + "0x12ad", + "0x12a2", + "0x1291", + "0x1285", + "0x1273", + "0x1266", + "0x1253", + "0x1245", + "0x10a", + "0x10b", + "0x10c", + "0x125e", + "0x10d", + "0x127d", + "0x129a", + "0x12b5", + "0x12ce", + "0x113", + "0x1bb", + "0x226", + "0x2ce", + "0x339", + "0x3e3", + "0x450", + "0x4f8", + "0x563", + "0x60b", + "0x676", + "0x71e", + "0x789", + "0x831", + "0x89c", + "0x944", + "0x9af", + "0xad9", + "0xb35", + "0xc98", + "0xcf7", + "0xd49", + "0xda0", + "0xdf7", + "0xdff", + "0xe63", + "0xe6b", + "0xe73", + "0xe7b", + "0xe83", + "0xe8b", + "0xe93", + "0xe9b", + "0xea3", + "0xeab", + "0xeb3", + "0xebb", + "0xfad", + "0xfb5", + "0xfbd", + "0xfc5", + "0x1096", + "0x11c8", + "0x11d0", + "0x9bbb", + "0xe02c0a0240801c0d02c0a0240801c0c02c0a0240801c060140400c0200400", + "0x70480b02809020070440b02809020070400b028090200703c0b0280902007", + "0x801c1602c0a0240801c1502c0a0240801c1402c0a0240801c1302c0a02408", + "0x9020070680b02809020070640b02809020070600b028090200705c0b02809", + "0xa0240801c1e02c0a0240801c1d02c0a0240801c1c02c0a0240801c1b02c0a", + "0xb02809020070880b02809020070840b02809020070800b028090200707c0b", + "0x2b0982a0240801c29098280240801c27098250240801c2402c0a0240801c23", + "0x70c40b0a009020070c00b09409020070bc260b809020070b4260b00902007", + "0x801c3602c350240801c3402c2e0240801c3302c2c0240801c3202c2a02408", + "0x420f8410f8400f83f0f83d0f00b0ec09020070e80b0e409020070e00b0dc09", + "0x490144810c47024450144610c25024280242a0242c0242e024450144410c3e", + "0x540f8530f852144091400913c0513003138091340911405130430280912c4a", + "0x580144c00c57024450144610c3502437024390243b024450145610c3e1543e", + "0x9178051300317409170091140516c43114051204316805120431440916409", + "0x4610c62024640144610c25024630144610c62024610144610c3e180510245f", + "0x511843188091a005118430a80919c05118431880919805118430a00919405", + "0x6d0144610c620246c0144610c2e0246b0144610c620246a0144610c2c02469", + "0x91c40511843188091c005118430dc091bc0511843188091b805118430d409", + "0x4610c76024450144610c75024740144610c4e024041cc62024720144610c39", + "0x920409200091fc091f8091f4091f0091ec091e8091e4051e0030ec091dc05", + "0x42285102489024880144c00c0221c3e2183e2143e2100502c830240801c82", + "0x9254052500524c0524805244900088f0f88e17409234092300522c0302809", + "0x9024970140b26c0902c9a028090249926009024970140902497014961d809", + "0x92800527c9b024092780902c9b0240b2685d02409274052709b0240925c75", + "0xa40ec09024a323409024a31d409024a3014a2028090249702809024a102809", + "0x52acaa0240925c052a4a70240925ca80240925c0902ca70240b268a629409", + "0xb42cc090249720c09024972c809024b1014b0014af0ec09024ae2b40b024ac", + "0x925cb60240928cb6024092dc0502cb60240b2687a024092740a024092d405", + "0x9d014b91d8090249d13809024a313809024b72e0a5024a413809024972d809", + "0x5d0240928cba2940929051024092744d024092740502ca70240b2688902409", + "0xa12f009024952f009024a32f009024b72f0090249d1d809024a32eca5024a4", + "0x928c053004d0240928c5102409254bf294092900a024092f8052f46202409", + "0x90249d0240b2d80902c9a1ec090249d014c20e409024ae3040b024ac0e409", + "0x92b0370240928c05314c429409290c302409254c30240928cc3024092dcc3", + "0x9024b7320090249d02c0b2d80902c9a1f0090249d014c70dc09024ae3180b", + "0x92b8cb02c092b0350240928c05328c929409290c802409254c80240928cc8", + "0x9024a333409024b7334090249d2940b2d80902c9a1f4090249d014cc0d409", + "0x53442e024092b8d002c092b02e0240928c0533cce29409290cd02409254cd", + "0x90249534c09024a334c09024b734c090249d3480b2d80902c9a1f8090249d", + "0x7f024092740535c2c024092b8d602c092b02c0240928c05354d429409290d3", + "0xa5024a4360090249536009024a336009024b7360090249d0980b2d80902c9a", + "0xb60240b2688002409274053702a024092b8db02c092b02a0240928c05368d9", + "0xa3014e037ca5024a4378090249537809024a337809024b7378090249d3740b", + "0x9274e302cb60240b26881024092740538828024092b8e102c092b02802409", + "0xac09409024a3014e6394a5024a4390090249539009024a339009024b739009", + "0x92dcea02409274e902cb60240b2688202409274053a025024092b8e702c09", + "0x9024970ec0902497170090249d3aca5024a43a809024953a809024a33a809", + "0xee294092905f0240928ced02409278ec29409290350240925c370240925c39", + "0x953c0090249e0b0a5024a417009024a317009024b70b8a5024a43bca5024a4", + "0x928439024092843b024092845702409254570240928c57024092dc5902409", + "0x9024970a009024970a809024970b009024970b809024970d409024a10dc09", + "0x47024092dc5002409254f102409278252940929028294092902a2940929025", + "0xa10a009024a10a809024a10b009024a10b809024a111c090249511c09024a3", + "0x92c45702409274eb024092c4ec024092c4ee024092c4ef024092c42502409", + "0x9024b111c090249d33809024b135009024b136409024b137c09024b139409", + "0x510240925cb8024092c4ba024092c4bb024092c4bf024092c4c4024092c4c9", + "0x953cc09024b11ec09024953c809024b11e8090249529809024b12d8090249e", + "0x9254f6024092c47e02409254f5024092c47d02409254f4024092c47c02409", + "0x9024953e409024b120409024953e009024b120009024953dc09024b11fc09", + "0xff024092c4fe024092c4fd024092c4fc024092c4fb024092c4fa024092c482", + "0x9a17c090249d37409024b138c09024b13a409024b140409024b140009024b1", + "0x92c4d2024092c426024092c40902ced0240b268ed0240925c0502ced0240b", + "0x9024b10240b3c00902c9a3c009024970140b3c00902c9a164090249d29409", + "0x5014054080902cf10240b268f10240925c0502cf10240b26850024092740b", + "0xa5014050e0090140b014e33740b40c263480b0e00b0240502c09014050e009", + "0x93480937405014380240509805404090e00929409348053a4090e00909809", + "0xb014fe024fa3fd0002c3802d01024e9014e902438024e9024e3014d202438", + "0x93f40938c053f0090e0093fc09404053f4090e0093a409294050143802405", + "0x53cc09014fe014f902438024fc024ff014fa024380250002500014fb02438", + "0xf7024fc014f702438024053f4053e0090e0093a40929405014380240502c05", + "0x93d8093fc053e8090e0093f809400053ec090e0093e00938c053d8090e009", + "0x38024053e805014380240502c053d009410f50243802cf9024fb014f902438", + "0xa602438024f2024f8014f202438024f5024f9014f302438024fb024a501405", + "0xb802c3802ca63480b3d8053cc090e0093cc0938c05298090e009298093dc05", + "0x90e0092e009374052fc090e0093cc0929405014380240502c052ec09414ba", + "0x90140b014ce0244e324c402c3802cfa024e9014bf02438024bf024e3014b8", + "0xa5014050e0092e8093cc0501438024c9024f4014050e009310093d40501438", + "0xb8024dd014df02438024d9024a6014d902438024053c805350090e0092fc09", + "0x937c092e80502c090e00902c092e005350090e0093500938c052e0090e009", + "0x92940501438024ce024f5014050e0090140b014df02cd42e0d2024df02438", + "0x93ac092fc05394090e0093940938c053ac090e009014bb014e502438024bf", + "0x5014380240502c050b8ef02c2f3b8ec02c3802ceb394b8294c4014eb02438", + "0xd4014282e80b0e0092e809338050a8090e009014c90142c02438024ee024a5", + "0x90142601450024380240537c0511c090e0090a80936405094090e0090a009", + "0x90e00911c093ac05140090e00914009394050b0090e0090b00938c0501438", + "0x51295061384d02c3802c2511c5002c2c098ec014ec02438024ec024dd01447", + "0x50e4090e0091340929405134090e0091340938c05014380240502c050ecf1", + "0x570242e0145702438024ba024ef0143502438024053b8050dc090e009014ee", + "0x9170090a00501438024f00242a0145c3c00b0e009164090b005164090e009", + "0x350dc5c2944701435024380243502425014370243802437024250145c02438", + "0x5f02450014050e0093b40913405188ed02c380245d024500145f1740b0e009", + "0x92080913805390090e009188091380501438024ea0244d014823a80b0e009", + "0xa541c803780b0e00b204e41383934851014390243802439024e30148102438", + "0xa5014de02438024de024e3014050e009014fa014050e0090140b014d31fcd8", + "0x9134053207d02c38024cd02450014cd02438024053b8051f8090e00937809", + "0x930c090ec0530c090e0091f0093c4051f0090e0093200913805014380247d", + "0x3802480024b80147e024380247e024e3014ec02438024ec024dd0147b02438", + "0x938c05014380240502c051ec801f8ec348091ec090e0091ec092e80520009", + "0x7f024b80147502438024bc024e3014bc02438024d8024a5014d802438024d8", + "0x5014380240502c0501508024053f805224090e00934c09094051d8090e009", + "0x938c051e8090e0091440929405144090e0091440938c0501438024ba024f3", + "0x9014fa01489024380243b024250147602438024f1024b801475024380247a", + "0x90e0092c809298052c8090e009224b602c37014b602438024050e40501438", + "0x760243802476024b8014750243802475024e3014ec02438024ec024dd01483", + "0x92e8093cc05014380240502c0520c761d4ec3480920c090e00920c092e805", + "0xa802438024aa024a6014aa02438024050d4052cc090e0090b8092940501438", + "0x502c090e00902c092e0052cc090e0092cc0938c053bc090e0093bc0937405", + "0x38024fa024f5014050e0090140b014a802cb33bcd2024a802438024a8024ba", + "0x9b02438024a7024e30148d02438024bb024dd014a702438024f3024a501405", + "0x50e0093d00915c0501438024053e805014380240502c0501509024053f805", + "0xe30148d02438024d2024dd0140a02438024fb024a5014050e0093e8093d405", + "0x8d024dd014000243802498024a60149802438024051640526c090e00902809", + "0x9000092e80502c090e00902c092e00526c090e00926c0938c05234090e009", + "0x92940501438024a5024f0014050e0090140b0140002c9b234d20240002438", + "0x93740937405430090e00942c092980542c090e009014350150a02438024e3", + "0x380250c024ba0140b024380240b024b80150a024380250a024e3014dd02438", + "0x10d098d202c3802c090140b024050143802405014054300b428dd3480943009", + "0x10102438024a5024d2014e90243802426024a5014050e0090140b014e33740b", + "0xff4000b0e00b404093a4053a4090e0093a40938c05348090e0093480937405", + "0xa5014050e0093fc093d0050143802500024f5014050e0090140b014fe0250e", + "0xd2024dd014fb02438024fc024a6014fc02438024053c8053f4090e0093a409", + "0x93ec092e80502c090e00902c092e0053f4090e0093f40938c05348090e009", + "0x92940501438024fe024f5014050e0090140b014fb02cfd348d2024fb02438", + "0x93e4092fc053e8090e0093e80938c053e4090e009014bb014fa02438024e9", + "0x5014380240502c053d4f602d0f3dcf802c3802cf93e8d2294c4014f902438", + "0x9174053c8090e0093cc09170053cc090e009014c9014f402438024f7024a5", + "0xba02462014ba02438024b8024ed014050e0092980917c052e0a602c38024f2", + "0x38024f4024e3014c4024380240537c052fc090e0092ec09364052ec090e009", + "0x90e0093e009374052fc090e0092fc093ac05310090e00931009394053d009", + "0x50e0090140b014e537cd929510350ce324a50e00b2fcc402cf4348ea014f8", + "0x5350090e009350093dc053ac090e0093240929405324090e0093240938c05", + "0xee3b00b0e00b350f802cf6014eb02438024eb024e3014ce02438024ce024b8", + "0x50b0090e009014ee0142e02438024eb024a5014050e0090140b014ef02511", + "0x470940b0e0090a009140050a0090e0090a82c02c820142a02438024ee024d4", + "0x3b0144d0243802450024f10145002438024470244e014050e0090940913405", + "0x92e0050b8090e0090b80938c053b0090e0093b00937405138090e00913409", + "0x50e0090140b0144e3382e3b0d20244e024380244e024ba014ce02438024ce", + "0x50e43b02c38024f102481014f1024380240539005144090e0093ac0929405", + "0x92e0050d4090e0091440938c050dc090e0093bc0937405014380243b024de", + "0x50e0090140b0140544809014fe014590243802439024250145702438024ce", + "0x50dc090e0093e009374053c0090e0093640929405364090e0093640938c05", + "0x390145902438024e5024250145702438024df024b80143502438024f0024e3", + "0x93740517c090e0091740929805174090e0091645c02c370145c0243802405", + "0x5f024ba014570243802457024b8014350243802435024e3014370243802437", + "0x53b4090e0093d40929405014380240502c0517c570d4373480917c090e009", + "0x938c053d8090e0093d809374053a8090e0091880929805188090e00901435", + "0xed3d8d2024ea02438024ea024ba0140b024380240b024b8014ed02438024ed", + "0x350148202438024e3024a5014050e009294093c005014380240502c053a80b", + "0x82024e3014dd02438024dd024dd0148102438024e4024a6014e40243802405", + "0xb208dd34809204090e009204092e80502c090e00902c092e005208090e009", + "0x90140b014e33740b44c263480b0e00b0240502c09014050e0090140501481", + "0x5014380240509805404090e00929409348053a4090e009098092940501438", + "0x1143fd0002c3802d01024e9014e902438024e9024e3014d202438024d2024dd", + "0x53f0090e0093fc09404053f4090e0093a40929405014380240502c053f809", + "0xfe014f902438024fc024ff014fa024380250002500014fb02438024fd024e3", + "0xf702438024053f4053e0090e0093a40929405014380240502c050151502405", + "0x53e8090e0093f809400053ec090e0093e00938c053d8090e0093dc093f005", + "0x5014380240502c053d009458f50243802cf9024fb014f902438024f6024ff", + "0xf2024f8014f202438024f5024f9014f302438024fb024a5014050e009014fa", + "0xa63480b200053cc090e0093cc0938c05298090e009298093dc05298090e009", + "0x9374052fc090e0093cc0929405014380240502c052ec0945cba2e00b0e00b", + "0xce02518324c402c3802cfa024e9014bf02438024bf024e3014b802438024b8", + "0x92e8093600501438024c9024f4014050e009310093d405014380240502c05", + "0xdf02438024d9024a6014d902438024053c805350090e0092fc092940501438", + "0x502c090e00902c092e005350090e0093500938c052e0090e0092e00937405", + "0x38024ce024f5014050e0090140b014df02cd42e0d2024df02438024df024ba", + "0x5394090e0093940938c053ac090e009014bb014e502438024bf024a501405", + "0x502c050b8ef02d193b8ec02c3802ceb394b8294c4014eb02438024eb024bf", + "0xb0e0092e80934c050a8090e0090147f0142c02438024ee024a5014050e009", + "0x50024380240537c0511c090e0090a80936405094090e0090a0091f8050a0ba", + "0x93ac05140090e00914009394050b0090e0090b00938c05014380240509805", + "0x4d02c3802c2511c5002c2c098ec014ec02438024ec024dd014470243802447", + "0x91340929405134090e0091340938c05014380240502c050ecf1144a54684e", + "0x5702438024ba024cd0143502438024053b8050dc090e009014ee0143902438", + "0x501438024f00242a0145c3c00b0e009164090b005164090e00915c091f405", + "0x4701435024380243502425014370243802437024250145c024380245c02428", + "0x50e0093b40913405188ed02c380245d024500145f1740b0e0090d437170a5", + "0x5390090e009188091380501438024ea0244d014823a80b0e00917c0914005", + "0xb0e00b204e41383934851014390243802439024e30148102438024820244e", + "0x38024de024e3014050e009014fa014050e0090140b014d31fcd82951b200de", + "0x7d02c38024cd02450014cd02438024053b8051f8090e009378092940537809", + "0x530c090e0091f0093c4051f0090e0093200913805014380247d0244d014c8", + "0xb80147e024380247e024e3014ec02438024ec024dd0147b02438024c30243b", + "0x380240502c051ec801f8ec348091ec090e0091ec092e805200090e00920009", + "0x7502438024bc024e3014bc02438024d8024a5014d802438024d8024e301405", + "0x502c050151c024053f805224090e00934c09094051d8090e0091fc092e005", + "0x90e0091440929405144090e0091440938c0501438024ba024d8014050e009", + "0x89024380243b024250147602438024f1024b801475024380247a024e30147a", + "0x9298052c8090e009224b602c37014b602438024050e40501438024053e805", + "0x76024b8014750243802475024e3014ec02438024ec024dd0148302438024b2", + "0x5014380240502c0520c761d4ec3480920c090e00920c092e8051d8090e009", + "0xaa024a6014aa02438024050d4052cc090e0090b8092940501438024ba024d8", + "0x902c092e0052cc090e0092cc0938c053bc090e0093bc09374052a0090e009", + "0xf5014050e0090140b014a802cb33bcd2024a802438024a8024ba0140b02438", + "0xa7024e30148d02438024bb024dd014a702438024f3024a5014050e0093e809", + "0x915c0501438024053e805014380240502c050151d024053f80526c090e009", + "0x38024d2024dd0140a02438024fb024a5014050e0093e8093d40501438024f4", + "0x243802498024a60149802438024051640526c090e0090280938c0523409", + "0x502c090e00902c092e00526c090e00926c0938c05234090e0092340937405", + "0x38024a5024f0014050e0090140b0140002c9b234d2024000243802400024ba", + "0x5430090e00942c092980542c090e009014350150a02438024e3024a501405", + "0xba0140b024380240b024b80150a024380250a024e3014dd02438024dd024dd", + "0x3802c090140b024050143802405014054300b428dd34809430090e00943009", + "0xa5024d2014e90243802426024a5014050e0090140b014e33740b478263480b", + "0xb404093a4053a4090e0093a40938c05348090e0093480937405404090e009", + "0x93fc093d0050143802500024f5014050e0090140b014fe0251f3fd0002c38", + "0xfb02438024fc024a6014fc02438024053c8053f4090e0093a4092940501438", + "0x502c090e00902c092e0053f4090e0093f40938c05348090e0093480937405", + "0x38024fe024f5014050e0090140b014fb02cfd348d2024fb02438024fb024ba", + "0x53e8090e0093e80938c053e4090e009014bb014fa02438024e9024a501405", + "0x502c053d4f602d203dcf802c3802cf93e8d2294c4014f902438024f9024bf", + "0x90e0093cc09320053cc090e0090147f014f402438024f7024a5014050e009", + "0xba02438024b80247b014050e0092980930c052e0a602c38024f20247c014f2", + "0xe3014c4024380240537c052fc090e0092ec09364052ec090e0092e80918805", + "0x9374052fc090e0092fc093ac05310090e00931009394053d0090e0093d009", + "0xb014e537cd929521350ce324a50e00b2fcc402cf4348ea014f802438024f8", + "0x9350093dc053ac090e0093240929405324090e0093240938c050143802405", + "0xb350f802c80014eb02438024eb024e3014ce02438024ce024b8014d402438", + "0x9014ee0142e02438024eb024a5014050e0090140b014ef025223b8ec02c38", + "0x90a009140050a0090e0090a82c02c820142a02438024ee0247e0142c02438", + "0x3802450024f10145002438024470244e014050e009094091340511c2502c38", + "0x90e0090b80938c053b0090e0093b00937405138090e009134090ec0513409", + "0xb0144e3382e3b0d20244e024380244e024ba014ce02438024ce024b80142e", + "0x38024f102481014f102438024052f005144090e0093ac09294050143802405", + "0x90e0091440938c050dc090e0093bc0937405014380243b024de014390ec0b", + "0xb0140548c09014fe014590243802439024250145702438024ce024b801435", + "0x93e009374053c0090e0093640929405364090e0093640938c050143802405", + "0x38024e5024250145702438024df024b80143502438024f0024e30143702438", + "0x90e0091740929805174090e0091645c02c370145c02438024050e40516409", + "0x570243802457024b8014350243802435024e3014370243802437024dd0145f", + "0x93d40929405014380240502c0517c570d4373480917c090e00917c092e805", + "0x90e0093d809374053a8090e0091880929805188090e00901435014ed02438", + "0xea02438024ea024ba0140b024380240b024b8014ed02438024ed024e3014f6", + "0x38024e3024a5014050e009294093c005014380240502c053a80b3b4f634809", + "0xdd02438024dd024dd0148102438024e4024a6014e402438024050d40520809", + "0x9204090e009204092e80502c090e00902c092e005208090e0092080938c05", + "0xe33740b490263480b0e00b0240502c09014050e009014050148102c82374d2", + "0x509805404090e00929409348053a4090e0090980929405014380240502c05", + "0x3802d01024e9014e902438024e9024e3014d202438024d2024dd014050e009", + "0x93fc09404053f4090e0093a40929405014380240502c053f809494ff4000b", + "0x38024fc024ff014fa024380250002500014fb02438024fd024e3014fc02438", + "0x53f4053e0090e0093a40929405014380240502c0501526024053f8053e409", + "0x93f809400053ec090e0093e00938c053d8090e0093dc093f0053dc090e009", + "0x502c053d00949cf50243802cf9024fb014f902438024f6024ff014fa02438", + "0xf202438024f5024f9014f302438024fb024a5014050e009014fa014050e009", + "0x53cc090e0093cc0938c05298090e009298093dc05298090e0093c8093e005", + "0x90e0093cc0929405014380240502c052ec094a0ba2e00b0e00b298d202c75", + "0xc402c3802cfa024e9014bf02438024bf024e3014b802438024b8024dd014bf", + "0x501438024c9024f4014050e009310093d405014380240502c05338094a4c9", + "0xd9024a6014d902438024053c805350090e0092fc092940501438024ba02476", + "0x902c092e005350090e0093500938c052e0090e0092e0093740537c090e009", + "0xf5014050e0090140b014df02cd42e0d2024df02438024df024ba0140b02438", + "0x93940938c053ac090e009014bb014e502438024bf024a5014050e00933809", + "0xef02d2a3b8ec02c3802ceb394b8294c4014eb02438024eb024bf014e502438", + "0x91e8050a8090e009014890142c02438024ee024a5014050e0090140b0142e", + "0x537c0511c090e0090a80936405094090e0090a0092d8050a0ba02c38024ba", + "0x90e00914009394050b0090e0090b00938c05014380240509805140090e009", + "0x2511c5002c2c098ec014ec02438024ec024dd014470243802447024eb01450", + "0x5134090e0091340938c05014380240502c050ecf1144a54ac4e1340b0e00b", + "0xba024b20143502438024053b8050dc090e009014ee01439024380244d024a5", + "0xf00242a0145c3c00b0e009164090b005164090e00915c0920c0515c090e009", + "0x380243502425014370243802437024250145c024380245c02428014050e009", + "0x913405188ed02c380245d024500145f1740b0e0090d437170a511c050d409", + "0x9188091380501438024ea0244d014823a80b0e00917c091400501438024ed", + "0xe41383934851014390243802439024e30148102438024820244e014e402438", + "0xe3014050e009014fa014050e0090140b014d31fcd82952c200de02c3802c81", + "0xcd02450014cd02438024053b8051f8090e0093780929405378090e00937809", + "0x91f0093c4051f0090e0093200913805014380247d0244d014c81f40b0e009", + "0x380247e024e3014ec02438024ec024dd0147b02438024c30243b014c302438", + "0x51ec801f8ec348091ec090e0091ec092e805200090e009200092e0051f809", + "0xbc024e3014bc02438024d8024a5014d802438024d8024e3014050e0090140b", + "0x12d024053f805224090e00934c09094051d8090e0091fc092e0051d4090e009", + "0x929405144090e0091440938c0501438024ba02476014050e0090140b01405", + "0x3b024250147602438024f1024b801475024380247a024e30147a0243802451", + "0x90e009224b602c37014b602438024050e40501438024053e805224090e009", + "0x750243802475024e3014ec02438024ec024dd0148302438024b2024a6014b2", + "0x502c0520c761d4ec3480920c090e00920c092e8051d8090e0091d8092e005", + "0xaa02438024050d4052cc090e0090b8092940501438024ba02476014050e009", + "0x52cc090e0092cc0938c053bc090e0093bc09374052a0090e0092a80929805", + "0x90140b014a802cb33bcd2024a802438024a8024ba0140b024380240b024b8", + "0x8d02438024bb024dd014a702438024f3024a5014050e0093e8093d40501438", + "0x38024053e805014380240502c050152e024053f80526c090e00929c0938c05", + "0xdd0140a02438024fb024a5014050e0093e8093d40501438024f40245701405", + "0x98024a60149802438024051640526c090e0090280938c05234090e00934809", + "0x902c092e00526c090e00926c0938c05234090e0092340937405000090e009", + "0xf0014050e0090140b0140002c9b234d2024000243802400024ba0140b02438", + "0x942c092980542c090e009014350150a02438024e3024a5014050e00929409", + "0x380240b024b80150a024380250a024e3014dd02438024dd024dd0150c02438", + "0xb024050143802405014054300b428dd34809430090e009430092e80502c09", + "0xe90243802426024a5014050e0090140b014e33740b4bc263480b0e00b02405", + "0x53a4090e0093a40938c05348090e0093480937405404090e0092940934805", + "0x50143802500024f5014050e0090140b014fe025303fd0002c3802d01024e9", + "0xfc024a6014fc02438024053c8053f4090e0093a4092940501438024ff024f4", + "0x902c092e0053f4090e0093f40938c05348090e00934809374053ec090e009", + "0xf5014050e0090140b014fb02cfd348d2024fb02438024fb024ba0140b02438", + "0x93e80938c053e4090e009014bb014fa02438024e9024a5014050e0093f809", + "0xf602d313dcf802c3802cf93e8d2294c4014f902438024f9024bf014fa02438", + "0x92cc053cc090e00901489014f402438024f7024a5014050e0090140b014f5", + "0xb8024a7014050e009298092a0052e0a602c38024f2024aa014f202438024f3", + "0x380240537c052fc090e0092ec09364052ec090e0092e809188052e8090e009", + "0x90e0092fc093ac05310090e00931009394053d0090e0093d00938c0531009", + "0xd929532350ce324a50e00b2fcc402cf4348ea014f802438024f8024dd014bf", + "0x53ac090e0093240929405324090e0093240938c05014380240502c05394df", + "0x75014eb02438024eb024e3014ce02438024ce024b8014d402438024d4024f7", + "0x2e02438024eb024a5014050e0090140b014ef025333b8ec02c3802cd43e00b", + "0x50a0090e0090a82c02c820142a02438024ee024b60142c02438024053b805", + "0xf10145002438024470244e014050e009094091340511c2502c380242802450", + "0x938c053b0090e0093b00937405138090e009134090ec05134090e00914009", + "0x2e3b0d20244e024380244e024ba014ce02438024ce024b80142e024380242e", + "0x81014f1024380240523405144090e0093ac0929405014380240502c05138ce", + "0x938c050dc090e0093bc0937405014380243b024de014390ec0b0e0093c409", + "0x9014fe014590243802439024250145702438024ce024b8014350243802451", + "0x53c0090e0093640929405364090e0093640938c05014380240502c0501534", + "0x250145702438024df024b80143502438024f0024e30143702438024f8024dd", + "0x929805174090e0091645c02c370145c02438024050e405164090e00939409", + "0x57024b8014350243802435024e3014370243802437024dd0145f024380245d", + "0x5014380240502c0517c570d4373480917c090e00917c092e80515c090e009", + "0x9374053a8090e0091880929805188090e00901435014ed02438024f5024a5", + "0xea024ba0140b024380240b024b8014ed02438024ed024e3014f602438024f6", + "0xa5014050e009294093c005014380240502c053a80b3b4f6348093a8090e009", + "0xdd024dd0148102438024e4024a6014e402438024050d405208090e00938c09", + "0x9204092e80502c090e00902c092e005208090e0092080938c05374090e009", + "0x263480b0e00b0240502c09014050e009014050148102c82374d20248102438", + "0x90e00929409348053a4090e0090980929405014380240502c0538cdd02d35", + "0xe9014e902438024e9024e3014d202438024d2024dd014050e0090142601501", + "0x53f4090e0093a40929405014380240502c053f8094d8ff4000b0e00b40409", + "0xff014fa024380250002500014fb02438024fd024e3014fc02438024ff02501", + "0x90e0093a40929405014380240502c0501537024053f8053e4090e0093f009", + "0x53ec090e0093e00938c053d8090e0093dc093f0053dc090e009014fd014f8", + "0x94e0f50243802cf9024fb014f902438024f6024ff014fa02438024fe02500", + "0xf5024f9014f302438024fb024a5014050e009014fa014050e0090140b014f4", + "0x93cc0938c05298090e009298093dc05298090e0093c8093e0053c8090e009", + "0x5014380240502c05310bf2eca54e4ba2e00b0e00b298d202c9b014f302438", + "0xe9014c902438024c9024e3014b802438024b8024dd014c902438024f3024a5", + "0xf4014050e009338093d405014380240502c05364094e8d43380b0e00b3e809", + "0x38024053c80537c090e009324092940501438024ba0240a014050e00935009", + "0x90e00937c0938c052e0090e0092e009374053ac090e009394092980539409", + "0xb014eb02cdf2e0d2024eb02438024eb024ba0140b024380240b024b8014df", + "0x90e009014bb014ec02438024c9024a5014050e009364093d4050143802405", + "0x3802cee3b0b8294c4014ee02438024ee024bf014ec02438024ec024e3014ee", + "0x90149801428024380242e024a5014050e0090140b0142a0b00b4ec2e3bc0b", + "0x90940936405140090e00911c094280511cba02c38024ba024000142502438", + "0x50a0090e0090a00938c05014380240509805138090e009014df0144d02438", + "0xec014ef02438024ef024dd0144d024380244d024eb0144e024380244e024e5", + "0x938c05014380240502c050dc390eca54f0f11440b0e00b1404d1380b0a026", + "0x38024053b80515c090e009014ee014350243802451024a5014510243802451", + "0xb0e009170090b005170090e0093c009430053c0090e0092e80942c0516409", + "0x570243802457024250145f024380245f02428014050e009174090a80517c5d", + "0x38024ed02450014623b40b0e0091645717ca511c05164090e0091640909405", + "0x38024e40244d014813900b0e009188091400501438024ea0244d014823a80b", + "0x350243802435024e30148002438024810244e014de02438024820244e01405", + "0xfa014050e0090140b014cd1f8d32953d1fcd802c3802c80378f10d4d214405", + "0x38024053b8051f4090e0093600929405360090e0093600938c050143802405", + "0x90e00930c0913805014380247c0244d014c31f00b0e009320091400532009", + "0xef02438024ef024dd0147502438024bc0243b014bc024380247b024f10147b", + "0x91d4090e0091d4092e8051fc090e0091fc092e0051f4090e0091f40938c05", + "0x38024d3024a5014d302438024d3024e3014050e0090140b014751fc7d3bcd2", + "0x90e00933409094051e8090e0091f8092e005224090e0091d80938c051d809", + "0x90ec0938c0501438024ba0240a014050e0090140b014054f809014fe014b6", + "0x3802439024b80148902438024b2024e3014b2024380243b024a50143b02438", + "0x370148302438024050e40501438024053e8052d8090e0090dc09094051e809", + "0xe3014ef02438024ef024dd014aa02438024b3024a6014b302438024b620c0b", + "0xef348092a8090e0092a8092e8051e8090e0091e8092e005224090e00922409", + "0x52a0090e0090a8092940501438024ba0240a014050e0090140b014aa1e889", + "0x938c050b0090e0090b00937405234090e00929c092980529c090e00901435", + "0xa80b0d20248d024380248d024ba0140b024380240b024b8014a802438024a8", + "0x93d40501438024c40240a014050e0092fc0902805014380240502c052340b", + "0x926c0938c05028090e0092ec093740526c090e0093cc092940501438024fa", + "0xf402457014050e009014fa014050e0090140b014054fc09014fe0149802438", + "0x90e0093480937405000090e0093ec092940501438024fa024f5014050e009", + "0x542c090e0094280929805428090e00901459014980243802400024e30140a", + "0xba0140b024380240b024b8014980243802498024e30140a024380240a024dd", + "0x50e009294093c005014380240502c0542c0b2600a3480942c090e00942c09", + "0xdd015410243802540024a60154002438024050d405430090e00938c0929405", + "0x92e80502c090e00902c092e005430090e0094300938c05374090e00937409", + "0xb0e00b0240502c09014050e009014050154102d0c374d2025410243802541", + "0x929409348053a4090e0090980929405014380240502c0538cdd02d42098d2", + "0x3802d01024e9014e902438024e9024e3014d202438024d2024dd0150102438", + "0x38024ff024f4014050e009400093d405014380240502c053f80950cff4000b", + "0x53ec090e0093f009298053f0090e009014f2014fd02438024e9024a501405", + "0xba0140b024380240b024b8014fd02438024fd024e3014d202438024d2024dd", + "0x50e0093f8093d405014380240502c053ec0b3f4d2348093ec090e0093ec09", + "0xbf014fa02438024fa024e3014f902438024052ec053e8090e0093a40929405", + "0x90140b014f53d80b510f73e00b0e00b3e4fa348a5310053e4090e0093e409", + "0xf202438024f302540014f30243802405260053d0090e0093dc092940501438", + "0x52e8090e0092e0095180501438024a602545014b82980b0e0093c80950405", + "0x938c05310090e009014df014bf02438024bb024d9014bb02438024ba02462", + "0xf8024dd014bf02438024bf024eb014c402438024c4024e5014f402438024f4", + "0x502c05394df364a551cd4338c92943802cbf3100b3d0d23a8053e0090e009", + "0x38024d4024f7014eb02438024c9024a5014c902438024c9024e3014050e009", + "0x3802cd43e00b26c053ac090e0093ac0938c05338090e009338092e00535009", + "0x53b8050a8090e0093ac0929405014380240502c050b02e3bca5520ee3b00b", + "0x47024500144702438024250a00b20805094090e0093b809428050a0090e009", + "0x9138093c405138090e009134091380501438024500244d0144d1400b0e009", + "0x380242a024e3014ec02438024ec024dd014f102438024510243b0145102438", + "0x53c4ce0a8ec348093c4090e0093c4092e805338090e009338092e0050a809", + "0x38024eb024a5014050e0090b00902805014380242e0240a014050e0090140b", + "0x50e0090dc09378050d43702c380243902481014390243802405524050ec09", + "0x53c0090e009338092e005164090e0090ec0938c0515c090e0093bc0937405", + "0x38024d9024e3014050e0090140b0140552809014fe0145c024380243502425", + "0x90e0091740938c0515c090e0093e00937405174090e009364092940536409", + "0x517c090e009014390145c02438024e502425014f002438024df024b801459", + "0x515c090e00915c0937405188090e0093b409298053b4090e0091705f02c37", + "0xd2024620243802462024ba014f002438024f0024b8014590243802459024e3", + "0x8202438024050d4053a8090e0093d40929405014380240502c05188f016457", + "0x53a8090e0093a80938c053d8090e0093d80937405390090e0092080929805", + "0x90140b014e402cea3d8d2024e402438024e4024ba0140b024380240b024b8", + "0x5378090e009014350148102438024e3024a5014050e009294093c00501438", + "0xb8014810243802481024e3014dd02438024dd024dd0148002438024de024a6", + "0x3802405014052000b204dd34809200090e009200092e80502c090e00902c09", + "0x26024a5014050e0090140b014e33740b52c263480b0e00b0240502c0901405", + "0x90e0093480937405014380240509805404090e00929409348053a4090e009", + "0x90140b014fe0254c3fd0002c3802d01024e9014e902438024e9024e3014d2", + "0x90e0093f40938c053f0090e0093fc09404053f4090e0093a4092940501438", + "0xb0140553409014fe014f902438024fc024ff014fa024380250002500014fb", + "0x38024f7024fc014f702438024053f4053e0090e0093a409294050143802405", + "0x90e0093d8093fc053e8090e0093f809400053ec090e0093e00938c053d809", + "0x501438024053e805014380240502c053d009538f50243802cf9024fb014f9", + "0xf7014a602438024f2024f8014f202438024f5024f9014f302438024fb024a5", + "0x14f2e8b802c3802ca63480b41c053cc090e0093cc0938c05298090e00929809", + "0x52e0090e0092e009374052fc090e0093cc0929405014380240502c052ec09", + "0x50e0090140b014ce02550324c402c3802cfa024e9014bf02438024bf024e3", + "0xbf024a5014050e0092e8095440501438024c9024f4014050e009310093d405", + "0x38024b8024dd014df02438024d9024a6014d902438024053c805350090e009", + "0x90e00937c092e80502c090e00902c092e005350090e0093500938c052e009", + "0x92fc092940501438024ce024f5014050e0090140b014df02cd42e0d2024df", + "0x90e0093ac092fc05394090e0093940938c053ac090e009014bb014e502438", + "0x929405014380240502c050b8ef02d523b8ec02c3802ceb394b8294c4014eb", + "0x2802555014282e80b0e0092e809550050a8090e009015530142c02438024ee", + "0x50e0090142601450024380240537c0511c090e0090a80936405094090e009", + "0x511c090e00911c093ac05140090e00914009394050b0090e0090b00938c05", + "0x3b3c451295561384d02c3802c2511c5002c2c098ec014ec02438024ec024dd", + "0x53b8050e4090e0091340929405134090e0091340938c05014380240502c05", + "0x3802457025580145702438024ba025570143502438024053b8050dc090e009", + "0x90e009170090a00501438024f00242a0145c3c00b0e009164090b00516409", + "0x38024350dc5c2944701435024380243502425014370243802437024250145c", + "0x380245f02450014050e0093b40913405188ed02c380245d024500145f1740b", + "0x90e0092080913805390090e009188091380501438024ea0244d014823a80b", + "0x7f360a5564803780b0e00b204e41383934851014390243802439024e301481", + "0xde024a5014de02438024de024e3014050e009014fa014050e0090140b014d3", + "0x91f409134053207d02c38024cd02450014cd02438024053b8051f8090e009", + "0x90e00930c090ec0530c090e0091f0093c4051f0090e009320091380501438", + "0x800243802480024b80147e024380247e024e3014ec02438024ec024dd0147b", + "0x93600938c05014380240502c051ec801f8ec348091ec090e0091ec092e805", + "0x380247f024b80147502438024bc024e3014bc02438024d8024a5014d802438", + "0x954405014380240502c050155a024053f805224090e00934c09094051d809", + "0x91e80938c051e8090e0091440929405144090e0091440938c0501438024ba", + "0x50e009014fa01489024380243b024250147602438024f1024b80147502438", + "0x520c090e0092c809298052c8090e009224b602c37014b602438024050e405", + "0xba014760243802476024b8014750243802475024e3014ec02438024ec024dd", + "0x50e0092e80954405014380240502c0520c761d4ec3480920c090e00920c09", + "0xdd014a802438024aa024a6014aa02438024050d4052cc090e0090b80929405", + "0x92e80502c090e00902c092e0052cc090e0092cc0938c053bc090e0093bc09", + "0x501438024fa024f5014050e0090140b014a802cb33bcd2024a802438024a8", + "0xfe0149b02438024a7024e30148d02438024bb024dd014a702438024f3024a5", + "0xf5014050e0093d00915c0501438024053e805014380240502c050155b02405", + "0xa024e30148d02438024d2024dd0140a02438024fb024a5014050e0093e809", + "0x380248d024dd014000243802498024a60149802438024051640526c090e009", + "0x90e009000092e80502c090e00902c092e00526c090e00926c0938c0523409", + "0x938c092940501438024a5024f0014050e0090140b0140002c9b234d202400", + "0x90e0093740937405430090e00942c092980542c090e009014350150a02438", + "0x10c024380250c024ba0140b024380240b024b80150a024380250a024e3014dd", + "0xdd02d5c098d202c3802c090140b024050143802405014054300b428dd34809", + "0xdd0150102438024a5024d2014e90243802426024a5014050e0090140b014e3", + "0x9574ff4000b0e00b404093a4053a4090e0093a40938c05348090e00934809", + "0xe9024a5014050e0093fc093d0050143802500024f5014050e0090140b014fe", + "0x38024d2024dd014fb02438024fc024a6014fc02438024053c8053f4090e009", + "0x90e0093ec092e80502c090e00902c092e0053f4090e0093f40938c0534809", + "0x93a4092940501438024fe024f5014050e0090140b014fb02cfd348d2024fb", + "0x90e0093e4092fc053e8090e0093e80938c053e4090e009014bb014fa02438", + "0x929405014380240502c053d4f602d5e3dcf802c3802cf93e8d2294c4014f9", + "0x93c80957c053c8090e0093cc09418053cc090e00901553014f402438024f7", + "0x38024ba02462014ba02438024b802561014050e00929809580052e0a602c38", + "0xf402438024f4024e3014c4024380240537c052fc090e0092ec09364052ec09", + "0x53e0090e0093e009374052fc090e0092fc093ac05310090e0093100939405", + "0xe3014050e0090140b014e537cd929562350ce324a50e00b2fcc402cf4348ea", + "0x92e005350090e009350093dc053ac090e0093240929405324090e00932409", + "0x958cee3b00b0e00b350f802d07014eb02438024eb024e3014ce02438024ce", + "0x9554050b0090e009014ee0142e02438024eb024a5014050e0090140b014ef", + "0x4d014470940b0e0090a009140050a0090e0090a82c02c820142a02438024ee", + "0x4d0243b0144d0243802450024f10145002438024470244e014050e00909409", + "0x9338092e0050b8090e0090b80938c053b0090e0093b00937405138090e009", + "0xa5014050e0090140b0144e3382e3b0d20244e024380244e024ba014ce02438", + "0x9378050e43b02c38024f102481014f1024380240559005144090e0093ac09", + "0x9338092e0050d4090e0091440938c050dc090e0093bc0937405014380243b", + "0xe3014050e0090140b0140559409014fe014590243802439024250145702438", + "0x938c050dc090e0093e009374053c0090e0093640929405364090e00936409", + "0x9014390145902438024e5024250145702438024df024b80143502438024f0", + "0x90dc093740517c090e0091740929805174090e0091645c02c370145c02438", + "0x380245f024ba014570243802457024b8014350243802435024e30143702438", + "0x50d4053b4090e0093d40929405014380240502c0517c570d4373480917c09", + "0x93b40938c053d8090e0093d809374053a8090e0091880929805188090e009", + "0xea02ced3d8d2024ea02438024ea024ba0140b024380240b024b8014ed02438", + "0x9014350148202438024e3024a5014050e009294093c005014380240502c05", + "0x3802482024e3014dd02438024dd024dd0148102438024e4024a6014e402438", + "0x52040b208dd34809204090e009204092e80502c090e00902c092e00520809", + "0x50e0090140b014e33740b598263480b0e00b0240502c09014050e00901405", + "0x937405014380240509805404090e00929409348053a4090e0090980929405", + "0xfe025673fd0002c3802d01024e9014e902438024e9024e3014d202438024d2", + "0x938c053f0090e0093fc09404053f4090e0093a40929405014380240502c05", + "0x9014fe014f902438024fc024ff014fa024380250002500014fb02438024fd", + "0xfc014f702438024053f4053e0090e0093a40929405014380240502c0501568", + "0x93fc053e8090e0093f809400053ec090e0093e00938c053d8090e0093dc09", + "0x53e805014380240502c053d0095a4f50243802cf9024fb014f902438024f6", + "0x38024f2024f8014f202438024f5024f9014f302438024fb024a5014050e009", + "0x3802ca63480b5a8053cc090e0093cc0938c05298090e009298093dc0529809", + "0x92e009374052fc090e0093cc0929405014380240502c052ec095acba2e00b", + "0xb014ce0256c324c402c3802cfa024e9014bf02438024bf024e3014b802438", + "0x50e0092e8095b40501438024c9024f4014050e009310093d4050143802405", + "0xdd014df02438024d9024a6014d902438024053c805350090e0092fc0929405", + "0x92e80502c090e00902c092e005350090e0093500938c052e0090e0092e009", + "0x501438024ce024f5014050e0090140b014df02cd42e0d2024df02438024df", + "0x92fc05394090e0093940938c053ac090e009014bb014e502438024bf024a5", + "0x380240502c050b8ef02d6e3b8ec02c3802ceb394b8294c4014eb02438024eb", + "0x282e80b0e0092e8095bc050a8090e009015080142c02438024ee024a501405", + "0x2601450024380240537c0511c090e0090a80936405094090e0090a0095c005", + "0x911c093ac05140090e00914009394050b0090e0090b00938c050143802405", + "0x1711384d02c3802c2511c5002c2c098ec014ec02438024ec024dd0144702438", + "0x90e0091340929405134090e0091340938c05014380240502c050ecf1144a5", + "0x1730145702438024ba025720143502438024053b8050dc090e009014ee01439", + "0x90a00501438024f00242a0145c3c00b0e009164090b005164090e00915c09", + "0x5c2944701435024380243502425014370243802437024250145c024380245c", + "0x50014050e0093b40913405188ed02c380245d024500145f1740b0e0090d437", + "0x913805390090e009188091380501438024ea0244d014823a80b0e00917c09", + "0x803780b0e00b204e41383934851014390243802439024e3014810243802482", + "0xde02438024de024e3014050e009014fa014050e0090140b014d31fcd829574", + "0x53207d02c38024cd02450014cd02438024053b8051f8090e0093780929405", + "0x90ec0530c090e0091f0093c4051f0090e0093200913805014380247d0244d", + "0x80024b80147e024380247e024e3014ec02438024ec024dd0147b02438024c3", + "0x5014380240502c051ec801f8ec348091ec090e0091ec092e805200090e009", + "0xb80147502438024bc024e3014bc02438024d8024a5014d802438024d8024e3", + "0x380240502c0501575024053f805224090e00934c09094051d8090e0091fc09", + "0x51e8090e0091440929405144090e0091440938c0501438024ba0256d01405", + "0xfa01489024380243b024250147602438024f1024b801475024380247a024e3", + "0x92c809298052c8090e009224b602c37014b602438024050e4050143802405", + "0x3802476024b8014750243802475024e3014ec02438024ec024dd0148302438", + "0x95b405014380240502c0520c761d4ec3480920c090e00920c092e8051d809", + "0x38024aa024a6014aa02438024050d4052cc090e0090b8092940501438024ba", + "0x90e00902c092e0052cc090e0092cc0938c053bc090e0093bc09374052a009", + "0xfa024f5014050e0090140b014a802cb33bcd2024a802438024a8024ba0140b", + "0x38024a7024e30148d02438024bb024dd014a702438024f3024a5014050e009", + "0x93d00915c0501438024053e805014380240502c0501576024053f80526c09", + "0x8d02438024d2024dd0140a02438024fb024a5014050e0093e8093d40501438", + "0xdd014000243802498024a60149802438024051640526c090e0090280938c05", + "0x92e80502c090e00902c092e00526c090e00926c0938c05234090e00923409", + "0x501438024a5024f0014050e0090140b0140002c9b234d2024000243802400", + "0x937405430090e00942c092980542c090e009014350150a02438024e3024a5", + "0x10c024ba0140b024380240b024b80150a024380250a024e3014dd02438024dd", + "0xd202c3802c090140b024050143802405014054300b428dd34809430090e009", + "0x38024a5024d2014e90243802426024a5014050e0090140b014e33740b5dc26", + "0xb0e00b404093a4053a4090e0093a40938c05348090e009348093740540409", + "0x50e0093fc093d0050143802500024f5014050e0090140b014fe025783fd00", + "0xdd014fb02438024fc024a6014fc02438024053c8053f4090e0093a40929405", + "0x92e80502c090e00902c092e0053f4090e0093f40938c05348090e00934809", + "0x501438024fe024f5014050e0090140b014fb02cfd348d2024fb02438024fb", + "0x92fc053e8090e0093e80938c053e4090e009014bb014fa02438024e9024a5", + "0x380240502c053d4f602d793dcf802c3802cf93e8d2294c4014f902438024f9", + "0x53c8090e0093cc095e8053cc090e00901508014f402438024f7024a501405", + "0x62014ba02438024b802434014050e009298095f0052e0a602c38024f20257b", + "0xf4024e3014c4024380240537c052fc090e0092ec09364052ec090e0092e809", + "0x93e009374052fc090e0092fc093ac05310090e00931009394053d0090e009", + "0x90140b014e537cd92957d350ce324a50e00b2fcc402cf4348ea014f802438", + "0x90e009350093dc053ac090e0093240929405324090e0093240938c0501438", + "0xb0e00b350f802d6a014eb02438024eb024e3014ce02438024ce024b8014d4", + "0x90e009014ee0142e02438024eb024a5014050e0090140b014ef0257e3b8ec", + "0xb0e0090a009140050a0090e0090a82c02c820142a02438024ee025700142c", + "0x4d0243802450024f10145002438024470244e014050e009094091340511c25", + "0x50b8090e0090b80938c053b0090e0093b00937405138090e009134090ec05", + "0x90140b0144e3382e3b0d20244e024380244e024ba014ce02438024ce024b8", + "0x3b02c38024f102481014f102438024050bc05144090e0093ac092940501438", + "0x50d4090e0091440938c050dc090e0093bc0937405014380243b024de01439", + "0x90140b014055fc09014fe014590243802439024250145702438024ce024b8", + "0x90e0093e009374053c0090e0093640929405364090e0093640938c0501438", + "0x5902438024e5024250145702438024df024b80143502438024f0024e301437", + "0x517c090e0091740929805174090e0091645c02c370145c02438024050e405", + "0xba014570243802457024b8014350243802435024e3014370243802437024dd", + "0x90e0093d40929405014380240502c0517c570d4373480917c090e00917c09", + "0x53d8090e0093d809374053a8090e0091880929805188090e00901435014ed", + "0xd2024ea02438024ea024ba0140b024380240b024b8014ed02438024ed024e3", + "0x8202438024e3024a5014050e009294093c005014380240502c053a80b3b4f6", + "0xe3014dd02438024dd024dd0148102438024e4024a6014e402438024050d405", + "0xdd34809204090e009204092e80502c090e00902c092e005208090e00920809", + "0xb014e33740b600263480b0e00b0240502c09014050e009014050148102c82", + "0x380240509805404090e00929409348053a4090e00909809294050143802405", + "0x10002c3802d01024e9014e902438024e9024e3014d202438024d2024dd01405", + "0x90e0093fc09404053f4090e0093a40929405014380240502c053f809604ff", + "0xf902438024fc024ff014fa024380250002500014fb02438024fd024e3014fc", + "0x38024053f4053e0090e0093a40929405014380240502c0501582024053f805", + "0x90e0093f809400053ec090e0093e00938c053d8090e0093dc093f0053dc09", + "0x380240502c053d00960cf50243802cf9024fb014f902438024f6024ff014fa", + "0xf8014f202438024f5024f9014f302438024fb024a5014050e009014fa01405", + "0xb610053cc090e0093cc0938c05298090e009298093dc05298090e0093c809", + "0x52fc090e0093cc0929405014380240502c052ec09614ba2e00b0e00b298d2", + "0x186324c402c3802cfa024e9014bf02438024bf024e3014b802438024b8024dd", + "0x961c0501438024c9024f4014050e009310093d405014380240502c0533809", + "0x38024d9024a6014d902438024053c805350090e0092fc092940501438024ba", + "0x90e00902c092e005350090e0093500938c052e0090e0092e0093740537c09", + "0xce024f5014050e0090140b014df02cd42e0d2024df02438024df024ba0140b", + "0x90e0093940938c053ac090e009014bb014e502438024bf024a5014050e009", + "0x50b8ef02d883b8ec02c3802ceb394b8294c4014eb02438024eb024bf014e5", + "0x92e809628050a8090e009015890142c02438024ee024a5014050e0090140b", + "0x380240537c0511c090e0090a80936405094090e0090a00962c050a0ba02c38", + "0x5140090e00914009394050b0090e0090b00938c0501438024050980514009", + "0x3802c2511c5002c2c098ec014ec02438024ec024dd014470243802447024eb", + "0x929405134090e0091340938c05014380240502c050ecf1144a56304e1340b", + "0x38024ba0258d0143502438024053b8050dc090e009014ee01439024380244d", + "0x38024f00242a0145c3c00b0e009164090b005164090e00915c096380515c09", + "0x35024380243502425014370243802437024250145c024380245c0242801405", + "0x93b40913405188ed02c380245d024500145f1740b0e0090d437170a511c05", + "0x90e009188091380501438024ea0244d014823a80b0e00917c091400501438", + "0xb204e41383934851014390243802439024e30148102438024820244e014e4", + "0xde024e3014050e009014fa014050e0090140b014d31fcd82958f200de02c38", + "0x38024cd02450014cd02438024053b8051f8090e0093780929405378090e009", + "0x90e0091f0093c4051f0090e0093200913805014380247d0244d014c81f40b", + "0x7e024380247e024e3014ec02438024ec024dd0147b02438024c30243b014c3", + "0x502c051ec801f8ec348091ec090e0091ec092e805200090e009200092e005", + "0x38024bc024e3014bc02438024d8024a5014d802438024d8024e3014050e009", + "0x501590024053f805224090e00934c09094051d8090e0091fc092e0051d409", + "0x91440929405144090e0091440938c0501438024ba02587014050e0090140b", + "0x380243b024250147602438024f1024b801475024380247a024e30147a02438", + "0x52c8090e009224b602c37014b602438024050e40501438024053e80522409", + "0xb8014750243802475024e3014ec02438024ec024dd0148302438024b2024a6", + "0x380240502c0520c761d4ec3480920c090e00920c092e8051d8090e0091d809", + "0xa6014aa02438024050d4052cc090e0090b8092940501438024ba0258701405", + "0x92e0052cc090e0092cc0938c053bc090e0093bc09374052a0090e0092a809", + "0x50e0090140b014a802cb33bcd2024a802438024a8024ba0140b024380240b", + "0xe30148d02438024bb024dd014a702438024f3024a5014050e0093e8093d405", + "0x501438024053e805014380240502c0501591024053f80526c090e00929c09", + "0xd2024dd0140a02438024fb024a5014050e0093e8093d40501438024f402457", + "0x3802498024a60149802438024051640526c090e0090280938c05234090e009", + "0x90e00902c092e00526c090e00926c0938c05234090e009234093740500009", + "0xa5024f0014050e0090140b0140002c9b234d2024000243802400024ba0140b", + "0x90e00942c092980542c090e009014350150a02438024e3024a5014050e009", + "0xb024380240b024b80150a024380250a024e3014dd02438024dd024dd0150c", + "0x90140b024050143802405014054300b428dd34809430090e009430092e805", + "0xd2014e90243802426024a5014050e0090140b014e33740b648263480b0e00b", + "0x93a4053a4090e0093a40938c05348090e0093480937405404090e00929409", + "0x93d0050143802500024f5014050e0090140b014fe025933fd0002c3802d01", + "0x38024fc024a6014fc02438024053c8053f4090e0093a4092940501438024ff", + "0x90e00902c092e0053f4090e0093f40938c05348090e00934809374053ec09", + "0xfe024f5014050e0090140b014fb02cfd348d2024fb02438024fb024ba0140b", + "0x90e0093e80938c053e4090e009014bb014fa02438024e9024a5014050e009", + "0x53d4f602d943dcf802c3802cf93e8d2294c4014f902438024f9024bf014fa", + "0x93cc09654053cc090e00901589014f402438024f7024a5014050e0090140b", + "0x38024b802597014050e00929809414052e0a602c38024f202596014f202438", + "0xc4024380240537c052fc090e0092ec09364052ec090e0092e809188052e809", + "0x52fc090e0092fc093ac05310090e00931009394053d0090e0093d00938c05", + "0xe537cd929598350ce324a50e00b2fcc402cf4348ea014f802438024f8024dd", + "0x93dc053ac090e0093240929405324090e0093240938c05014380240502c05", + "0xf802d84014eb02438024eb024e3014ce02438024ce024b8014d402438024d4", + "0xee0142e02438024eb024a5014050e0090140b014ef025993b8ec02c3802cd4", + "0x9140050a0090e0090a82c02c820142a02438024ee0258b0142c0243802405", + "0x50024f10145002438024470244e014050e009094091340511c2502c3802428", + "0x90b80938c053b0090e0093b00937405138090e009134090ec05134090e009", + "0x4e3382e3b0d20244e024380244e024ba014ce02438024ce024b80142e02438", + "0xf102481014f1024380240566805144090e0093ac0929405014380240502c05", + "0x91440938c050dc090e0093bc0937405014380243b024de014390ec0b0e009", + "0x566c09014fe014590243802439024250145702438024ce024b80143502438", + "0x9374053c0090e0093640929405364090e0093640938c05014380240502c05", + "0xe5024250145702438024df024b80143502438024f0024e30143702438024f8", + "0x91740929805174090e0091645c02c370145c02438024050e405164090e009", + "0x3802457024b8014350243802435024e3014370243802437024dd0145f02438", + "0x929405014380240502c0517c570d4373480917c090e00917c092e80515c09", + "0x93d809374053a8090e0091880929805188090e00901435014ed02438024f5", + "0x38024ea024ba0140b024380240b024b8014ed02438024ed024e3014f602438", + "0xe3024a5014050e009294093c005014380240502c053a80b3b4f6348093a809", + "0x38024dd024dd0148102438024e4024a6014e402438024050d405208090e009", + "0x90e009204092e80502c090e00902c092e005208090e0092080938c0537409", + "0xb670263480b0e00b0240502c09014050e009014050148102c82374d202481", + "0x5404090e00929409348053a4090e0090980929405014380240502c0538cdd", + "0x101024e9014e902438024e9024e3014d202438024d2024dd014050e00901426", + "0x9404053f4090e0093a40929405014380240502c053f809674ff4000b0e00b", + "0xfc024ff014fa024380250002500014fb02438024fd024e3014fc02438024ff", + "0x53e0090e0093a40929405014380240502c050159e024053f8053e4090e009", + "0x9400053ec090e0093e00938c053d8090e0093dc093f0053dc090e009014fd", + "0x53d00967cf50243802cf9024fb014f902438024f6024ff014fa02438024fe", + "0x38024f5024f9014f302438024fb024a5014050e009014fa014050e0090140b", + "0x90e0093cc0938c05298090e009298093dc05298090e0093c8093e0053c809", + "0x93cc0929405014380240502c052ec09684ba2e00b0e00b298d202da0014f3", + "0x3802cfa024e9014bf02438024bf024e3014b802438024b8024dd014bf02438", + "0x38024c9024f4014050e009310093d405014380240502c0533809688c93100b", + "0xa6014d902438024053c805350090e0092fc092940501438024ba025a301405", + "0x92e005350090e0093500938c052e0090e0092e0093740537c090e00936409", + "0x50e0090140b014df02cd42e0d2024df02438024df024ba0140b024380240b", + "0x938c053ac090e009014bb014e502438024bf024a5014050e009338093d405", + "0x1a43b8ec02c3802ceb394b8294c4014eb02438024eb024bf014e502438024e5", + "0x50a8090e009015a50142c02438024ee024a5014050e0090140b0142e3bc0b", + "0x511c090e0090a80936405094090e0090a009698050a0ba02c38024ba02504", + "0x914009394050b0090e0090b00938c05014380240509805140090e009014df", + "0x5002c2c098ec014ec02438024ec024dd014470243802447024eb0145002438", + "0x90e0091340938c05014380240502c050ecf1144a569c4e1340b0e00b09447", + "0x1a80143502438024053b8050dc090e009014ee01439024380244d024a50144d", + "0x2a0145c3c00b0e009164090b005164090e00915c096a40515c090e0092e809", + "0x3502425014370243802437024250145c024380245c02428014050e0093c009", + "0x5188ed02c380245d024500145f1740b0e0090d437170a511c050d4090e009", + "0x91380501438024ea0244d014823a80b0e00917c091400501438024ed0244d", + "0x3934851014390243802439024e30148102438024820244e014e40243802462", + "0x50e009014fa014050e0090140b014d31fcd8295aa200de02c3802c813904e", + "0x50014cd02438024053b8051f8090e0093780929405378090e0093780938c05", + "0x93c4051f0090e0093200913805014380247d0244d014c81f40b0e00933409", + "0x7e024e3014ec02438024ec024dd0147b02438024c30243b014c3024380247c", + "0x801f8ec348091ec090e0091ec092e805200090e009200092e0051f8090e009", + "0xe3014bc02438024d8024a5014d802438024d8024e3014050e0090140b0147b", + "0x53f805224090e00934c09094051d8090e0091fc092e0051d4090e0092f009", + "0x5144090e0091440938c0501438024ba025a3014050e0090140b014056ac09", + "0x250147602438024f1024b801475024380247a024e30147a0243802451024a5", + "0x9224b602c37014b602438024050e40501438024053e805224090e0090ec09", + "0x3802475024e3014ec02438024ec024dd0148302438024b2024a6014b202438", + "0x520c761d4ec3480920c090e00920c092e8051d8090e0091d8092e0051d409", + "0x38024050d4052cc090e0090b8092940501438024ba025a3014050e0090140b", + "0x90e0092cc0938c053bc090e0093bc09374052a0090e0092a809298052a809", + "0xb014a802cb33bcd2024a802438024a8024ba0140b024380240b024b8014b3", + "0x38024bb024dd014a702438024f3024a5014050e0093e8093d4050143802405", + "0x53e805014380240502c05015ac024053f80526c090e00929c0938c0523409", + "0xa02438024fb024a5014050e0093e8093d40501438024f402457014050e009", + "0xa60149802438024051640526c090e0090280938c05234090e0093480937405", + "0x92e00526c090e00926c0938c05234090e0092340937405000090e00926009", + "0x50e0090140b0140002c9b234d2024000243802400024ba0140b024380240b", + "0x92980542c090e009014350150a02438024e3024a5014050e009294093c005", + "0xb024b80150a024380250a024e3014dd02438024dd024dd0150c024380250b", + "0x50143802405014054300b428dd34809430090e009430092e80502c090e009", + "0x3802426024a5014050e0090140b014e33740b6b4263480b0e00b0240502c09", + "0x90e0093a40938c05348090e0093480937405404090e00929409348053a409", + "0x3802500024f5014050e0090140b014fe025ae3fd0002c3802d01024e9014e9", + "0xa6014fc02438024053c8053f4090e0093a4092940501438024ff024f401405", + "0x92e0053f4090e0093f40938c05348090e00934809374053ec090e0093f009", + "0x50e0090140b014fb02cfd348d2024fb02438024fb024ba0140b024380240b", + "0x938c053e4090e009014bb014fa02438024e9024a5014050e0093f8093d405", + "0x1af3dcf802c3802cf93e8d2294c4014f902438024f9024bf014fa02438024fa", + "0x53cc090e009015a5014f402438024f7024a5014050e0090140b014f53d80b", + "0x109014050e009298096c8052e0a602c38024f2025b1014f202438024f3025b0", + "0x537c052fc090e0092ec09364052ec090e0092e809188052e8090e0092e009", + "0x92fc093ac05310090e00931009394053d0090e0093d00938c05310090e009", + "0x1b3350ce324a50e00b2fcc402cf4348ea014f802438024f8024dd014bf02438", + "0x90e0093240929405324090e0093240938c05014380240502c05394df364a5", + "0xeb02438024eb024e3014ce02438024ce024b8014d402438024d4024f7014eb", + "0x38024eb024a5014050e0090140b014ef025b43b8ec02c3802cd43e00b68005", + "0x90e0090a82c02c820142a02438024ee025a60142c02438024053b8050b809", + "0x5002438024470244e014050e009094091340511c2502c38024280245001428", + "0x53b0090e0093b00937405138090e009134090ec05134090e009140093c405", + "0xd20244e024380244e024ba014ce02438024ce024b80142e024380242e024e3", + "0xf102438024056d405144090e0093ac0929405014380240502c05138ce0b8ec", + "0x50dc090e0093bc0937405014380243b024de014390ec0b0e0093c40920405", + "0xfe014590243802439024250145702438024ce024b8014350243802451024e3", + "0x90e0093640929405364090e0093640938c05014380240502c05015b602405", + "0x5702438024df024b80143502438024f0024e30143702438024f8024dd014f0", + "0x5174090e0091645c02c370145c02438024050e405164090e0093940909405", + "0xb8014350243802435024e3014370243802437024dd0145f024380245d024a6", + "0x380240502c0517c570d4373480917c090e00917c092e80515c090e00915c09", + "0x53a8090e0091880929805188090e00901435014ed02438024f5024a501405", + "0xba0140b024380240b024b8014ed02438024ed024e3014f602438024f6024dd", + "0x50e009294093c005014380240502c053a80b3b4f6348093a8090e0093a809", + "0xdd0148102438024e4024a6014e402438024050d405208090e00938c0929405", + "0x92e80502c090e00902c092e005208090e0092080938c05374090e00937409", + "0xb0e00b0240502c09014050e009014050148102c82374d2024810243802481", + "0x929409348053a4090e0090980929405014380240502c0538cdd02db7098d2", + "0xe902438024e9024e3014d202438024d2024dd014050e009014260150102438", + "0x90e0093a40929405014380240502c053f8096e0ff4000b0e00b404093a405", + "0xfa024380250002500014fb02438024fd024e3014fc02438024ff02501014fd", + "0x93a40929405014380240502c05015b9024053f8053e4090e0093f0093fc05", + "0x90e0093e00938c053d8090e0093dc093f0053dc090e009014fd014f802438", + "0xf50243802cf9024fb014f902438024f6024ff014fa02438024fe02500014fb", + "0xf9014f302438024fb024a5014050e009014fa014050e0090140b014f4025ba", + "0x938c05298090e009298093dc05298090e0093c8093e0053c8090e0093d409", + "0x5014380240502c052ec096f0ba2e00b0e00b298d202dbb014f302438024f3", + "0xe9014bf02438024bf024e3014b802438024b8024dd014bf02438024f3024a5", + "0xf4014050e009310093d405014380240502c05338096f4c93100b0e00b3e809", + "0x38024053c805350090e0092fc092940501438024ba025be014050e00932409", + "0x90e0093500938c052e0090e0092e0093740537c090e009364092980536409", + "0xb014df02cd42e0d2024df02438024df024ba0140b024380240b024b8014d4", + "0x90e009014bb014e502438024bf024a5014050e009338093d4050143802405", + "0x3802ceb394b8294c4014eb02438024eb024bf014e502438024e5024e3014eb", + "0x9015c00142c02438024ee024a5014050e0090140b0142e3bc0b6fcee3b00b", + "0x90a80936405094090e0090a009708050a0ba02c38024ba025c10142a02438", + "0x50b0090e0090b00938c05014380240509805140090e009014df0144702438", + "0xec014ec02438024ec024dd014470243802447024eb014500243802450024e5", + "0x938c05014380240502c050ecf1144a570c4e1340b0e00b094471400b0b026", + "0x38024053b8050dc090e009014ee01439024380244d024a50144d024380244d", + "0xb0e009164090b005164090e00915c097100515c090e0092e80940c050d409", + "0x370243802437024250145c024380245c02428014050e0093c0090a805170f0", + "0x380245d024500145f1740b0e0090d437170a511c050d4090e0090d40909405", + "0x38024ea0244d014823a80b0e00917c091400501438024ed0244d014623b40b", + "0x390243802439024e30148102438024820244e014e402438024620244e01405", + "0xfa014050e0090140b014d31fcd8295c5200de02c3802c813904e0e4d214405", + "0x38024053b8051f8090e0093780929405378090e0093780938c050143802405", + "0x90e0093200913805014380247d0244d014c81f40b0e009334091400533409", + "0xec02438024ec024dd0147b02438024c30243b014c3024380247c024f10147c", + "0x91ec090e0091ec092e805200090e009200092e0051f8090e0091f80938c05", + "0x38024d8024a5014d802438024d8024e3014050e0090140b0147b2007e3b0d2", + "0x90e00934c09094051d8090e0091fc092e0051d4090e0092f00938c052f009", + "0x91440938c0501438024ba025be014050e0090140b0140571809014fe01489", + "0x38024f1024b801475024380247a024e30147a0243802451024a50145102438", + "0x37014b602438024050e40501438024053e805224090e0090ec09094051d809", + "0xe3014ec02438024ec024dd0148302438024b2024a6014b202438024892d80b", + "0xec3480920c090e00920c092e8051d8090e0091d8092e0051d4090e0091d409", + "0x52cc090e0090b8092940501438024ba025be014050e0090140b014831d875", + "0x938c053bc090e0093bc09374052a0090e0092a809298052a8090e00901435", + "0xb33bcd2024a802438024a8024ba0140b024380240b024b8014b302438024b3", + "0xdd014a702438024f3024a5014050e0093e8093d405014380240502c052a00b", + "0x380240502c05015c7024053f80526c090e00929c0938c05234090e0092ec09", + "0xfb024a5014050e0093e8093d40501438024f402457014050e009014fa01405", + "0x38024051640526c090e0090280938c05234090e0093480937405028090e009", + "0x90e00926c0938c05234090e0092340937405000090e009260092980526009", + "0xb0140002c9b234d2024000243802400024ba0140b024380240b024b80149b", + "0x90e009014350150a02438024e3024a5014050e009294093c0050143802405", + "0x10a024380250a024e3014dd02438024dd024dd0150c024380250b024a60150b", + "0x5014054300b428dd34809430090e009430092e80502c090e00902c092e005", + "0xa5014050e0090140b014e33740b720263480b0e00b0240502c09014050e009", + "0x938c05348090e0093480937405404090e00929409348053a4090e00909809", + "0xf5014050e0090140b014fe025c93fd0002c3802d01024e9014e902438024e9", + "0x38024053c8053f4090e0093a4092940501438024ff024f4014050e00940009", + "0x90e0093f40938c05348090e00934809374053ec090e0093f009298053f009", + "0xb014fb02cfd348d2024fb02438024fb024ba0140b024380240b024b8014fd", + "0x90e009014bb014fa02438024e9024a5014050e0093f8093d4050143802405", + "0x3802cf93e8d2294c4014f902438024f9024bf014fa02438024fa024e3014f9", + "0x9015c0014f402438024f7024a5014050e0090140b014f53d80b728f73e00b", + "0x929809734052e0a602c38024f2025cc014f202438024f3025cb014f302438", + "0x90e0092ec09364052ec090e0092e809188052e8090e0092e0097380501438", + "0x5310090e00931009394053d0090e0093d00938c05310090e009014df014bf", + "0xa50e00b2fcc402cf4348ea014f802438024f8024dd014bf02438024bf024eb", + "0x929405324090e0093240938c05014380240502c05394df364a573cd4338c9", + "0xeb024e3014ce02438024ce024b8014d402438024d4024f7014eb02438024c9", + "0xa5014050e0090140b014ef025d03b8ec02c3802cd43e00b6ec053ac090e009", + "0x2c02c820142a02438024ee025c20142c02438024053b8050b8090e0093ac09", + "0x470244e014050e009094091340511c2502c38024280245001428024380242a", + "0x93b00937405138090e009134090ec05134090e009140093c405140090e009", + "0x380244e024ba014ce02438024ce024b80142e024380242e024e3014ec02438", + "0x574405144090e0093ac0929405014380240502c05138ce0b8ec3480913809", + "0x93bc0937405014380243b024de014390ec0b0e0093c409204053c4090e009", + "0x3802439024250145702438024ce024b8014350243802451024e30143702438", + "0x929405364090e0093640938c05014380240502c05015d2024053f80516409", + "0xdf024b80143502438024f0024e30143702438024f8024dd014f002438024d9", + "0x91645c02c370145c02438024050e405164090e009394090940515c090e009", + "0x3802435024e3014370243802437024dd0145f024380245d024a60145d02438", + "0x517c570d4373480917c090e00917c092e80515c090e00915c092e0050d409", + "0x91880929805188090e00901435014ed02438024f5024a5014050e0090140b", + "0x380240b024b8014ed02438024ed024e3014f602438024f6024dd014ea02438", + "0x93c005014380240502c053a80b3b4f6348093a8090e0093a8092e80502c09", + "0x38024e4024a6014e402438024050d405208090e00938c092940501438024a5", + "0x90e00902c092e005208090e0092080938c05374090e009374093740520409", + "0x502c09014050e009014050148102c82374d2024810243802481024ba0140b", + "0x53a4090e0090980929405014380240502c0538cdd02dd3098d202c3802c09", + "0xe9024e3014d202438024d2024dd014050e009014260150102438024a5024d2", + "0x929405014380240502c053f809750ff4000b0e00b404093a4053a4090e009", + "0x10002500014fb02438024fd024e3014fc02438024ff02501014fd02438024e9", + "0x5014380240502c05015d5024053f8053e4090e0093f0093fc053e8090e009", + "0x938c053d8090e0093dc093f0053dc090e009014fd014f802438024e9024a5", + "0xf9024fb014f902438024f6024ff014fa02438024fe02500014fb02438024f8", + "0x38024fb024a5014050e009014fa014050e0090140b014f4025d63d4090e00b", + "0x90e009298093dc05298090e0093c8093e0053c8090e0093d4093e4053cc09", + "0x502c052ec0975cba2e00b0e00b298d202cf6014f302438024f3024e3014a6", + "0xb802438024b8024dd014050e00901426014bf02438024f3024a5014050e009", + "0x380240502c0533809760c93100b0e00b3e8093a4052fc090e0092fc0938c05", + "0xdf02438024d4024e3014d902438024c902501014d402438024bf024a501405", + "0x502c05015d9024053f8053ac090e009364093fc05394090e0093100940005", + "0x90e0093b8093f0053b8090e009014fd014ec02438024bf024a5014050e009", + "0xeb02438024ef024ff014e502438024ce02500014df02438024ec024e3014ef", + "0x2a02438024df024a5014050e0090140b0142c025da0b8090e00b3ac093ec05", + "0x5094090e009094093dc05094090e0090a0093e0050a0090e0090b8093e405", + "0x380240502c051340976c5011c0b0e00b094b802c800142a024380242a024e3", + "0x4e024380244e024e3014470243802447024dd0144e024380242a024a501405", + "0x90e0091380929405014380240502c050ec09770f11440b0e00b394093a405", + "0x57024380245102500014350243802439024e30143702438024f10250101439", + "0x91380929405014380240502c05015dd024053f805164090e0090dc093fc05", + "0x90e0093c00938c05174090e009170093f005170090e009014fd014f002438", + "0x5f0243802c59024fb01459024380245d024ff01457024380243b0250001435", + "0xea024380245f024f9014620243802435024a5014050e0090140b014ed025de", + "0x5188090e0091880938c05208090e009208093dc05208090e0093a8093e005", + "0x90e0091880929405014380240502c053780977c813900b0e00b2084702c75", + "0xd802c3802c57024e9014800243802480024e3014e402438024e4024dd01480", + "0x90e0091fc09404051f8090e0092000929405014380240502c0534c097807f", + "0x7c02438024cd024ff014c802438024d8025000147d024380247e024e3014cd", + "0x38024053f40530c090e0092000929405014380240502c05015e1024053f805", + "0x90e00934c09400051f4090e00930c0938c052f0090e0091ec093f0051ec09", + "0x380240502c051d809788750243802c7c024fb0147c02438024bc024ff014c8", + "0xb6024380247a024f80147a0243802475024f901489024380247d024a501405", + "0xb202c3802cb63900b26c05224090e0092240938c052d8090e0092d8093dc05", + "0x92c8093740529c090e0092240929405014380240502c052a0aa2cca578c83", + "0xb0140a025e426c8d02c3802cc8024e9014a702438024a7024e3014b202438", + "0x5014380249b024f4014050e009234093d40501438024053e8050143802405", + "0x92e8093cc050143802450024d8014050e009204091d80501438024830240a", + "0x10a0243802400024a60140002438024053c805260090e00929c092940501438", + "0x502c090e00902c092e005260090e0092600938c052c8090e0092c80937405", + "0x380240a024f5014050e0090140b0150a02c982c8d20250a024380250a024ba", + "0x542c090e00942c0938c05430090e009014bb0150b02438024a7024a501405", + "0x502c055194502de55054002c3802d0c42cb2294c40150c024380250c024bf", + "0x541c090e009015e6015490243802541024a5014050e009014fa014050e009", + "0x1e8014ba02438024ba025e70140b024380240b024b8015490243802549024e3", + "0xe37ac0520c090e00920c097a805204090e009204097a405140090e00914009", + "0x154025ec015400243802540024dd0155454d512943802483204502e90702d49", + "0x954409294050143802555025ee014050e0090140b01557025ed554090e00b", + "0x380255f0244d0156057c0b0e0094180914005418090e009014ee0155802438", + "0x16a02438025640243b015640243802561024f10156102438025600244e01405", + "0x554c090e00954c092e005560090e0095600938c05500090e0095000937405", + "0x3802551024a5014050e0090140b0156a54d58500d20256a024380256a024ba", + "0x90e0095b40938c05500090e0095000937405420090e00955c09298055b409", + "0xb0150854d6d500d2025080243802508024ba015530243802553024b80156d", + "0x5014380248102476014050e00920c090280501438024053e8050143802405", + "0x9014350156f0243802546024a5014050e0092e8093cc050143802450024d8", + "0x380256f024e3015450243802545024dd015720243802570024a60157002438", + "0x55c80b5bd45348095c8090e0095c8092e80502c090e00902c092e0055bc09", + "0x50e0092a0090280501438024aa0240a014050e009014fa014050e0090140b", + "0x50024d8014050e009204091d80501438024ba024f3014050e009320093d405", + "0x3802573024e30157a02438024b3024dd015730243802489024a5014050e009", + "0x91d80915c0501438024053e805014380240502c05015ef024053f8055ec09", + "0xd8014050e009204091d80501438024ba024f3014050e009320093d40501438", + "0x17c024e30157a02438024e4024dd0157c024380247d024a5014050e00914009", + "0x380257a024dd0142f0243802434024a60143402438024057c0055ec090e009", + "0x90e0090bc092e80502c090e00902c092e0055ec090e0095ec0938c055e809", + "0x3802457024f5014050e009014fa014050e0090140b0142f02d7b5e8d20242f", + "0xdd015840243802462024a5014050e009140093600501438024ba024f301405", + "0x380240502c05015f1024053f805624090e0096100938c0561c090e00937809", + "0xba024f3014050e00915c093d40501438024ed02457014050e009014fa01405", + "0x90e00911c0937405628090e0090d409294050143802450024d8014050e009", + "0x5634090e00962c092980562c090e009015f201589024380258a024e301587", + "0xba0140b024380240b024b8015890243802589024e3015870243802587024dd", + "0x501438024053e805014380240502c056340b6258734809634090e00963409", + "0x4d024dd0158e024380242a024a5014050e0092e8093cc0501438024e5024f5", + "0x5014380240502c05015f3024053f805658090e0096380938c05654090e009", + "0x38024ba024f3014050e009394093d405014380242c02457014050e009014fa", + "0x1960243802505024e30159502438024b8024dd0150502438024df024a501405", + "0xe3015950243802595024dd0159a0243802597024a60159702438024057d005", + "0x19534809668090e009668092e80502c090e00902c092e005658090e00965809", + "0x5680090e0093cc092940501438024fa024f5014050e0090140b0159a02d96", + "0x90140b014057d409014fe015a502438025a0024e3015a302438024bb024dd", + "0x92940501438024fa024f5014050e0093d00915c0501438024053e80501438", + "0x901459015a50243802504024e3015a302438024d2024dd0150402438024fb", + "0x38025a5024e3015a302438025a3024dd015a802438025a6024a6015a602438", + "0x56a00b695a3348096a0090e0096a0092e80502c090e00902c092e00569409", + "0x38024050d4056a4090e00938c092940501438024a5024f0014050e0090140b", + "0x90e0096a40938c05374090e00937409374056c4090e0096c009298056c009", + "0x5015b102da9374d2025b102438025b1024ba0140b024380240b024b8015a9", + "0x5014380240502c0538cdd02df6098d202c3802c090140b024050143802405", + "0xe3014d202438024d2024dd0150102438024a5024d2014e90243802426024a5", + "0x5014380240502c053f8097dcff4000b0e00b404093a4053a4090e0093a409", + "0x9014f2014fd02438024e9024a5014050e0093fc093d0050143802500024f5", + "0x38024fd024e3014d202438024d2024dd014fb02438024fc024a6014fc02438", + "0x53ec0b3f4d2348093ec090e0093ec092e80502c090e00902c092e0053f409", + "0x38024052ec053e8090e0093a4092940501438024fe024f5014050e0090140b", + "0xb3e4fa348a5310053e4090e0093e4092fc053e8090e0093e80938c053e409", + "0x5798053d0090e0093dc0929405014380240502c053d4f602df83dcf802c38", + "0x93e0093740501438024f2025fa014a63c80b0e0093cc097e4053cc090e009", + "0xb3d0f8349fb0140b024380240b024b8014f402438024f4024e3014f802438", + "0x50e0090140b014c9025fd310090e00b2fc097f0052fcbb2e8b834838024a6", + "0x1ff014d902438024c4025fe014d402438024053b805338090e0092e80929405", + "0xef3b8ec3acd20e009394098040501438024df02600014e537c0b0e00936409", + "0x2a024380242c3500b208050b0090e0090b809350050b8090e0093ac0980805", + "0x4702438024250a80b20805094090e0090a0091f8050a0090e0093b00980c05", + "0x4e024380244d11c0b20805134090e009140092d805140090e0093b80981005", + "0x3b02438024f11380b208053c4090e0091440942805144090e0093bc0943805", + "0x50d4090e0090dc091380501438024390244d014370e40b0e0090ec0914005", + "0xe3014b802438024b8024dd0145902438024570243b014570243802435024f1", + "0xb834809164090e009164092e8052ec090e0092ec092e005338090e00933809", + "0x5c02438024c9024a6014f002438024ba024a5014050e0090140b014592ecce", + "0x52ec090e0092ec092e0053c0090e0093c00938c052e0090e0092e00937405", + "0x38024f5024a5014050e0090140b0145c2ecf02e0d20245c024380245c024ba", + "0xf602438024f6024dd014ed024380245f024a60145f02438024050d40517409", + "0x93b4090e0093b4092e80502c090e00902c092e005174090e0091740938c05", + "0x90e00938c092940501438024a5024f0014050e0090140b014ed02c5d3d8d2", + "0x5374090e0093740937405208090e0093a809298053a8090e0090143501462", + "0xd2024820243802482024ba0140b024380240b024b8014620243802462024e3", + "0x538cdd02e05098d202c3802c090140b024050143802405014052080b188dd", + "0x9014260150102438024a5024d2014e90243802426024a5014050e0090140b", + "0xb0e00b404093a4053a4090e0093a40938c05348090e009348093740501438", + "0x38024ff02501014fd02438024e9024a5014050e0090140b014fe026063fd00", + "0x90e0093f0093fc053e8090e00940009400053ec090e0093f40938c053f009", + "0x9014fd014f802438024e9024a5014050e0090140b0140581c09014fe014f9", + "0x38024fe02500014fb02438024f8024e3014f602438024f7024fc014f702438", + "0x90140b014f4026083d4090e00b3e4093ec053e4090e0093d8093fc053e809", + "0x53c8090e0093d4093e4053cc090e0093ec092940501438024053e80501438", + "0x107014f302438024f3024e3014a602438024a6024f7014a602438024f2024f8", + "0xbf02438024f3024a5014050e0090140b014bb026092e8b802c3802ca63480b", + "0x93a4052fc090e0092fc0938c052e0090e0092e00937405014380240509805", + "0x101014d402438024bf024a5014050e0090140b014ce0260a324c402c3802cfa", + "0x93fc05394090e009310094000537c090e0093500938c05364090e00932409", + "0xec02438024bf024a5014050e0090140b0140582c09014fe014eb02438024d9", + "0x100014df02438024ec024e3014ef02438024ee024fc014ee02438024053f405", + "0x2c0260c0b8090e00b3ac093ec053ac090e0093bc093fc05394090e00933809", + "0x93e0050a0090e0090b8093e4050a8090e00937c0929405014380240502c05", + "0xb802d6a0142a024380242a024e3014250243802425024f7014250243802428", + "0xdd0144e024380242a024a5014050e0090140b0144d0260d1404702c3802c25", + "0x9838f11440b0e00b394093a405138090e0091380938c0511c090e00911c09", + "0xe30143702438024f10250101439024380244e024a5014050e0090140b0143b", + "0x53f805164090e0090dc093fc0515c090e00914409400050d4090e0090e409", + "0x5170090e009014fd014f0024380244e024a5014050e0090140b0140583c09", + "0xff01457024380243b025000143502438024f0024e30145d024380245c024fc", + "0xa5014050e0090140b014ed0261017c090e00b164093ec05164090e00917409", + "0x93dc05208090e0093a8093e0053a8090e00917c093e405188090e0090d409", + "0x9844813900b0e00b2084702d84014620243802462024e3014820243802482", + "0xe3014e402438024e4024dd014800243802462024a5014050e0090140b014de", + "0x5014380240502c0534c098487f3600b0e00b15c093a405200090e00920009", + "0x1000147d024380247e024e3014cd024380247f025010147e0243802480024a5", + "0x380240502c0501613024053f8051f0090e009334093fc05320090e00936009", + "0x52f0090e0091ec093f0051ec090e009014fd014c30243802480024a501405", + "0xfb0147c02438024bc024ff014c802438024d3025000147d02438024c3024e3", + "0xf901489024380247d024a5014050e0090140b01476026141d4090e00b1f009", + "0x938c052d8090e0092d8093dc052d8090e0091e8093e0051e8090e0091d409", + "0x5014380240502c052cc09854832c80b0e00b2d8e402da0014890243802489", + "0xe9014aa02438024aa024e3014b202438024b2024dd014aa0243802489024a5", + "0x526c090e0092a80929405014380240502c0523409858a72a00b0e00b32009", + "0xff0140002438024a80250001498024380249b024e30140a02438024a702501", + "0x90e0092a80929405014380240502c0501617024053f805428090e00902809", + "0x5260090e00942c0938c05500090e009430093f005430090e009014fd0150b", + "0x9861410243802d0a024fb0150a0243802540024ff01400024380248d02500", + "0xf8015490243802541024f9015460243802498024a5014050e0090140b01545", + "0xb6ec05518090e0095180938c0541c090e00941c093dc0541c090e00952409", + "0x5554090e0095180929405014380240502c0555009865535440b0e00b41cb2", + "0x21a5615702c3802c00024e9015550243802555024e3015510243802551024dd", + "0x158024f4014050e00955c093d40501438024053e805014380240502c0541809", + "0x5014380248102587014050e00920c0968c050143802553025be014050e009", + "0x9014f20155f0243802555024a5014050e0092e8095440501438024500256d", + "0x380255f024e3015510243802551024dd015610243802560024a60156002438", + "0x55840b57d5134809584090e009584092e80502c090e00902c092e00557c09", + "0x38024052ec05590090e00955409294050143802506024f5014050e0090140b", + "0xb5a964544a5310055a8090e0095a8092fc05590090e0095900938c055a809", + "0x9420092940501438024053e805014380240502c055c16f02e1b4216d02c38", + "0x90e00902c092e0055c8090e0095c80938c055cc090e009015e60157202438", + "0x8102438024810261e0145002438024500261d014ba02438024ba0261c0140b", + "0x81140ba5cc0b5c8e98840554c090e00954c098800520c090e00920c0987c05", + "0x2220d0090e00b5f0097b0055b4090e0095b409374055f17b5e8a50e00954c83", + "0xee01584024380257a024a5014050e0090d0097b805014380240502c050bc09", + "0x18a0244e014050e00962409134056298902c380258702450015870243802405", + "0x95b40937405638090e009634090ec05634090e00962c093c40562c090e009", + "0x380258e024ba0157b024380257b024b8015840243802584024e30156d02438", + "0x929805654090e0095e80929405014380240502c056397b6116d3480963809", + "0x17b024b8015950243802595024e30156d024380256d024dd01596024380242f", + "0x5014380240502c056597b6556d34809658090e009658092e8055ec090e009", + "0x380248102587014050e00920c0968c050143802553025be014050e009014fa", + "0x35015050243802570024a5014050e0092e8095440501438024500256d01405", + "0x105024e30156f024380256f024dd0159a0243802597024a6015970243802405", + "0xb4156f34809668090e009668092e80502c090e00902c092e005414090e009", + "0x92e809544050143802400024f5014050e009014fa014050e0090140b0159a", + "0xa5014050e009140095b405014380248102587014050e00920c0968c0501438", + "0x53f805694090e0096800938c0568c090e0095500937405680090e00951809", + "0x93d405014380254502457014050e009014fa014050e0090140b0140588c09", + "0x50e0092040961c050143802483025a3014050e0092e809544050143802400", + "0xe3015a302438024b2024dd015040243802498024a5014050e009140095b405", + "0x1a3024dd015a802438025a6024a6015a6024380240589005694090e00941009", + "0x96a0092e80502c090e00902c092e005694090e0096940938c0568c090e009", + "0xc8024f5014050e009014fa014050e0090140b015a802da568cd2025a802438", + "0x5014380248102587014050e009140095b40501438024ba02551014050e009", + "0xfe015b102438025a9024e3015b002438024b3024dd015a90243802489024a5", + "0xf5014050e0091d80915c0501438024053e805014380240502c050162502405", + "0x380248102587014050e009140095b40501438024ba02551014050e00932009", + "0x1b102438025b2024e3015b002438024e4024dd015b2024380247d024a501405", + "0xe3015b002438025b0024dd015b50243802509024a60150902438024057c005", + "0x1b0348096d4090e0096d4092e80502c090e00902c092e0056c4090e0096c409", + "0x9544050143802457024f5014050e009014fa014050e0090140b015b502db1", + "0x38024de024dd015bb0243802462024a5014050e009140095b40501438024ba", + "0x53e805014380240502c0501626024053f805700090e0096ec0938c056f809", + "0x501438024ba02551014050e00915c093d40501438024ed02457014050e009", + "0x938c056f8090e00911c0937405704090e0090d4092940501438024500256d", + "0x96f8093740540c090e0097080929805708090e009015f2015c002438025c1", + "0x3802503024ba0140b024380240b024b8015c002438025c0024e3015be02438", + "0x9394093d40501438024053e805014380240502c0540c0b701be3480940c09", + "0x1cb024380244d024dd015c4024380242a024a5014050e0092e8095440501438", + "0x38024053e805014380240502c0501627024053f805730090e0097100938c05", + "0x92940501438024ba02551014050e009394093d405014380242c0245701405", + "0x9015f4015cc02438025cd024e3015cb02438024b8024dd015cd02438024df", + "0x38025cc024e3015cb02438025cb024dd015d102438025ce024a6015ce02438", + "0x57440b731cb34809744090e009744092e80502c090e00902c092e00573009", + "0x92ec0937405798090e0093cc092940501438024fa024f5014050e0090140b", + "0xfa014050e0090140b014058a009014fe015e802438025e6024e3015e702438", + "0x90e0093ec092940501438024fa024f5014050e0093d00915c050143802405", + "0x57a8090e00901459015e802438025e9024e3015e702438024d2024dd015e9", + "0xb8015e802438025e8024e3015e702438025e7024dd015eb02438025ea024a6", + "0x380240502c057ac0b7a1e7348097ac090e0097ac092e80502c090e00902c09", + "0xa6015ee02438024050d4057b0090e00938c092940501438024a5024f001405", + "0x92e0057b0090e0097b00938c05374090e00937409374057c0090e0097b809", + "0x50e00901405015f002dec374d2025f002438025f0024ba0140b024380240b", + "0x90980929405014380240502c0538cdd02e29098d202c3802c090140b02405", + "0x38024e9024e3014d202438024d2024dd0150102438024a5024d2014e902438", + "0x9400093d405014380240502c053f8098a8ff4000b0e00b404093a4053a409", + "0x53f0090e009014f2014fd02438024e9024a5014050e0093fc093d00501438", + "0xb8014fd02438024fd024e3014d202438024d2024dd014fb02438024fc024a6", + "0x380240502c053ec0b3f4d2348093ec090e0093ec092e80502c090e00902c09", + "0xe3014f902438024052ec053e8090e0093a4092940501438024fe024f501405", + "0xf73e00b0e00b3e4fa348a5310053e4090e0093e4092fc053e8090e0093e809", + "0xf30243802405798053d0090e0093dc0929405014380240502c053d4f602e2b", + "0x53e0090e0093e0093740501438024f2025fa014a63c80b0e0093cc097e405", + "0xd20e0092980b3d0f834a2c0140b024380240b024b8014f402438024f4024e3", + "0xba024a5014050e0090140b014c90262e310090e00b2fc098b4052fcbb2e8b8", + "0x38024d902630014d902438024c40262f014d402438024053b805338090e009", + "0x98cc050b8ef3b8ec3ac260e009394098c80501438024df02631014e537c0b", + "0x98d0050a0090e0090a8d402c820142a024380242c025550142c02438024eb", + "0x98d405140090e00911c2802c82014470243802425025700142502438024ec", + "0x98d805144090e0091385002c820144e024380244d0258b0144d02438024ee", + "0x98dc050e4090e0090ec5102c820143b02438024f1025a6014f102438024ef", + "0x91400515c090e0090d43902c82014350243802437025c201437024380242e", + "0x5c024f10145c02438024f00244e014050e00916409134053c05902c3802457", + "0x93380938c052e0090e0092e0093740517c090e009174090ec05174090e009", + "0x5f2ecce2e0d20245f024380245f024ba014bb02438024bb024b8014ce02438", + "0x937405188090e00932409298053b4090e0092e80929405014380240502c05", + "0x62024ba014bb02438024bb024b8014ed02438024ed024e3014b802438024b8", + "0x53a8090e0093d40929405014380240502c05188bb3b4b834809188090e009", + "0x938c053d8090e0093d80937405390090e0092080929805208090e00901435", + "0xea3d8d2024e402438024e4024ba0140b024380240b024b8014ea02438024ea", + "0x350148102438024e3024a5014050e009294093c005014380240502c053900b", + "0x81024e3014dd02438024dd024dd0148002438024de024a6014de0243802405", + "0xb204dd34809200090e009200092e80502c090e00902c092e005204090e009", + "0x90140b014e33740b8e0263480b0e00b0240502c09014050e0090140501480", + "0x90e0093480937405404090e00929409348053a4090e009098092940501438", + "0x90140b014fe026393fd0002c3802d01024e9014e902438024e9024e3014d2", + "0x53f4090e0093a4092940501438024ff024f4014050e009400093d40501438", + "0x938c05348090e00934809374053ec090e0093f009298053f0090e009014f2", + "0xfd348d2024fb02438024fb024ba0140b024380240b024b8014fd02438024fd", + "0xbb014fa02438024e9024a5014050e0093f8093d405014380240502c053ec0b", + "0xd2294c4014f902438024f9024bf014fa02438024fa024e3014f90243802405", + "0xf402438024f7024a5014050e0090140b014f53d80b8e8f73e00b0e00b3e4fa", + "0x90163d014a602438024058f0053c8090e0090163b014f302438024053b805", + "0xbb025ff014bb02438024ba2e0a63c8d28fc052e8090e0090163e014b802438", + "0x202014d9350ce324d20e009310098040501438024bf02600014c42fc0b0e009", + "0xb20805394090e009394093dc05394090e00937c093500537c090e00932409", + "0x93dc053b8090e0093b0091f8053b0090e0093380980c053ac090e009394f3", + "0x92d8050b8090e00935009810053bc090e0093b8eb02c82014ee02438024ee", + "0x9438050a8090e0090b0ef02c820142c024380242c024f70142c024380242e", + "0x2a02c82014250243802425024f70142502438024280250a0142802438024d9", + "0x4d0244e014050e00914009134051345002c380244702450014470243802425", + "0x93e009374053c4090e009144090ec05144090e009138093c405138090e009", + "0x38024f1024ba0140b024380240b024b8014f402438024f4024e3014f802438", + "0x50d4050ec090e0093d40929405014380240502c053c40b3d0f8348093c409", + "0x90ec0938c053d8090e0093d809374050dc090e0090e409298050e4090e009", + "0x3702c3b3d8d2024370243802437024ba0140b024380240b024b80143b02438", + "0x9014350143502438024e3024a5014050e009294093c005014380240502c05", + "0x3802435024e3014dd02438024dd024dd014590243802457024a60145702438", + "0x51640b0d4dd34809164090e009164092e80502c090e00902c092e0050d409", + "0x50e0090140b014e33740b900263480b0e00b0240502c09014050e00901405", + "0x5348090e0093480937405404090e00929409348053a4090e0090980929405", + "0x50e0090140b014fe026413fd0002c3802d01024e9014e902438024e9024e3", + "0x53c8053f4090e0093a4092940501438024ff024f4014050e009400093d405", + "0x93f40938c05348090e00934809374053ec090e0093f009298053f0090e009", + "0xfb02cfd348d2024fb02438024fb024ba0140b024380240b024b8014fd02438", + "0x9014bb014fa02438024e9024a5014050e0093f8093d405014380240502c05", + "0xf93e8d2294c4014f902438024f9024bf014fa02438024fa024e3014f902438", + "0xee014f402438024f7024a5014050e0090140b014f53d80b908f73e00b0e00b", + "0x90e00901645014a60243802405910053c8090e00901643014f30243802405", + "0x38024bb2e8b8298f209a48014bb024380240591c052e8090e00901646014b8", + "0x260e009324098c80501438024c402631014c93100b0e0092fc098c0052fc09", + "0xec024f7014ec02438024eb02555014eb02438024ce02633014e537cd9350ce", + "0xef02570014ef02438024d402634014ee02438024ec3cc0b208053b0090e009", + "0xd9026350142c024380242e3b80b208050b8090e0090b8093dc050b8090e009", + "0x280b00b208050a0090e0090a0093dc050a0090e0090a80962c050a8090e009", + "0x9140093dc05140090e00911c096980511c090e00937c098d805094090e009", + "0x91380970805138090e009394098dc05134090e0091402502c820145002438", + "0x93c409140053c4090e0091444d02c82014510243802451024f70145102438", + "0x3802437024f10143702438024390244e014050e0090ec09134050e43b02c38", + "0x90e0093d00938c053e0090e0093e0093740515c090e0090d4090ec050d409", + "0xb0145702cf43e0d2024570243802457024ba0140b024380240b024b8014f4", + "0x38024f0024a6014f002438024050d405164090e0093d409294050143802405", + "0x90e00902c092e005164090e0091640938c053d8090e0093d8093740517009", + "0xa5024f0014050e0090140b0145c02c593d8d20245c024380245c024ba0140b", + "0x90e00917c092980517c090e009014350145d02438024e3024a5014050e009", + "0xb024380240b024b80145d024380245d024e3014dd02438024dd024dd014ed", + "0x90140b024050143802405014053b40b174dd348093b4090e0093b4092e805", + "0xd2014e90243802426024a5014050e0090140b014e33740b924263480b0e00b", + "0x93a4053a4090e0093a40938c05348090e0093480937405404090e00929409", + "0x93d0050143802500024f5014050e0090140b014fe0264a3fd0002c3802d01", + "0x38024fc024a6014fc02438024053c8053f4090e0093a4092940501438024ff", + "0x90e00902c092e0053f4090e0093f40938c05348090e00934809374053ec09", + "0xfe024f5014050e0090140b014fb02cfd348d2024fb02438024fb024ba0140b", + "0x90e0093e80938c053e4090e009014bb014fa02438024e9024a5014050e009", + "0x53d4f602e4b3dcf802c3802cf93e8d2294c4014f902438024f9024bf014fa", + "0x3802405930053cc090e009014ee014f402438024f7024a5014050e0090140b", + "0x250014ba024380240593c052e0090e0090164e014a60243802405934053c809", + "0xc402c38024bf02630014bf02438024bb2e8b8298f209a48014bb0243802405", + "0x9338098cc05394df364d4338260e009324098c80501438024c402631014c9", + "0x93b0f302c82014ec02438024ec024f7014ec02438024eb02555014eb02438", + "0x380242e024f70142e02438024ef02570014ef02438024d402634014ee02438", + "0x380242a0258b0142a02438024d9026350142c024380242e3b80b208050b809", + "0x38024df026360142502438024280b00b208050a0090e0090a0093dc050a009", + "0x38024500940b20805140090e009140093dc05140090e00911c096980511c09", + "0x90e009144093dc05144090e0091380970805138090e009394098dc0513409", + "0x380243b0244d014390ec0b0e0093c409140053c4090e0091444d02c8201451", + "0x5702438024350243b014350243802437024f10143702438024390244e01405", + "0x502c090e00902c092e0053d0090e0093d00938c053e0090e0093e00937405", + "0x38024f5024a5014050e0090140b0145702cf43e0d2024570243802457024ba", + "0xf602438024f6024dd0145c02438024f0024a6014f002438024050d40516409", + "0x9170090e009170092e80502c090e00902c092e005164090e0091640938c05", + "0x90e00938c092940501438024a5024f0014050e0090140b0145c02c593d8d2", + "0x5374090e00937409374053b4090e00917c092980517c090e009014350145d", + "0xd2024ed02438024ed024ba0140b024380240b024b80145d024380245d024e3", + "0x90e009024093dc05024090e009016510140502438024053b8053b40b174dd", + "0x90e00902ca502c37014a502438024050e40502c090e0090240502c8201409", + "0x9954d202654294090e1010140994c0534809024d202438024d202652014d2", + "0x50e0090140b014ff0265b4000996901026593a409960e3026573740995826", + "0x53f4090e0093f80902c82014fe02438024fe024f7014fe024380240597005", + "0x82014fa02438024fb024d4014fb02438024fc02602014fc02438024a50265d", + "0xb0240b024380240b02425014f902438024f902425014f902438024fa3f40b", + "0x82014f802438024f8024f7014f8024380240597805014380240502c0502cf9", + "0x7e014f502438024f602603014f602438024d20265f014f702438024f80240b", + "0x25014f302438024f302425014f302438024f43dc0b208053d0090e0093d409", + "0xf7014f2024380240598005014380240502c0502cf302c0902c090e00902c09", + "0x204014b8024380242602661014a602438024f20240b208053c8090e0093c809", + "0x25014bf02438024bb2980b208052ec090e0092e8092d8052e8090e0092e009", + "0x5014380240502c0502cbf02c0902c090e00902c09094052fc090e0092fc09", + "0x262014c902438024c40240b20805310090e009310093dc05310090e00901511", + "0xb20805364090e0093500942805350090e0093380943805338090e00937409", + "0xdf02c0902c090e00902c090940537c090e00937c090940537c090e009364c9", + "0xb20805394090e009394093dc05394090e00901663014050e0090140b0140b", + "0x9554053b8090e0093b0098cc053b0090e00938c09990053ac090e00939409", + "0x9094050b8090e0090b809094050b8090e0093bceb02c82014ef02438024ee", + "0x93dc050b0090e00901665014050e0090140b0140b0b80b0240b024380240b", + "0x98d0050a0090e0093a409998050a8090e0090b00902c820142c024380242c", + "0x909405140090e00911c2a02c8201447024380242502570014250243802428", + "0x267014050e0090140b0140b1400b0240b024380240b02425014500243802450", + "0x99a005138090e0091340902c820144d024380244d024f70144d0243802405", + "0x4e02c820143b02438024f10258b014f1024380245102635014510243802501", + "0xb0e40b0240b024380240b024250143902438024390242501439024380243b", + "0x902c82014370243802437024f70143702438024059a405014380240502c05", + "0x59025a6014590243802457026360145702438025000266a014350243802437", + "0xb024250145c024380245c024250145c02438024f00d40b208053c0090e009", + "0x5d024f70145d024380240544005014380240502c0502c5c02c0902c090e009", + "0xed02637014ed02438024ff0266b0145f024380245d0240b20805174090e009", + "0x82024250148202438024ea17c0b208053a8090e0091880970805188090e009", + "0x26c0140502438024053b80502c8202c0902c090e00902c0909405208090e009", + "0x50e40502c090e0090240502c82014090243802409024f7014090243802405", + "0x534809024d202438024d202652014d2024380240b2940b0dc05294090e009", + "0x502c82014090243802409024f70140902438024059b405014090e009014ee", + "0xd202652014d2024380240b2940b0dc05294090e009014390140b0243802409", + "0x9024f70140902438024059b805014090e009014ee014d202409348090e009", + "0xb2940b0dc05294090e009014390140b02438024090140b20805024090e009", + "0x59bc05014090e009014ee014d202409348090e0093480994805348090e009", + "0x9014390140b02438024090140b20805024090e009024093dc05024090e009", + "0xee014d202409348090e0093480994805348090e00902ca502c37014a502438", + "0x90140b20805024090e009024093dc05024090e00901670014050243802405", + "0x93480994805348090e00902ca502c37014a502438024050e40502c090e009", + "0x9024093dc05024090e009015120140502438024053b80534809024d202438", + "0x902ca502c37014a502438024050e40502c090e0090240502c820140902438", + "0x9016710140502438024053b80534809024d202438024d202652014d202438", + "0x38024050e40502c090e0090240502c82014090243802409024f70140902438", + "0x53b80534809024d202438024d202652014d2024380240b2940b0dc0529409", + "0x90240502c82014090243802409024f70140902438024059c805014090e009", + "0x38024d202652014d2024380240b2940b0dc05294090e009014390140b02438", + "0x3802409024f70140902438024059cc05014090e009014ee014d20240934809", + "0x380240b2940b0dc05294090e009014390140b02438024090140b2080502409", + "0x38024059d005014090e009014ee014d202409348090e009348099480534809", + "0x90e009014390140b02438024090140b20805024090e009024093dc0502409", + "0x9014ee014d202409348090e0093480994805348090e00902ca502c37014a5", + "0x38024090140b20805024090e009024093dc05024090e009016750140502438", + "0x90e0093480994805348090e00902ca502c37014a502438024050e40502c09", + "0x93a409350053a4a502c38024a5024ce014e302438024053240534809024d2", + "0x90e0093fc09394053fc090e009014df0150002438024e3024d90150102438", + "0xfc296763f4fe02c3802d01400ff02405098ec015000243802500024eb014ff", + "0x53e4090e0093f809294053f8090e0093f80938c05014380240502c053e8fb", + "0xf60242e014f602438024a5024ef014f702438024053b8053e0090e009014ee", + "0x93cc090a00501438024f40242a014f33d00b0e0093d4090b0053d4090e009", + "0xf73e0f329447014f702438024f702425014f802438024f802425014f302438", + "0xa602450014050e0092e009134052e8b802c38024f202450014a63c80b0e009", + "0x92fc0913805310090e0092e8091380501438024bb0244d014bf2ec0b0e009", + "0xa59dcd43380b0e00b324c43f4f934851014f902438024f9024e3014c902438", + "0xeb02438024ce024a5014ce02438024ce024e3014050e0090140b014e537cd9", + "0x53bc090e0093b8091f8053b8d202c38024d2024d3014ec02438024051fc05", + "0x9394053ac090e0093ac0938c050b0090e009014df0142e02438024ec024d9", + "0x2a02c3802cef0b82c350eb098ec0142e024380242e024eb0142c024380242c", + "0x90a809294050a8090e0090a80938c05014380240502c0514047094a59e028", + "0xf102438024d2024cd0145102438024053b805138090e009014ee0144d02438", + "0x501438024390242a014370e40b0e0090ec090b0050ec090e0093c4091f405", + "0x47014510243802451024250144e024380244e0242501437024380243702428", + "0x50e00916409134053c05902c380243502450014570d40b0e0091444e0dca5", + "0x517c090e0093c00913805014380245c0244d0145d1700b0e00915c0914005", + "0xb0e00b3b45f0a04d348510144d024380244d024e3014ed024380245d0244e", + "0x62024a5014620243802462024e3014050e0090140b0148139082296793a862", + "0x9360092d8053602602c38024260247a01480024380240522405378090e009", + "0x90e0093780938c051f8090e009014df014d30243802480024d90147f02438", + "0x7f34c7e3a8de098ec014d302438024d3024eb0147e024380247e024e5014de", + "0x5334090e0093340938c05014380240502c0530c7c320a59e87d3340b0e00b", + "0x26024b20147502438024053b8052f0090e009014ee0147b02438024cd024a5", + "0x7a0242a014b61e80b0e009224090b005224090e0091d80920c051d8090e009", + "0x380247502425014bc02438024bc02425014b602438024b602428014050e009", + "0x9134052a8b302c38024b202450014832c80b0e0091d4bc2d8a511c051d409", + "0x92a8091380501438024a80244d014a72a00b0e00920c091400501438024b3", + "0x8d1f47b348510147b024380247b024e30149b02438024a70244e0148d02438", + "0xa024380240a024e3014050e0090140b0150b428002967b2600a02c3802c9b", + "0x5504dd02c38024dd0240001540024380240526005430090e0090280929405", + "0x938c05524090e009014df015460243802540024d90154502438025410250a", + "0x10c098ec015460243802546024eb015490243802549024e50150c024380250c", + "0x941c0938c05014380240502c055555454ca59f15141c0b0e00b5154652498", + "0x10602438024053b805560090e009014ee015570243802507024a50150702438", + "0x1645840b0e009580090b005580090e00957c094300557c090e0093740942c05", + "0x250155802438025580242501564024380256402428014050e009584090a805", + "0x10802c380256a024500156d5a80b0e00941958590a511c05418090e00941809", + "0x501438025700244d015725c00b0e0095b4091400501438025080244d0156f", + "0x51015570243802557024e30157a02438025720244e01573024380256f0244e", + "0x17b024e3014050e0090140b015840bc342967d5f17b02c3802d7a5cd5155cd2", + "0x96240b02e7e0158902438024053f40561c090e0095ec09294055ec090e009", + "0x380257c024b8015870243802587024e30158b024380258a0243c0158a02438", + "0xb025fa014050e0090140b0158b5f1872940962c090e00962c0943c055f009", + "0x90e009014390158d0243802434024a5014340243802434024e3014050e009", + "0x90e0096340938c05658090e009654099fc05654090e0096118e02c370158e", + "0x502c056582f634a50259602438025960250f0142f024380242f024b80158d", + "0x1530243802553024e3014050e0093740902805014380240b025fa014050e009", + "0x5668090e0095559702c370159702438024050e405414090e00954c0929405", + "0x10f015540243802554024b8015050243802505024e3015a0024380259a0267f", + "0x5014380240b025fa014050e0090140b015a05510529409680090e00968009", + "0x938c0568c090e0090000929405000090e0090000938c0501438024dd0240a", + "0x9014fe015a6024380250b0242501504024380250a024b8015a502438025a3", + "0x91d80501438024dd0240a014050e00902c097e805014380240502c0501680", + "0x96a00938c056a0090e0093200929405320090e0093200938c050143802426", + "0x90e00901439015a602438024c30242501504024380247c024b8015a502438", + "0x90e0096940938c056c4090e0096c0099fc056c0090e009699a902c37015a9", + "0x502c056c504694a5025b102438025b10250f015040243802504024b8015a5", + "0x5014380242602476014050e0093740902805014380240b025fa014050e009", + "0xb80150902438025b2024e3015b20243802482024a5014820243802482024e3", + "0x380240502c0501681024053f8056ec090e00920409094056d4090e00939009", + "0x936005014380242602476014050e0093740902805014380240b025fa01405", + "0x96f80938c056f8090e0090940929405094090e0090940938c0501438024d2", + "0x90e00901439015bb024380245002425015b50243802447024b80150902438", + "0x90e0094240938c05708090e009704099fc05704090e0096edc002c37015c0", + "0x502c05709b5424a5025c202438025c20250f015b502438025b5024b801509", + "0x5014380242602476014050e0093740902805014380240b025fa014050e009", + "0x938c0540c090e0093640929405364090e0093640938c0501438024d2024d8", + "0x9014fe015cc02438024e502425015cb02438024df024b8015c40243802503", + "0x91d80501438024dd0240a014050e00902c097e805014380240502c0501682", + "0x90e0093f00938c0501438024a5024f3014050e00934809360050143802426", + "0x1cb02438024fb024b8015c402438025cd024e3015cd02438024fc024a5014fc", + "0x5744090e009731ce02c37015ce02438024050e405730090e0093e80909405", + "0x10f015cb02438025cb024b8015c402438025c4024e3015e602438025d10267f", + "0x90243802405a0c05014090e009014ee015e672dc429409798090e00979809", + "0x5294090e009014390140b02438024090140b20805024090e009024093dc05", + "0x90e009014ee014d202409348090e0093480994805348090e00902ca502c37", + "0xb02438024090140b20805024090e009024093dc05024090e0090168401405", + "0x9348090e0093480994805348090e00902ca502c37014a502438024050e405", + "0x5024090e009024093dc05024090e009016850140502438024053b80534809", + "0x5348090e00902ca502c37014a502438024050e40502c090e0090240502c82", + "0x5348090e009014c9014050e009294097e80534809024d202438024d202652", + "0xed014050e0093740917c0538cdd02c38024260245d0142602438024d20245c", + "0x537c05400090e0094040936405404090e0093a409188053a4090e00938c09", + "0xb024d23a805400090e009400093ac053fc090e0093fc09394053fc090e009", + "0x38024fe024e3014050e0090140b014f93e8fb296863f0fd3f8a50e00b400ff", + "0x90e0093f4092e0053f0090e0093f0093dc053e0090e0093f809294053f809", + "0x502c053d409a1cf63dc0b0e00b3f00502cf6014f802438024f8024e3014fd", + "0x90e0093cc09320053cc090e0090147f014f402438024f8024a5014050e009", + "0xba02438024b80247b014050e0092980930c052e0a602c38024f20247c014f2", + "0xe3014c4024380240537c052fc090e0092ec09364052ec090e0092e80918805", + "0x9374052fc090e0092fc093ac05310090e00931009394053d0090e0093d009", + "0xb014e537cd929688350ce324a50e00b2fcc43f4f4348ea014f702438024f7", + "0x9350093dc053ac090e0093240929405324090e0093240938c050143802405", + "0xb350f702c80014eb02438024eb024e3014ce02438024ce024b8014d402438", + "0x9014890142e02438024eb024a5014050e0090140b014ef026893b8ec02c38", + "0x90a0092a0050942802c380242a024aa0142a024380242c024b30142c02438", + "0x90e0091400936405140090e00911c091880511c090e0090940929c0501438", + "0x5138090e00913809394050b8090e0090b80938c05138090e009014df0144d", + "0xa50e00b1344e3382e348ea014ec02438024ec024dd0144d024380244d024eb", + "0x929405144090e0091440938c05014380240502c050d4370e4a5a283b3c451", + "0x57024e3014f102438024f1024b80143b024380243b024f7014570243802451", + "0xa5014050e0090140b0145c0268b3c05902c3802c3b3b00b1d40515c090e009", + "0xed02541014ed024380245f025400145f024380240526005174090e00915c09", + "0x92080918805208090e0093a80951805014380246202545014ea1880b0e009", + "0x90e0091740938c05378090e009014df0148102438024e4024d9014e402438", + "0x590243802459024dd014810243802481024eb014de02438024de024e50145d", + "0x5014380240502c053347e34ca5a307f360802943802c81378f1174d23a805", + "0xb80147f024380247f024f70147d0243802480024a5014800243802480024e3", + "0x28d1f0c802c3802c7f1640b26c051f4090e0091f40938c05360090e00936009", + "0x7c3c0ee3d8d28fc051d4090e0091f40929405014380240502c052f07b30ca5", + "0x932009374051e8090e00922409a3c05224090e0091d809a38051d8090e009", + "0x380247a02690014d802438024d8024b8014750243802475024e3014c802438", + "0xbc0240a014050e0091ec0902805014380240502c051e8d81d4c8348091e809", + "0x501438024f002476014050e0093b8093600501438024f6024f3014050e009", + "0xde014b320c0b0e0092c809204052c8090e00901549014b6024380247d024a5", + "0xd8024b8014a802438024b6024e3014aa02438024c3024dd014050e00920c09", + "0x5014380240502c0501691024053f805234090e0092cc090940529c090e009", + "0x934c0938c0501438024ee024d8014050e0093d8093cc0501438024f002476", + "0x380249b024e3014aa0243802459024dd0149b02438024d3024a5014d302438", + "0xa02438024050e405234090e009334090940529c090e0091f8092e0052a009", + "0xaa02438024aa024dd0140002438024980269201498024380248d0280b0dc05", + "0x9000090e00900009a400529c090e00929c092e0052a0090e0092a00938c05", + "0x50e0093b8093600501438024f6024f3014050e0090140b0140029ca82a8d2", + "0x55010c02c380250b024810150b024380240523405428090e00915c0929405", + "0x92e005514090e0094280938c05504090e0091700937405014380250c024de", + "0x50e0090140b01405a4c09014fe015490243802540024250154602438024f1", + "0x9294050e4090e0090e40938c0501438024f6024f3014050e0093b80936005", + "0x37024b8015450243802507024e30154102438024ec024dd015070243802439", + "0x95255102c370155102438024050e405524090e0090d40909405518090e009", + "0x3802545024e3015410243802541024dd015540243802553026920155302438", + "0x5551465154134809550090e00955009a4005518090e009518092e00551409", + "0x38024052f005554090e0093ac092940501438024f6024f3014050e0090140b", + "0x90e0093bc09374050143802558024de015065600b0e00955c092040555c09", + "0x1640243802506024250156102438024ce024b8015600243802555024e30155f", + "0x38024d9024e3014050e0093d8093cc05014380240502c0501694024053f805", + "0x90e0095a80938c0557c090e0093dc09374055a8090e009364092940536409", + "0x55b4090e009014390156402438024e5024250156102438024df024b801560", + "0x557c090e00957c09374055bc090e00942009a4805420090e0095916d02c37", + "0xd20256f024380256f02690015610243802561024b8015600243802560024e3", + "0x1720243802405390055c0090e0093e00929405014380240502c055bd615815f", + "0x55ec090e0093d409374050143802573024de0157a5cc0b0e0095c80920405", + "0xfe0142f024380257a024250143402438024fd024b80157c0243802570024e3", + "0x90e0093ec09294053ec090e0093ec0938c05014380240502c050169502405", + "0x3402438024fa024b80157c0243802584024e30157b0243802405024dd01584", + "0x5624090e0090bd8702c370158702438024050e4050bc090e0093e40909405", + "0xb80157c024380257c024e30157b024380257b024dd0158a024380258902692", + "0x380240554c05628345f17b34809628090e00962809a40050d0090e0090d009", + "0x38024e9024d901500024380250102555015012940b0e00929409550053a409", + "0xff02438024ff024eb014fe02438024fe024e5014fe024380240537c053fc09", + "0x5014380240502c053e4fa3eca5a58fc3f40b0e00b400ff3f809014263b005", + "0x53b8053dc090e009014ee014f802438024fd024a5014fd02438024fd024e3", + "0x93d0090b0053d0090e0093d409560053d4090e0092940955c053d8090e009", + "0x38024f702425014f202438024f202428014050e0093cc090a8053c8f302c38", + "0xa602450014b82980b0e0093d8f73c8a511c053d8090e0093d809094053dc09", + "0xbf0244d014c42fc0b0e0092e0091400501438024ba0244d014bb2e80b0e009", + "0x38024f8024e3014ce02438024c40244e014c902438024bb0244e014050e009", + "0x50e0090140b014eb394df29697364d402c3802cce324fc3e0d2144053e009", + "0x16f014ee0243802405420053b0090e0093500929405350090e0093500938c05", + "0xdf0142c02438024ee024d90142e02438024ef02570014ef3480b0e00934809", + "0x2c024eb0142a024380242a024e5014ec02438024ec024e30142a0243802405", + "0x502c051345011ca5a60250a00b0e00b0b82c0a8d93b0263b0050b0090e009", + "0x90e009014ee0144e0243802428024a5014280243802428024e3014050e009", + "0x50e4090e0090ec095cc050ec090e009348095c8053c4090e009014ee01451", + "0x2501435024380243502428014050e0090dc090a8050d43702c38024390242c", + "0x5915c0b0e0093c4510d4a511c053c4090e0093c40909405144090e00914409", + "0x5f1740b0e009164091400501438024f00244d0145c3c00b0e00915c0914005", + "0xe301462024380245f0244e014ed024380245c0244e014050e0091740913405", + "0xb014de204e429699208ea02c3802c623b425138d214405138090e00913809", + "0x380240562405200090e0093a809294053a8090e0093a80938c050143802405", + "0x38024d8024d9014d3024380247f0258b0147f0980b0e009098096280536009", + "0xcd02438024cd024e5014800243802480024e3014cd024380240537c051f809", + "0xc31f0a5a68c81f40b0e00b34c7e33482200263b0051f8090e0091f8093ac05", + "0xee014bc024380247d024a50147d024380247d024e3014050e0090140b0147b", + "0x92240963805224090e00909809634051d8090e009014ee014750243802405", + "0x38024b202428014050e0092d8090a8052c8b602c380247a0242c0147a02438", + "0x91d8752c8a511c051d8090e0091d809094051d4090e0091d409094052c809", + "0x92cc091400501438024aa0244d014a82a80b0e00920c09140052cc8302c38", + "0x380248d0244e0149b02438024a80244e014050e00929c0913405234a702c38", + "0x10a2969b0009802c3802c0a26cc82f0d2144052f0090e0092f00938c0502809", + "0x5500090e0092600929405260090e0092600938c05014380240502c054310b", + "0xd9015460243802545025a6015453740b0e0093740941005504090e009015a5", + "0x107024e5015400243802540024e301507024380240537c05524090e00950409", + "0x1535440b0e00b5194941c00500263b005524090e009524093ac0541c090e009", + "0x3802551024a5015510243802551024e3014050e0090140b01557555542969c", + "0x5580090e009374096a00557c090e009014ee0150602438024053b80556009", + "0x28014050e009590090a8055a96402c38025610242c015610243802560025a9", + "0xa511c0557c090e00957c0909405418090e00941809094055a8090e0095a809", + "0x5014380256f0244d015705bc0b0e0095b409140054216d02c380255f4196a", + "0x4e0157a02438025700244e014050e0095c809134055cd7202c380250802450", + "0x17c02c3802d7b5e953560d214405560090e0095600938c055ec090e0095cc09", + "0x95f009294055f0090e0095f00938c05014380240502c0561d840bca5a7434", + "0x380258b025c20158b38c0b0e00938c0970405628090e009015c00158902438", + "0x1890243802589024e301595024380240537c05638090e009628093640563409", + "0xb6358e65434624263b005638090e009638093ac05654090e0096540939405", + "0xa5015960243802596024e3014050e0090140b015a0669972969e4159602c38", + "0x938c0940c05410090e009014ee015a502438024053b80568c090e00965809", + "0x96a4090a8056c1a902c38025a80242c015a802438025a6025c4015a602438", + "0x90e0094100909405694090e00969409094056c0090e0096c0090a00501438", + "0x1090244d015b54240b0e0096c409140056c9b102c3802504695b02944701504", + "0x38025b50244e014050e0096ec09134056f9bb02c38025b202450014050e009", + "0x1c17010568cd21440568c090e00968c0938c05704090e0096f8091380570009", + "0x5708090e0097080938c05014380240502c05731cb710a5a7d037080b0e00b", + "0x3c015d102438025ce02c0b9f805738090e009014fd015cd02438025c2024a5", + "0x943c0540c090e00940c092e005734090e0097340938c05798090e00974409", + "0xe3014050e00902c097e805014380240502c0579903734a5025e602438025e6", + "0x1e802c37015e802438024050e40579c090e0097100929405710090e00971009", + "0x1cb024b8015e702438025e7024e3015ea02438025e90267f015e902438025cc", + "0x1fa014050e0090140b015ea72de7294097a8090e0097a80943c0572c090e009", + "0x965c092940565c090e00965c0938c0501438024e3025be014050e00902c09", + "0x38025ee0267f015ee02438025a07b00b0dc057b0090e00901439015eb02438", + "0x90e0097c00943c05668090e009668092e0057ac090e0097ac0938c057c009", + "0x38024e3025be014050e00902c097e805014380240502c057c19a7aca5025f0", + "0x1f402438025f2024e3015f2024380242f024a50142f024380242f024e301405", + "0x502c05016a0024053f8057e8090e00961c09094057e4090e009610092e005", + "0x501438024dd025a3014050e00938c096f805014380240b025fa014050e009", + "0xb8015f402438025fb024e3015fb0243802554024a5015540243802554024e3", + "0x1fc02c37015fc02438024050e4057e8090e00955c09094057e4090e00955409", + "0x1f9024b8015f402438025f4024e3015ff02438025fe0267f015fe02438025fa", + "0x1fa014050e0090140b015ff7e5f4294097fc090e0097fc0943c057e4090e009", + "0x380250a024e3014050e0093740968c0501438024e3025be014050e00902c09", + "0x90e00942c092e005804090e0098000938c05800090e009428092940542809", + "0xb025fa014050e0090140b01405a8409014fe01603024380250c0242501602", + "0x5014380242602587014050e0093740968c0501438024e3025be014050e009", + "0xb8016010243802604024e301604024380247c024a50147c024380247c024e3", + "0x10e02c370150e02438024050e40580c090e0091ec0909405808090e00930c09", + "0x202024b8016010243802601024e30161d024380261c0267f0161c0243802603", + "0x1fa014050e0090140b0161d80a0129409874090e0098740943c05808090e009", + "0x380242602587014050e0093740968c0501438024e3025be014050e00902c09", + "0x21f024380261e024e30161e02438024e4024a5014e402438024e4024e301405", + "0x502c05016a2024053f805884090e0093780909405880090e009204092e005", + "0x501438024dd025a3014050e00938c096f805014380240b025fa014050e009", + "0x47024a5014470243802447024e3014050e009348095b405014380242602587", + "0x91340909405880090e009140092e00587c090e0098900938c05890090e009", + "0x380262d0267f0162d02438026218b00b0dc058b0090e009014390162102438", + "0x90e0098bc0943c05880090e009880092e00587c090e00987c0938c058bc09", + "0x38024e3025be014050e00902c097e805014380240502c058be2087ca50262f", + "0x938c0501438024d20256d014050e0090980961c0501438024dd025a301405", + "0xe5024b8016310243802630024e30163002438024df024a5014df02438024df", + "0x5014380240502c05016a3024053f8058cc090e0093ac09094058c8090e009", + "0x90980961c0501438024dd025a3014050e00938c096f805014380240b025fa", + "0x53ec090e0093ec0938c0501438024a502551014050e009348095b40501438", + "0x250163202438024fa024b8016310243802634024e30163402438024fb024a5", + "0x99fc058d8090e0098ce3502c370163502438024050e4058cc090e0093e409", + "0x2370250f016320243802632024b8016310243802631024e3016370243802636", + "0xf701409024380240543405014090e009014ee016378ca31294098dc090e009", + "0xb0dc05294090e009014390140b02438024090140b20805024090e00902409", + "0x501438024a5025fa014d202409348090e0093480994805348090e00902ca5", + "0x160014e33740b0e0090980957c05098090e0093480941805348090e00901553", + "0x101024d90150102438024e902462014e902438024e302561014050e00937409", + "0x3802500024eb014ff02438024ff024e5014ff024380240537c05400090e009", + "0x380240502c053e4fa3eca5a90fc3f4fe2943802d003fc0b024d23a80540009", + "0xfc02438024fc024f7014f802438024fe024a5014fe02438024fe024e301405", + "0xf702c3802cfc0140b41c053e0090e0093e00938c053f4090e0093f4092e005", + "0xf30243802405420053d0090e0093e00929405014380240502c053d409a94f6", + "0x501438024a60257c014b82980b0e0093c8095ec053c8090e0093cc095e805", + "0xdf014bf02438024bb024d9014bb02438024ba02462014ba02438024b802434", + "0xbf024eb014c402438024c4024e5014f402438024f4024e3014c40243802405", + "0xd4338c92943802cbf310fd3d0d23a8053dc090e0093dc09374052fc090e009", + "0x38024c9024a5014c902438024c9024e3014050e0090140b014e537cd9296a6", + "0x90e0093ac0938c05338090e009338092e005350090e009350093dc053ac09", + "0x93ac0929405014380240502c053bc09a9cee3b00b0e00b350f702d6a014eb", + "0xb0e0090a809658050a8090e0090b009654050b0090e009015890142e02438", + "0x5002438024470246201447024380242502597014050e0090a0094140509428", + "0xe50142e024380242e024e30144e024380240537c05134090e0091400936405", + "0xd23a8053b0090e0093b00937405134090e009134093ac05138090e00913809", + "0x51024e3014050e0090140b014350dc39296a80ecf1144a50e00b1344e3382e", + "0x93c4092e0050ec090e0090ec093dc0515c090e0091440929405144090e009", + "0x517009aa4f01640b0e00b0ecec02d84014570243802457024e3014f102438", + "0x917c096c00517c090e009015a50145d0243802457024a5014050e0090140b", + "0x38024ea02509014050e009188096c8053a86202c38024ed025b1014ed02438", + "0xde024380240537c05204090e0093900936405390090e009208091880520809", + "0x5204090e009204093ac05378090e0093780939405174090e0091740938c05", + "0xcd1f8d3296aa1fcd8200a50e00b204de3c45d348ea014590243802459024dd", + "0x93dc051f4090e0092000929405200090e0092000938c05014380240502c05", + "0x5902da00147d024380247d024e3014d802438024d8024b80147f024380247f", + "0x1c00147b024380247d024a5014050e0090140b014c3026ab1f0c802c3802c7f", + "0x9734052247602c3802475025cc0147502438024bc025cb014bc0243802405", + "0x92d809364052d8090e0091e809188051e8090e00922409738050143802476", + "0x90e00920c09394051ec090e0091ec0938c0520c090e009014df014b202438", + "0xb2c8833607b348ea014c802438024c8024dd014b202438024b2024eb01483", + "0x52cc090e0092cc0938c05014380240502c0526c8d29ca5ab0a82a8b329438", + "0xe3014aa02438024aa024b8014a802438024a8024f70140a02438024b3024a5", + "0x50e0090140b0150a026ad0009802c3802ca83200b6ec05028090e00902809", + "0x943009ab805430090e0090007c3c0ee3d8269200542c090e0090280929405", + "0x380250b024e3014980243802498024dd015410243802540026af0154002438", + "0x5504aa42c9834809504090e00950409ac0052a8090e0092a8092e00542c09", + "0x380247c025a3014050e0093b8095b40501438024f602551014050e0090140b", + "0x8101546024380240574405514090e009028092940501438024f00258701405", + "0x938c05544090e00942809374050143802549024de015075240b0e00951809", + "0x9014fe015550243802507024250155402438024aa024b8015530243802545", + "0x95b40501438024f602551014050e0093c00961c05014380240502c05016b1", + "0x38024a7024a5014a702438024a7024e3014050e0091f00968c0501438024ee", + "0x90e009234092e00554c090e00955c0938c05544090e009320093740555c09", + "0x10602438025555600b0dc05560090e0090143901555024380249b0242501554", + "0x554c090e00954c0938c05544090e009544093740557c090e00941809ac805", + "0x90140b0155f55153544d20255f024380255f026b0015540243802554024b8", + "0xa5014050e0093b8095b40501438024f602551014050e0093c00961c0501438", + "0x9378055a96402c3802561024810156102438024056d405580090e0091f409", + "0x9360092e005420090e0095800938c055b4090e00930c09374050143802564", + "0x187014050e0090140b01405acc09014fe01570024380256a024250156f02438", + "0x38024d3024e3014050e0093b8095b40501438024f602551014050e0093c009", + "0x90e0095c80938c055b4090e00916409374055c8090e00934c092940534c09", + "0x55cc090e009014390157002438024cd024250156f024380247e024b801508", + "0x55b4090e0095b409374055ec090e0095e809ac8055e8090e0095c17302c37", + "0xd20257b024380257b026b00156f024380256f024b8015080243802508024e3", + "0x501438024ee0256d014050e0093d80954405014380240502c055ed6f4216d", + "0xde015840bc0b0e0090d009204050d0090e0090159a0157c0243802457024a5", + "0xf1024b801589024380257c024e301587024380245c024dd014050e0090bc09", + "0x5014380240502c05016b4024053f80562c090e0096100909405628090e009", + "0x39024a5014390243802439024e3014050e0093d8095440501438024ee0256d", + "0x90dc092e005624090e0096340938c0561c090e0093b00937405634090e009", + "0x380258b6380b0dc05638090e009014390158b0243802435024250158a02438", + "0x90e0096240938c0561c090e00961c0937405658090e00965409ac80565409", + "0xb015966298961cd2025960243802596026b00158a024380258a024b801589", + "0x90e0090142f0150502438024eb024a5014050e0093d809544050143802405", + "0x1a302438024ef024dd014050e00966809378056819a02c38025970248101597", + "0x5698090e0096800909405410090e009338092e005694090e0094140938c05", + "0x90e0093640938c0501438024f602551014050e0090140b01405ad409014fe", + "0x1a502438025a8024e3015a302438024f7024dd015a802438024d9024a5014d9", + "0x37015a902438024050e405698090e0093940909405410090e00937c092e005", + "0xe3015a302438025a3024dd015b102438025b0026b2015b002438025a66a40b", + "0x1a3348096c4090e0096c409ac005410090e009410092e005694090e00969409", + "0x5424090e00901564015b202438024f8024a5014050e0090140b015b1411a5", + "0xe3015be02438024f5024dd014050e0096d409378056edb502c380250902481", + "0x53f805708090e0096ec0909405704090e0093f4092e005700090e0096c809", + "0x10302438024fb024a5014fb02438024fb024e3014050e0090140b01405ad809", + "0x5704090e0093e8092e005700090e00940c0938c056f8090e0090140937405", + "0x2b2015cb02438025c27100b0dc05710090e00901439015c202438024f902425", + "0x92e005700090e0097000938c056f8090e0096f80937405730090e00972c09", + "0x762a098014d211dcc705c06f8d2025cc02438025cc026b0015c102438025c1", + "0x1e92940b0240529ca826005348762a098014d2014a502c09014a72a098014d2", + "0xa72a098014d21d8a82600534ab72940b0240529ca826005348762a098014d2", + "0x762a098014d2ae4a502c09014a72a098014d21d8a82600534ab82940b02405", + "0x2bb2940b0240529ca826005348762a098014d2ae8a502c09014a72a098014d2", + "0xa72a098014d21d8a82600534abc2940b0240529ca826005348762a098014d2", + "0x762a098014d2af8a502c09014a72a098014d21d8a82600534abd2940b02405", + "0x2c02940b0240529ca826005348762a098014d2afca502c09014a72a098014d2", + "0xa72a098014d21d8a82600534ac12940b0240529ca826005348762a098014d2", + "0x762a098014d2b0ca502c09014a72a098014d21d8a82600534ac22940b02405", + "0x2c52940b0240529ca826005348762a098014d2b10a502c09014a72a098014d2", + "0xa72a098014d21d8a82600534ac62940b0240529ca826005348762a098014d2", + "0x762a098014d2b20a502c09014a72a098014d21d8a82600534ac72940b02405", + "0x2ca2940b0240529ca826005348762a098014d2b24a502c09014a72a098014d2", + "0xa72a098014d21d8a82600534acb2940b0240529ca826005348762a098014d2", + "0xa5b385102405b34a502c09014a72a098014d21d8a82600534acc2940b02405", + "0x5102405b485102405b445102405b405102405b3c0b024051384e02c4e138b6", + "0x2d914409016d814409016d714409016d614409016d514409016d414409016d3", + "0x5b6cdd098d22940b024053b4a8260a50d4370e43b170a8260e3b685102405", + "0xa502c09014f02a098014d2170a82600534ade14409016dd14409016dc14409", + "0x9016e038cdd098d22940b024053b4a8260a5094280a82c0b85c2a0983a6df", + "0x2e22940b024053c4a8260053485c2a098014d2b8451" + ], + "sierra_program_debug_info": { + "type_names": [ + [0, "RangeCheck"], + [1, "core::never"], + [ + 2, + "Const" + ], + [ + 3, + "Const" + ], + [ + 4, + "Const" + ], + [ + 5, + "Const" + ], + [6, "Const"], + [7, "Const"], + [8, "Const"], + [9, "Const"], + [10, "Const"], + [11, "Const"], + [12, "Const"], + [13, "Const"], + [14, "Const"], + [ + 15, + "Const" + ], + [16, "Const"], + [ + 17, + "Const" + ], + [ + 18, + "Const" + ], + [ + 19, + "Const" + ], + [ + 20, + "Const" + ], + [ + 21, + "Const" + ], + [ + 22, + "Const" + ], + [ + 23, + "Const" + ], + [ + 24, + "Const" + ], + [ + 25, + "Const" + ], + [26, "Const"], + [27, "Const"], + [28, "Const"], + [29, "Const"], + [30, "Const"], + [31, "Const"], + [32, "Const"], + [33, "Const"], + [34, "Const"], + [35, "Const"], + [36, "Const"], + [37, "Const"], + [38, "Const"], + [39, "Const"], + [40, "Const"], + [41, "i8"], + [42, "i16"], + [43, "i32"], + [44, "i64"], + [45, "i128"], + [46, "Tuple"], + [47, "Tuple>"], + [48, "core::panics::Panic"], + [49, "Array"], + [50, "Tuple>"], + [ + 51, + "core::panics::PanicResult::<((core::integer::i8, core::integer::i16, core::integer::i32, core::integer::i64, core::integer::i128),)>" + ], + [52, "u8"], + [53, "u16"], + [54, "u64"], + [55, "u128"], + [56, "Tuple"], + [57, "Tuple>"], + [ + 58, + "core::panics::PanicResult::<((core::integer::u8, core::integer::u16, core::integer::u64, core::integer::u128),)>" + ], + [59, "integer_types_test::IntegerTypesStorage::ContractState"], + [60, "Unit"], + [61, "Tuple"], + [ + 62, + "core::panics::PanicResult::<(integer_types_test::IntegerTypesStorage::ContractState, ())>" + ], + [63, "StorageBaseAddress"], + [64, "core::starknet::storage::StoragePointer0Offset::"], + [65, "integer_types_test::IntegerTypesStorage::I128Stored"], + [66, "core::starknet::storage::StoragePointer0Offset::"], + [67, "integer_types_test::IntegerTypesStorage::I64Stored"], + [68, "core::starknet::storage::StoragePointer0Offset::"], + [69, "integer_types_test::IntegerTypesStorage::I32Stored"], + [70, "core::starknet::storage::StoragePointer0Offset::"], + [71, "integer_types_test::IntegerTypesStorage::I16Stored"], + [72, "core::starknet::storage::StoragePointer0Offset::"], + [73, "integer_types_test::IntegerTypesStorage::I8Stored"], + [74, "core::starknet::storage::StoragePointer0Offset::"], + [75, "integer_types_test::IntegerTypesStorage::U128Stored"], + [76, "core::starknet::storage::StoragePointer0Offset::"], + [77, "integer_types_test::IntegerTypesStorage::U64Stored"], + [78, "core::starknet::storage::StoragePointer0Offset::"], + [79, "integer_types_test::IntegerTypesStorage::U16Stored"], + [80, "core::starknet::storage::StoragePointer0Offset::"], + [81, "Snapshot>"], + [82, "core::array::Span::"], + [83, "Tuple>"], + [84, "integer_types_test::IntegerTypesStorage::U8Stored"], + [85, "integer_types_test::IntegerTypesStorage::Event"], + [86, "Const"], + [87, "u32"], + [88, "StorageAddress"], + [89, "BuiltinCosts"], + [90, "System"], + [91, "core::panics::PanicResult::<(core::array::Span::,)>"], + [92, "Box"], + [93, "core::option::Option::>"], + [94, "felt252"], + [95, "GasBuiltin"] + ], + "libfunc_names": [ + [0, "revoke_ap_tracking"], + [1, "withdraw_gas"], + [2, "branch_align"], + [3, "redeposit_gas"], + [4, "struct_deconstruct>"], + [5, "enable_ap_tracking"], + [6, "store_temp"], + [7, "store_temp"], + [8, "array_snapshot_pop_front"], + [9, "enum_init>, 0>"], + [10, "store_temp>>"], + [11, "store_temp>>"], + [12, "jump"], + [13, "struct_construct"], + [14, "enum_init>, 1>"], + [15, "enum_match>>"], + [16, "disable_ap_tracking"], + [17, "unbox"], + [18, "rename"], + [19, "store_temp"], + [20, "u8_try_from_felt252"], + [21, "drop>>"], + [22, "drop>"], + [23, "drop"], + [ + 24, + "function_call>" + ], + [25, "enum_init,)>, 1>"], + [26, "store_temp"], + [27, "store_temp,)>>"], + [28, "get_builtin_costs"], + [29, "store_temp"], + [30, "withdraw_gas_all"], + [ + 31, + "storage_base_address_const<807102272102848379483484342142066886010421646090020283162444045180171948919>" + ], + [32, "dup"], + [33, "u8_to_felt252"], + [34, "storage_address_from_base"], + [35, "const_as_immediate>"], + [36, "store_temp"], + [37, "store_temp"], + [38, "storage_write_syscall"], + [39, "array_new"], + [40, "struct_construct"], + [41, "enum_init"], + [42, "snapshot_take"], + [43, "drop"], + [44, "store_temp"], + [45, "store_temp>"], + [ + 46, + "function_call" + ], + [47, "snapshot_take>"], + [48, "drop>"], + [49, "struct_construct>"], + [50, "emit_event_syscall"], + [51, "struct_construct>>"], + [52, "enum_init,)>, 0>"], + [53, "struct_construct"], + [54, "struct_construct>>"], + [55, "function_call>"], + [56, "drop"], + [ + 57, + "function_call>" + ], + [58, "drop>"], + [59, "struct_construct>"], + [60, "snapshot_take>"], + [61, "drop>"], + [ + 62, + "struct_deconstruct>" + ], + [63, "rename"], + [64, "storage_read_syscall"], + [65, "array_append"], + [ + 66, + "function_call>" + ], + [67, "struct_deconstruct>>"], + [68, "drop"], + [69, "u16_try_from_felt252"], + [70, "drop"], + [ + 71, + "storage_base_address_const<1446081403584455684161669971399885143042838924891569561007932621378756119310>" + ], + [72, "dup"], + [73, "u16_to_felt252"], + [74, "struct_construct"], + [75, "enum_init"], + [ + 76, + "struct_construct>" + ], + [77, "snapshot_take>"], + [78, "drop>"], + [ + 79, + "struct_deconstruct>" + ], + [ + 80, + "function_call>" + ], + [81, "u64_try_from_felt252"], + [82, "drop"], + [ + 83, + "storage_base_address_const<846367223800802274869087118142228576099507238845629034990291495913313435232>" + ], + [84, "dup"], + [85, "u64_to_felt252"], + [86, "struct_construct"], + [87, "enum_init"], + [ + 88, + "struct_construct>" + ], + [89, "snapshot_take>"], + [90, "drop>"], + [ + 91, + "struct_deconstruct>" + ], + [ + 92, + "function_call>" + ], + [93, "u128s_from_felt252"], + [94, "drop"], + [ + 95, + "storage_base_address_const<821512846618623595799696294302623082747591339358082503905692071674375303822>" + ], + [96, "dup"], + [97, "u128_to_felt252"], + [98, "struct_construct"], + [99, "enum_init"], + [ + 100, + "struct_construct>" + ], + [101, "snapshot_take>"], + [102, "drop>"], + [ + 103, + "struct_deconstruct>" + ], + [ + 104, + "function_call>" + ], + [105, "i8_try_from_felt252"], + [106, "drop"], + [ + 107, + "storage_base_address_const<324103189227575566891300335766419149796696351724507751403687583888985978791>" + ], + [108, "dup"], + [109, "i8_to_felt252"], + [110, "struct_construct"], + [111, "enum_init"], + [ + 112, + "struct_construct>" + ], + [113, "snapshot_take>"], + [114, "drop>"], + [ + 115, + "struct_deconstruct>" + ], + [ + 116, + "function_call>" + ], + [117, "i16_try_from_felt252"], + [118, "drop"], + [ + 119, + "storage_base_address_const<619958993716013123652664460329909370060347615777422104990813367149863451474>" + ], + [120, "dup"], + [121, "i16_to_felt252"], + [122, "struct_construct"], + [123, "enum_init"], + [ + 124, + "struct_construct>" + ], + [125, "snapshot_take>"], + [126, "drop>"], + [ + 127, + "struct_deconstruct>" + ], + [ + 128, + "function_call>" + ], + [129, "i32_try_from_felt252"], + [130, "drop"], + [ + 131, + "storage_base_address_const<538656480896842000598271455748864238561306063341700772811401015827257500861>" + ], + [132, "dup"], + [133, "i32_to_felt252"], + [134, "struct_construct"], + [135, "enum_init"], + [ + 136, + "struct_construct>" + ], + [137, "snapshot_take>"], + [138, "drop>"], + [ + 139, + "struct_deconstruct>" + ], + [ + 140, + "function_call>" + ], + [141, "i64_try_from_felt252"], + [142, "drop"], + [ + 143, + "storage_base_address_const<470465127356200289228305125722271185219662354695316293638583360094382464872>" + ], + [144, "dup"], + [145, "i64_to_felt252"], + [146, "struct_construct"], + [147, "enum_init"], + [ + 148, + "struct_construct>" + ], + [149, "snapshot_take>"], + [150, "drop>"], + [ + 151, + "struct_deconstruct>" + ], + [ + 152, + "function_call>" + ], + [153, "i128_try_from_felt252"], + [154, "drop"], + [ + 155, + "storage_base_address_const<1618050671545533209669941590873073654936732492147567239792198917561200175070>" + ], + [156, "dup"], + [157, "i128_to_felt252"], + [158, "struct_construct"], + [159, "enum_init"], + [ + 160, + "struct_construct>" + ], + [161, "snapshot_take>"], + [162, "drop>"], + [ + 163, + "struct_deconstruct>" + ], + [ + 164, + "function_call>" + ], + [165, "struct_construct"], + [166, "store_temp"], + [167, "store_temp"], + [168, "store_temp"], + [169, "store_temp"], + [ + 170, + "function_call" + ], + [ + 171, + "enum_match>" + ], + [172, "drop>"], + [ + 173, + "function_call>" + ], + [ + 174, + "function_call>" + ], + [ + 175, + "function_call>" + ], + [176, "snapshot_take"], + [177, "drop"], + [ + 178, + "function_call" + ], + [ + 179, + "enum_match>" + ], + [180, "struct_deconstruct>>"], + [181, "snapshot_take>"], + [182, "drop>"], + [183, "struct_deconstruct>"], + [184, "rename"], + [185, "rename"], + [186, "rename"], + [187, "rename"], + [188, "store_temp"], + [189, "store_temp"], + [190, "store_temp"], + [191, "store_temp"], + [192, "store_temp"], + [ + 193, + "function_call" + ], + [ + 194, + "function_call>" + ], + [ + 195, + "function_call" + ], + [ + 196, + "enum_match>" + ], + [197, "struct_deconstruct>>"], + [198, "snapshot_take>"], + [199, "drop>"], + [200, "struct_deconstruct>"], + [201, "rename"], + [202, "rename"], + [203, "rename"], + [204, "rename"], + [205, "rename"], + [206, "const_as_immediate>"], + [207, "const_as_immediate>"], + [208, "const_as_immediate>"], + [209, "const_as_immediate>"], + [210, "struct_construct>"], + [211, "const_as_immediate>"], + [212, "const_as_immediate>"], + [213, "const_as_immediate>"], + [214, "const_as_immediate>"], + [215, "const_as_immediate>"], + [216, "struct_construct>"], + [217, "const_as_immediate>"], + [218, "const_as_immediate>"], + [219, "const_as_immediate>"], + [220, "const_as_immediate>"], + [221, "const_as_immediate>"], + [ + 222, + "const_as_immediate>" + ], + [223, "store_temp>>"], + [224, "enum_match"], + [ + 225, + "const_as_immediate>" + ], + [226, "struct_deconstruct"], + [ + 227, + "const_as_immediate>" + ], + [228, "struct_deconstruct"], + [ + 229, + "const_as_immediate>" + ], + [230, "struct_deconstruct"], + [ + 231, + "const_as_immediate>" + ], + [232, "struct_deconstruct"], + [ + 233, + "const_as_immediate>" + ], + [234, "struct_deconstruct"], + [ + 235, + "const_as_immediate>" + ], + [236, "struct_deconstruct"], + [ + 237, + "const_as_immediate>" + ], + [238, "struct_deconstruct"], + [ + 239, + "const_as_immediate>" + ], + [240, "struct_deconstruct"], + [ + 241, + "const_as_immediate>" + ], + [242, "struct_deconstruct"], + [243, "const_as_immediate>"], + [ + 244, + "const_as_immediate>" + ], + [245, "const_as_immediate>"], + [246, "const_as_immediate>"], + [247, "const_as_immediate>"], + [248, "const_as_immediate>"], + [249, "const_as_immediate>"], + [250, "const_as_immediate>"], + [251, "const_as_immediate>"], + [252, "const_as_immediate>"], + [253, "const_as_immediate>"], + [ + 254, + "struct_construct>" + ], + [ + 255, + "enum_init, 0>" + ], + [ + 256, + "store_temp>" + ], + [ + 257, + "enum_init, 1>" + ], + [ + 258, + "const_as_immediate>" + ], + [ + 259, + "const_as_immediate>" + ], + [ + 260, + "const_as_immediate>" + ], + [261, "struct_construct>>"], + [ + 262, + "enum_init, 0>" + ], + [ + 263, + "store_temp>" + ], + [ + 264, + "enum_init, 1>" + ], + [ + 265, + "const_as_immediate>" + ], + [266, "struct_construct>>"], + [ + 267, + "enum_init, 0>" + ], + [ + 268, + "store_temp>" + ], + [ + 269, + "enum_init, 1>" + ] + ], + "user_func_names": [ + [0, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_u8"], + [1, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_u8"], + [2, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_u16"], + [3, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_u16"], + [4, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_u64"], + [5, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_u64"], + [ + 6, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_u128" + ], + [7, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_u128"], + [8, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_i8"], + [9, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_i8"], + [ + 10, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_i16" + ], + [11, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_i16"], + [ + 12, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_i32" + ], + [13, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_i32"], + [ + 14, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_i64" + ], + [15, "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_i64"], + [ + 16, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_i128" + ], + [ + 17, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_i128" + ], + [ + 18, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_all_unsigned" + ], + [ + 19, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_all_unsigned" + ], + [ + 20, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__store_all_signed" + ], + [ + 21, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__read_all_signed" + ], + [ + 22, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__test_boundary_values_unsigned" + ], + [ + 23, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__test_boundary_values_signed" + ], + [ + 24, + "integer_types_test::IntegerTypesStorage::__wrapper__IntegerTypesStorageImpl__test_negative_boundary_values_signed" + ], + [ + 25, + "core::panic_with_const_felt252::<7733229381460288120802334208475838166080759535023995805565484692595>" + ], + [26, "integer_types_test::IntegerTypesStorage::EventIsEvent::append_keys_and_data"], + [27, "core::panic_with_const_felt252::<375233589013918064796019>"], + [ + 28, + "core::panic_with_const_felt252::<485748461484230571791265682659113160264223489397539653310998840191492913>" + ], + [29, "core::panic_with_const_felt252::<110930490496575599150170734222081291576>"], + [30, "core::panic_with_const_felt252::<7269940625183576326045731942707956293120310>"], + [31, "core::panic_with_const_felt252::<7269940625183577871052929410204041567614516>"], + [32, "core::panic_with_const_felt252::<476442828812030857794232422692155113556837216824>"], + [33, "core::panic_with_const_felt252::<110930490496561092040335358671984814392>"], + [34, "core::panic_with_const_felt252::<7269940625182625588095560770656833764929846>"], + [35, "core::panic_with_const_felt252::<7269940625182626202229877134888454515667762>"], + [36, "core::panic_with_const_felt252::<7269940625182627133102758238152919039424052>"], + [37, "core::panic_with_const_felt252::<476442828811968550231930004760612747600685249080>"], + [38, "integer_types_test::IntegerTypesStorage::IntegerTypesStorageImpl::store_all_unsigned"], + [ + 39, + "core::panic_with_const_felt252::<485748461484230571791265682659113160264223489397539653310998840191492916>" + ], + [ + 40, + "core::panic_with_const_felt252::<485748461484230571791265682659113160264223489397539653310998840191492915>" + ], + [ + 41, + "core::panic_with_const_felt252::<485748461484230571791265682659113160264223489397539653310998840191492914>" + ], + [42, "integer_types_test::IntegerTypesStorage::IntegerTypesStorageImpl::read_all_unsigned"], + [43, "integer_types_test::IntegerTypesStorage::IntegerTypesStorageImpl::store_all_signed"], + [ + 44, + "core::panic_with_const_felt252::<485748461484230571791265682659113160264223489397539653310998840191492917>" + ], + [45, "integer_types_test::IntegerTypesStorage::IntegerTypesStorageImpl::read_all_signed"] + ] + }, + "contract_class_version": "0.1.0", + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x1e50f8002c9ed610486ecd1cba8d6c6fcde7d7f0d89ce4c79f0595891c3896", + "function_idx": 9 + }, + { + "selector": "0x67d39cb9a31ac25974105b60f1b835a398e7b710707f24ab569d0176fadbb1", + "function_idx": 12 + }, + { + "selector": "0x79148715da7abd373353e23605e55db2ab09d66dda917d1a5d593fbd95b265", + "function_idx": 0 + }, + { + "selector": "0x7c22f67f2da0f7a18990f68d47b7ed957d3b6ece5eb0f787f1000f0fb761de", + "function_idx": 4 + }, + { + "selector": "0x88b0b3694994831acdee4b97ea333886627f38b35431cc88dc13eebea9434c", + "function_idx": 21 + }, + { + "selector": "0xa9915668a7afb09245a11f6957e740924677899fef92004466e7e98ee0f2ed", + "function_idx": 23 + }, + { + "selector": "0xaca1dfd32ac92be74082d9d29c9a2becaec459bdee163dadb1e361143a1b92", + "function_idx": 13 + }, + { + "selector": "0xb9a18955961159642e23802d3fd63d097faa3c093f1e54e423325de841b305", + "function_idx": 24 + }, + { + "selector": "0xc751960810c79b9f6a3709b3e25710ae251249279a1a8c0750ce55efcfb0e3", + "function_idx": 18 + }, + { + "selector": "0x112ee9d746182df12371df8f396ae1bf77fb9617854ea30015adcbd8b7e5d18", + "function_idx": 8 + }, + { + "selector": "0x12b72e6e6d363622227b15adf11dae8b60e0b0cf49be7b4df51a234009dc0b0", + "function_idx": 11 + }, + { + "selector": "0x187b97499d893143443c91e8e51b3b8b8df6cc4a5aa06942c65c7e2eec13556", + "function_idx": 1 + }, + { + "selector": "0x1c5674cfcba543ff9713d74360b5ba5568e438a186156b94c5f639fa7aca480", + "function_idx": 19 + }, + { + "selector": "0x2145a7768d7f4e18608a68c1945bbdc2e61e0078b5a73fb4c16a706c8eb62e9", + "function_idx": 7 + }, + { + "selector": "0x22ac94f1e1ecf26cdf7f022282fc2baf1d5ef95e095e2ea156b0a6b8b3f3ddb", + "function_idx": 14 + }, + { + "selector": "0x23cba354df2d526b5bf13f4fe9e30f2aaa7a5274154be5a7910bd9a6efca31f", + "function_idx": 5 + }, + { + "selector": "0x25ba1b21242c7225d11534bb327a2b9fe1229fc598165c86194569cbd06c33d", + "function_idx": 2 + }, + { + "selector": "0x288ba86c72f5bddd08934d45b30fc8054e2b46d0e6123fffa3fb2389e0fd7a0", + "function_idx": 15 + }, + { + "selector": "0x2cce8f10dc528b23c5938d27cb7bd913294cf21b135b7be7ba3ea2030a56666", + "function_idx": 20 + }, + { + "selector": "0x2ce79fb2924ae5d5d543759ef4186fa3e183c2bbd2f3e199b94418f9b5f8862", + "function_idx": 16 + }, + { + "selector": "0x2faaf0774d2738d34815973c46f57ab8aaa5cd01f1e74ed9f1db477fae58fc8", + "function_idx": 17 + }, + { + "selector": "0x345230c098b00d795824c93d4614be7db54d2b3020fb201906474e43abd8e6d", + "function_idx": 22 + }, + { + "selector": "0x34e68cea2ad820c4a96827ab9822bdff9a5eed434420c25887a691872e4f5b8", + "function_idx": 10 + }, + { + "selector": "0x3b6af069d862a452462eb28c80dc264722e763efa763b85d009cdf347b2eb15", + "function_idx": 6 + }, + { + "selector": "0x3f9d86473d3610a8b3651e3a65da98ecdb2311a6958190893a17c1662a223a1", + "function_idx": 3 + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [] + }, + "abi": [ + { + "type": "impl", + "name": "IntegerTypesStorageImpl", + "interface_name": "integer_types_test::IIntegerTypesStorage" + }, + { + "type": "interface", + "name": "integer_types_test::IIntegerTypesStorage", + "items": [ + { + "type": "function", + "name": "store_u8", + "inputs": [{ "name": "value", "type": "core::integer::u8" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_u8", + "inputs": [], + "outputs": [{ "type": "core::integer::u8" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_u16", + "inputs": [{ "name": "value", "type": "core::integer::u16" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_u16", + "inputs": [], + "outputs": [{ "type": "core::integer::u16" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_u64", + "inputs": [{ "name": "value", "type": "core::integer::u64" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_u64", + "inputs": [], + "outputs": [{ "type": "core::integer::u64" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_u128", + "inputs": [{ "name": "value", "type": "core::integer::u128" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_u128", + "inputs": [], + "outputs": [{ "type": "core::integer::u128" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_i8", + "inputs": [{ "name": "value", "type": "core::integer::i8" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_i8", + "inputs": [], + "outputs": [{ "type": "core::integer::i8" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_i16", + "inputs": [{ "name": "value", "type": "core::integer::i16" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_i16", + "inputs": [], + "outputs": [{ "type": "core::integer::i16" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_i32", + "inputs": [{ "name": "value", "type": "core::integer::i32" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_i32", + "inputs": [], + "outputs": [{ "type": "core::integer::i32" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_i64", + "inputs": [{ "name": "value", "type": "core::integer::i64" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_i64", + "inputs": [], + "outputs": [{ "type": "core::integer::i64" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_i128", + "inputs": [{ "name": "value", "type": "core::integer::i128" }], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_i128", + "inputs": [], + "outputs": [{ "type": "core::integer::i128" }], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_all_unsigned", + "inputs": [ + { "name": "u8_val", "type": "core::integer::u8" }, + { "name": "u16_val", "type": "core::integer::u16" }, + { "name": "u64_val", "type": "core::integer::u64" }, + { "name": "u128_val", "type": "core::integer::u128" } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_all_unsigned", + "inputs": [], + "outputs": [ + { + "type": "(core::integer::u8, core::integer::u16, core::integer::u64, core::integer::u128)" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "store_all_signed", + "inputs": [ + { "name": "i8_val", "type": "core::integer::i8" }, + { "name": "i16_val", "type": "core::integer::i16" }, + { "name": "i32_val", "type": "core::integer::i32" }, + { "name": "i64_val", "type": "core::integer::i64" }, + { "name": "i128_val", "type": "core::integer::i128" } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "read_all_signed", + "inputs": [], + "outputs": [ + { + "type": "(core::integer::i8, core::integer::i16, core::integer::i32, core::integer::i64, core::integer::i128)" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "test_boundary_values_unsigned", + "inputs": [], + "outputs": [ + { + "type": "(core::integer::u8, core::integer::u16, core::integer::u64, core::integer::u128)" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "test_boundary_values_signed", + "inputs": [], + "outputs": [ + { + "type": "(core::integer::i8, core::integer::i16, core::integer::i32, core::integer::i64, core::integer::i128)" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "test_negative_boundary_values_signed", + "inputs": [], + "outputs": [ + { + "type": "(core::integer::i8, core::integer::i16, core::integer::i32, core::integer::i64, core::integer::i128)" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::U8Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::u8", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::U16Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::u16", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::U64Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::u64", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::U128Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::u128", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::I8Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::i8", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::I16Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::i16", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::I32Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::i32", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::I64Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::i64", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::I128Stored", + "kind": "struct", + "members": [{ "name": "value", "type": "core::integer::i128", "kind": "key" }] + }, + { + "type": "event", + "name": "integer_types_test::IntegerTypesStorage::Event", + "kind": "enum", + "variants": [ + { + "name": "U8Stored", + "type": "integer_types_test::IntegerTypesStorage::U8Stored", + "kind": "nested" + }, + { + "name": "U16Stored", + "type": "integer_types_test::IntegerTypesStorage::U16Stored", + "kind": "nested" + }, + { + "name": "U64Stored", + "type": "integer_types_test::IntegerTypesStorage::U64Stored", + "kind": "nested" + }, + { + "name": "U128Stored", + "type": "integer_types_test::IntegerTypesStorage::U128Stored", + "kind": "nested" + }, + { + "name": "I8Stored", + "type": "integer_types_test::IntegerTypesStorage::I8Stored", + "kind": "nested" + }, + { + "name": "I16Stored", + "type": "integer_types_test::IntegerTypesStorage::I16Stored", + "kind": "nested" + }, + { + "name": "I32Stored", + "type": "integer_types_test::IntegerTypesStorage::I32Stored", + "kind": "nested" + }, + { + "name": "I64Stored", + "type": "integer_types_test::IntegerTypesStorage::I64Stored", + "kind": "nested" + }, + { + "name": "I128Stored", + "type": "integer_types_test::IntegerTypesStorage::I128Stored", + "kind": "nested" + } + ] + } + ] +} diff --git a/__mocks__/cairo/test_contract_rust.casm b/__mocks__/cairo/test_contract_rust.casm new file mode 100644 index 000000000..8d6835453 --- /dev/null +++ b/__mocks__/cairo/test_contract_rust.casm @@ -0,0 +1,36506 @@ +{ + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "compiler_version": "2.12.0", + "bytecode": [ + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xaf", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x98", + "0x480280007ffc8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffc", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff77ffc", + "0x480080017ff67ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff57ffd", + "0x10780017fff7fff", + "0x80", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffb", + "0x480080007ff87ffd", + "0x480080017ff77ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff67ffe", + "0x482480017ff68000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x67", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x480080007ff58000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1fb4", + "0x48127ff27fff8000", + "0x48127fe67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x4db8", + "0x482480017fff8000", + "0x4db7", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fea", + "0x4042", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff37fff", + "0x10780017fff7fff", + "0x40", + "0x4824800180007fea", + "0x4042", + "0x400080007ff47fff", + "0x480680017fff8000", + "0x0", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffc", + "0x400280027ffb7ffd", + "0x400280037ffb7fe9", + "0x400280047ffb7ff5", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0x26", + "0x480280057ffb8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280077ffb7fff", + "0x400280087ffb7ffd", + "0x400280097ffb7ffe", + "0x4002800a7ffb7fe5", + "0x4802800c7ffb8000", + "0x20680017fff7fff", + "0x11", + "0x4802800b7ffb8000", + "0x40780017fff7fff", + "0x1", + "0x4802800d7ffb8000", + "0x400080007ffe7fff", + "0x48127ff67fff8000", + "0x48127ffc7fff8000", + "0x482680017ffb8000", + "0xe", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x4802800b7ffb8000", + "0x482680017ffb8000", + "0xf", + "0x480680017fff8000", + "0x1", + "0x4802800d7ffb8000", + "0x4802800e7ffb8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280057ffb8000", + "0x482680017ffb8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff38000", + "0x1", + "0x482480017fe78000", + "0x1162", + "0x10780017fff7fff", + "0x23", + "0x1104800180018000", + "0x1f5d", + "0x48127ff67fff8000", + "0x48127fea7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x3", + "0x482480017ff38000", + "0x17e8", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1d6a", + "0x1104800180018000", + "0x1f4f", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x1f46", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x8d", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1f1c", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x4d20", + "0x482480017fff8000", + "0x4d1f", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0x3cbe", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x65", + "0x4824800180007ff8", + "0x3cbe", + "0x400080007ff87fff", + "0x480680017fff8000", + "0xf", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffe", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080017ff37ffc", + "0x480080027ff27ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080037ff17ffd", + "0x10780017fff7fff", + "0x47", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffd", + "0x480080017ff47ffd", + "0x480080027ff37ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080037ff27ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x482480017ff08000", + "0x4", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ff5", + "0x400280027ffb7ffc", + "0x400280037ffb7ff6", + "0x400280047ffb7ffd", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0x26", + "0x480280057ffb8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280077ffb7fff", + "0x400280087ffb7ffc", + "0x400280097ffb7ffd", + "0x4002800a7ffb7ff1", + "0x4002800b7ffb7ffe", + "0x4802800d7ffb8000", + "0x20680017fff7fff", + "0xe", + "0x4802800c7ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127ff67fff8000", + "0x48127ffd7fff8000", + "0x482680017ffb8000", + "0xe", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x4802800c7ffb8000", + "0x482680017ffb8000", + "0x10", + "0x480680017fff8000", + "0x1", + "0x4802800e7ffb8000", + "0x4802800f7ffb8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280057ffb8000", + "0x482680017ffb8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1ec0", + "0x482480017fe98000", + "0x4", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017ff58000", + "0x193c", + "0x10780017fff7fff", + "0x6", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x1ea6", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xc3", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xac", + "0x400380007ffc8001", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4825800180048001", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff87ffc", + "0x480080017ff77ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff67ffd", + "0x10780017fff7fff", + "0x94", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48317fff80008001", + "0x480080007ff97ffd", + "0x480080017ff87ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff77ffe", + "0x482480017ff78000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7b", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x400180007ff58000", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x65", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x48127fef7fff8000", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff68000", + "0x1104800180018000", + "0x1e5f", + "0x20680017fff7ffa", + "0x4f", + "0x20680017fff7ffd", + "0x48", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1e3b", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x4c3f", + "0x482480017fff8000", + "0x4c3e", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff3", + "0x22d8", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff07fff", + "0x10780017fff7fff", + "0x25", + "0x4824800180007ff3", + "0x22d8", + "0x400080007ff17fff", + "0x482480017ff18000", + "0x1", + "0x480680017fff8000", + "0x43616c6c436f6e7472616374", + "0x400280007ffb7fff", + "0x400280017ffb7ffd", + "0x400380027ffb8001", + "0x400380037ffb8000", + "0x400280047ffb7ff5", + "0x400280057ffb7ff6", + "0x480280077ffb8000", + "0x20680017fff7fff", + "0xc", + "0x480280067ffb8000", + "0x48127ffc7fff8000", + "0x48127ffe7fff8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x0", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff08000", + "0x1", + "0x482480017ff08000", + "0x30c", + "0x10780017fff7fff", + "0x3d", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x802", + "0x10780017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x482480017ff08000", + "0x152c", + "0x1104800180018000", + "0x1e4f", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1de5", + "0x48127ff67fff8000", + "0x48127feb7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff68000", + "0x3", + "0x482480017ff48000", + "0x177a", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1cf2", + "0x1104800180018000", + "0x1dd7", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e1e", + "0x1104800180018000", + "0x1dce", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xcb", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb4", + "0x400380007ffc8001", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4825800180048001", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff87ffc", + "0x480080017ff77ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff67ffd", + "0x10780017fff7fff", + "0x9c", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48317fff80008001", + "0x480080007ff97ffd", + "0x480080017ff87ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff77ffe", + "0x482480017ff78000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x80", + "0x40780017fff7fff", + "0x1", + "0x48127ffd7fff8000", + "0x48127ff27fff8000", + "0x482480017ff48000", + "0x1", + "0x48127ff47fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff08000", + "0x1104800180018000", + "0x1d90", + "0x20680017fff7ffa", + "0x6a", + "0x20680017fff7ffd", + "0x63", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1d6c", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x4b70", + "0x482480017fff8000", + "0x4b6f", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff3", + "0x2e0e", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff07fff", + "0x10780017fff7fff", + "0x40", + "0x4824800180007ff3", + "0x2e0e", + "0x400080007ff17fff", + "0x480680017fff8000", + "0x15d40a3d6ca2ac30f4031e42be28da9b056fef9bb7357ac5e85627ee876e5ad", + "0x482480017ff08000", + "0x1", + "0x480680017fff8000", + "0x43616c6c436f6e7472616374", + "0x400280007ffb7fff", + "0x400280017ffb7ffc", + "0x400380027ffb8001", + "0x400280037ffb7ffd", + "0x400280047ffb7ff4", + "0x400280057ffb7ff5", + "0x480280077ffb8000", + "0x20680017fff7fff", + "0x25", + "0x40780017fff7fff", + "0x1", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x48307ffe80007fff", + "0x400080007ffc7fff", + "0x48127ff97fff8000", + "0x480280067ffb8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x1", + "0x402780017ffb8000", + "0xa", + "0x1104800180018000", + "0x1d9d", + "0x20680017fff7ffd", + "0xa", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff08000", + "0x1", + "0x482480017ff08000", + "0x4f6", + "0x10780017fff7fff", + "0x33", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x9ec", + "0x10780017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x482480017ff38000", + "0x1716", + "0x1104800180018000", + "0x1d05", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff68000", + "0x3", + "0x482480017ff48000", + "0x177a", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1cf2", + "0x1104800180018000", + "0x1cf7", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e1e", + "0x1104800180018000", + "0x1cee", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x9", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xffffffffffffffffffffffffffffec5a", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x190", + "0x4825800180007ffa", + "0x13a6", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x179", + "0x400380007ffc8003", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4825800180048003", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff87ffc", + "0x480080017ff77ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff67ffd", + "0x10780017fff7fff", + "0x161", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48317fff80008003", + "0x480080007ff97ffd", + "0x480080017ff87ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff77ffe", + "0x482480017ff78000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x148", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x400180007ff58006", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x132", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x48127fef7fff8000", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff68000", + "0x1104800180018000", + "0x1ca7", + "0x20680017fff7ffa", + "0x11c", + "0x20680017fff7ffd", + "0x115", + "0x40137ffe7fff8004", + "0x40137fff7fff8005", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x101", + "0x400180007ffa8007", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4825800180048007", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff17ffc", + "0x480080017ff07ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027fef7ffd", + "0x10780017fff7fff", + "0xe9", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48317fff80008007", + "0x480080007ff27ffd", + "0x480080017ff17ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff07ffe", + "0x482480017ff08000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd0", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x400180007ff58008", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xba", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x48127fea7fff8000", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff68000", + "0x1104800180018000", + "0x1c66", + "0x20680017fff7ffa", + "0xa4", + "0x20680017fff7ffd", + "0x9d", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1c42", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x4a46", + "0x482480017fff8000", + "0x4a45", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff3", + "0x7454", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff07fff", + "0x10780017fff7fff", + "0x7b", + "0x4824800180007ff3", + "0x7454", + "0x400080007ff17fff", + "0x482480017ff18000", + "0x1", + "0x480680017fff8000", + "0x43616c6c436f6e7472616374", + "0x400280007ffb7fff", + "0x400280017ffb7ffd", + "0x400380027ffb8003", + "0x400380037ffb8006", + "0x400380047ffb8004", + "0x400380057ffb8005", + "0x480280077ffb8000", + "0x20680017fff7fff", + "0x62", + "0x480280067ffb8000", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x480680017fff8000", + "0x43616c6c436f6e7472616374", + "0x4002800a7ffb7fff", + "0x4002800b7ffb7ffc", + "0x4003800c7ffb8007", + "0x4003800d7ffb8008", + "0x4002800e7ffb7ff0", + "0x4002800f7ffb7ff1", + "0x480280117ffb8000", + "0x20680017fff7fff", + "0x4b", + "0x40780017fff7fff", + "0x1", + "0x48127ff77fff8000", + "0x480280107ffb8000", + "0x48127ffd7fff8000", + "0x48127ffc7fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x402780017ffb8000", + "0x14", + "0x400380127ffb8001", + "0x400380137ffb8002", + "0x1104800180018000", + "0x1c9a", + "0x20680017fff7ffd", + "0x33", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480a80017fff8000", + "0x480a80027fff8000", + "0x1104800180018000", + "0x1c90", + "0x20680017fff7ffd", + "0x21", + "0x40780017fff7fff", + "0x1", + "0x48307ffd80007ffe", + "0x400080007ffe7fff", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x1104800180018000", + "0x1c51", + "0x20680017fff7ffd", + "0xa", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x480280107ffb8000", + "0x482680017ffb8000", + "0x14", + "0x480680017fff8000", + "0x1", + "0x480280127ffb8000", + "0x480280137ffb8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff08000", + "0x1", + "0x48127ff07fff8000", + "0x10780017fff7fff", + "0x74", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x4f6", + "0x10780017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x482480017feb8000", + "0x1220", + "0x1104800180018000", + "0x1c66", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1c61", + "0x48127ff67fff8000", + "0x48127fe67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x3", + "0x482480017fef8000", + "0x146e", + "0x10780017fff7fff", + "0x5", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x19e6", + "0x1104800180018000", + "0x1c53", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x1b62", + "0x10780017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x482480017ff08000", + "0x288c", + "0x1104800180018000", + "0x1bca", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1b60", + "0x48127ff67fff8000", + "0x48127feb7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff68000", + "0x3", + "0x482480017ff48000", + "0x2ada", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x3052", + "0x1104800180018000", + "0x1b52", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1dd8", + "0x1104800180018000", + "0x1b49", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x9d", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x86", + "0x480280007ffc8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffc", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff77ffc", + "0x480080017ff67ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff57ffd", + "0x10780017fff7fff", + "0x6e", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffb", + "0x480080007ff87ffd", + "0x480080017ff77ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff67ffe", + "0x482480017ff68000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x55", + "0x480080007ff78000", + "0x482480017ff68000", + "0x1", + "0x48127ff67fff8000", + "0x20680017fff7ffd", + "0x8", + "0x482480017ff08000", + "0xfd2", + "0x480680017fff8000", + "0x1", + "0x10780017fff7fff", + "0x6", + "0x482480017ff08000", + "0x1036", + "0x480680017fff8000", + "0x0", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1ae9", + "0x48127ff07fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x48ed", + "0x482480017fff8000", + "0x48ec", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0xafc8", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff17fff", + "0x10780017fff7fff", + "0x23", + "0x4824800180007ff8", + "0xafc8", + "0x400080007ff27fff", + "0x480680017fff8000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffb7fff8000", + "0x48127fe77fff8000", + "0x48307ff480007ffc", + "0x1104800180018000", + "0x1ba1", + "0x482480017fcf8000", + "0x1", + "0x20680017fff7ffc", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff18000", + "0x1", + "0x48127ff57fff8000", + "0x10780017fff7fff", + "0x23", + "0x1104800180018000", + "0x1ab0", + "0x48127ff67fff8000", + "0x48127fea7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x3", + "0x482480017ff38000", + "0x17e8", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1d6a", + "0x1104800180018000", + "0x1aa2", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x1a99", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x54", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1a6f", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x4873", + "0x482480017fff8000", + "0x4872", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0xdd4", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x2c", + "0x4824800180007ff8", + "0xdd4", + "0x400080007ff87fff", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1275130f95dda36bcbb6e9d28796c1d7e10b6e9fd5ed083e0ede4b12f613528", + "0x480680017fff8000", + "0xa", + "0x482480017ff58000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffa", + "0x400280027ffb7ffb", + "0x400280037ffb7ffc", + "0x400280047ffb7ffd", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0xe", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffd7fff8000", + "0x482680017ffb8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280057ffb8000", + "0x482680017ffb8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017ff58000", + "0x193c", + "0x10780017fff7fff", + "0x6", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x1a32", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xb1", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x9a", + "0x480280007ffc8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffc", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff77ffc", + "0x480080017ff67ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff57ffd", + "0x10780017fff7fff", + "0x82", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffb", + "0x480080007ff87ffd", + "0x480080017ff77ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff67ffe", + "0x482480017ff68000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x66", + "0x480080007ff78000", + "0x482480017ff68000", + "0x1", + "0x48127ff67fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffc", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff77ffc", + "0x480080017ff67ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff57ffd", + "0x10780017fff7fff", + "0x4e", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffb", + "0x480080007ff87ffd", + "0x480080017ff77ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff67ffe", + "0x482480017ff68000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x19c6", + "0x48127ff67fff8000", + "0x48127fe07fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x47ca", + "0x482480017fff8000", + "0x47c9", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fe4", + "0x7c10", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x21", + "0x4824800180007fe4", + "0x7c10", + "0x400080007ff87fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x48127fe47fff8000", + "0x48127fed7fff8000", + "0x1104800180018000", + "0x1b00", + "0x482480017fd08000", + "0x1", + "0x20680017fff7ffc", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017fe18000", + "0xd70", + "0x10780017fff7fff", + "0x2c", + "0x482480017ff58000", + "0x3", + "0x482480017fe98000", + "0x1202", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ff28000", + "0x1784", + "0x1104800180018000", + "0x1985", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x3", + "0x482480017ff38000", + "0x17e8", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1d6a", + "0x1104800180018000", + "0x1977", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x196e", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xc8", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb1", + "0x400380007ffc8001", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4825800180048001", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff87ffc", + "0x480080017ff77ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff67ffd", + "0x10780017fff7fff", + "0x99", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48317fff80008001", + "0x480080007ff97ffd", + "0x480080017ff87ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff77ffe", + "0x482480017ff78000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x80", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x400180007ff58000", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6a", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x48127fef7fff8000", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff68000", + "0x1104800180018000", + "0x1927", + "0x20680017fff7ffa", + "0x54", + "0x20680017fff7ffd", + "0x4d", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1903", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x4707", + "0x482480017fff8000", + "0x4706", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff3", + "0x23a0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff07fff", + "0x10780017fff7fff", + "0x2a", + "0x4824800180007ff3", + "0x23a0", + "0x400080007ff17fff", + "0x482480017ff18000", + "0x1", + "0x480680017fff8000", + "0x43616c6c436f6e7472616374", + "0x400280007ffb7fff", + "0x400280017ffb7ffd", + "0x400380027ffb8001", + "0x400380037ffb8000", + "0x400280047ffb7ff5", + "0x400280057ffb7ff6", + "0x480280077ffb8000", + "0x20680017fff7fff", + "0x11", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x657865637574655f616e645f726576657274", + "0x400080007ffe7fff", + "0x48127ffb7fff8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff08000", + "0x1", + "0x482480017ff08000", + "0x30c", + "0x10780017fff7fff", + "0x3d", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x802", + "0x10780017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x482480017ff08000", + "0x152c", + "0x1104800180018000", + "0x1912", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x18a8", + "0x48127ff67fff8000", + "0x48127feb7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff68000", + "0x3", + "0x482480017ff48000", + "0x177a", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1cf2", + "0x1104800180018000", + "0x189a", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e1e", + "0x1104800180018000", + "0x1891", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x3", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xfffffffffffffffffffffffffffff7b8", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xe1", + "0x4825800180007ffa", + "0x848", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xca", + "0x400380007ffc8002", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4825800180008002", + "0x10000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff87fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480080017ff67fff", + "0x400080027ff57ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0xb0", + "0x402780017fff7fff", + "0x1", + "0x400180007ffb8002", + "0x4826800180028000", + "0xffffffffffffffff0000000000000000", + "0x400080017ffa7fff", + "0x482480017ffa8000", + "0x2", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x96", + "0x40780017fff7fff", + "0x1", + "0x48127ffd7fff8000", + "0x48127ff57fff8000", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff38000", + "0x1104800180018000", + "0x1853", + "0x20680017fff7ffa", + "0x80", + "0x20680017fff7ffd", + "0x79", + "0x40137ffe7fff8000", + "0x40137fff7fff8001", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x65", + "0x40780017fff7fff", + "0x1", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff38000", + "0x1104800180018000", + "0x183c", + "0x20680017fff7ffa", + "0x4f", + "0x20680017fff7ffd", + "0x48", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1818", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x461c", + "0x482480017fff8000", + "0x461b", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff3", + "0x74e", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff07fff", + "0x10780017fff7fff", + "0x26", + "0x4824800180007ff3", + "0x74e", + "0x400080007ff17fff", + "0x482480017ff18000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x480a80027fff8000", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x1104800180018000", + "0x19c0", + "0x20680017fff7ffd", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff08000", + "0x1", + "0x48127ff07fff8000", + "0x10780017fff7fff", + "0x4d", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x4f6", + "0x10780017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x1220", + "0x1104800180018000", + "0x182c", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x139c", + "0x10780017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x482480017ff68000", + "0x20c6", + "0x1104800180018000", + "0x17b2", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x3", + "0x482480017ff38000", + "0x1f54", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x2530", + "0x1104800180018000", + "0x17a4", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e14", + "0x1104800180018000", + "0x179b", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xc4", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xad", + "0x480280007ffc8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffc", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff77ffc", + "0x480080017ff67ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff57ffd", + "0x10780017fff7fff", + "0x95", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffb", + "0x480080007ff87ffd", + "0x480080017ff77ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff67ffe", + "0x482480017ff68000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x79", + "0x480080007ff78000", + "0x482480017ff68000", + "0x1", + "0x48127ff67fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffc", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff77ffc", + "0x480080017ff67ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff57ffd", + "0x10780017fff7fff", + "0x61", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffb", + "0x480080007ff87ffd", + "0x480080017ff77ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff67ffe", + "0x482480017ff68000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x172f", + "0x48127ff67fff8000", + "0x48127fe07fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x4533", + "0x482480017fff8000", + "0x4532", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fe4", + "0x1c5c", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x34", + "0x4824800180007fe4", + "0x1c5c", + "0x400080007ff87fff", + "0x482480017ff88000", + "0x1", + "0x480680017fff8000", + "0x476574436c617373486173684174", + "0x400280007ffb7fff", + "0x400280017ffb7ffd", + "0x400280027ffb7fe4", + "0x480280047ffb8000", + "0x20680017fff7fff", + "0x1e", + "0x480280057ffb8000", + "0x48307fec80007fff", + "0x480280037ffb8000", + "0x482680017ffb8000", + "0x6", + "0x20680017fff7ffd", + "0xd", + "0x40780017fff7fff", + "0x1", + "0x48127ff87fff8000", + "0x482480017ffc8000", + "0x320", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1929", + "0x48127ff17fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280037ffb8000", + "0x482680017ffb8000", + "0x7", + "0x480680017fff8000", + "0x1", + "0x480280057ffb8000", + "0x480280067ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017fe18000", + "0xd70", + "0x10780017fff7fff", + "0x2c", + "0x482480017ff58000", + "0x3", + "0x482480017fe98000", + "0x1202", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ff28000", + "0x1784", + "0x1104800180018000", + "0x16db", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x3", + "0x482480017ff38000", + "0x17e8", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1d6a", + "0x1104800180018000", + "0x16cd", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x16c4", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x83", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6c", + "0x480280007ffc8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x10000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff77fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480080017ff57fff", + "0x400080027ff47ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x52", + "0x402780017fff7fff", + "0x1", + "0x400080007ffa7ffc", + "0x482480017ffc8000", + "0xffffffffffffffff0000000000000000", + "0x400080017ff97fff", + "0x482480017ff98000", + "0x2", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1679", + "0x48127ff67fff8000", + "0x48127fed7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x447d", + "0x482480017fff8000", + "0x447c", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff1", + "0x111c", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x27", + "0x4824800180007ff1", + "0x111c", + "0x400080007ff87fff", + "0x482480017ff88000", + "0x1", + "0x480680017fff8000", + "0x476574426c6f636b48617368", + "0x400280007ffb7fff", + "0x400280017ffb7ffd", + "0x400280027ffb7ff1", + "0x480280047ffb8000", + "0x20680017fff7fff", + "0x11", + "0x480280037ffb8000", + "0x40780017fff7fff", + "0x1", + "0x480280057ffb8000", + "0x400080007ffe7fff", + "0x48127ffa7fff8000", + "0x48127ffc7fff8000", + "0x482680017ffb8000", + "0x6", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280037ffb8000", + "0x482680017ffb8000", + "0x7", + "0x480680017fff8000", + "0x1", + "0x480280057ffb8000", + "0x480280067ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017fee8000", + "0x14c8", + "0x10780017fff7fff", + "0x19", + "0x482480017ff48000", + "0x3", + "0x482480017ff28000", + "0x1784", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1d6a", + "0x1104800180018000", + "0x1637", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x162e", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x3", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xffffffffffffffffffffffffffff88f0", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x13d", + "0x4825800180007ffa", + "0x7710", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x126", + "0x400380007ffc8001", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4825800180008001", + "0x10000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff87fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480080017ff67fff", + "0x400080027ff57ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x10c", + "0x402780017fff7fff", + "0x1", + "0x400180007ffb8001", + "0x4826800180018000", + "0xffffffffffffffff0000000000000000", + "0x400080017ffa7fff", + "0x482480017ffa8000", + "0x2", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xfa", + "0x400180007ffa8002", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4825800180008002", + "0x10000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff87fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480080017ff67fff", + "0x400080027ff57ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0xe0", + "0x402780017fff7fff", + "0x1", + "0x400180007ffb8002", + "0x4826800180028000", + "0xffffffffffffffff0000000000000000", + "0x400080017ffa7fff", + "0x482480017ffa8000", + "0x2", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xce", + "0x400180007ffa8000", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4825800180048000", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff87ffc", + "0x480080017ff77ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff67ffd", + "0x10780017fff7fff", + "0xb6", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48317fff80008000", + "0x480080007ff97ffd", + "0x480080017ff87ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff77ffe", + "0x482480017ff78000", + "0x3", + "0x48127fe97fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x1104800180018000", + "0x17d7", + "0x20680017fff7feb", + "0x9d", + "0x20680017fff7fee", + "0x91", + "0x48307fec80007fed", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x82", + "0x482480017feb8000", + "0x1", + "0x48127feb7fff8000", + "0x480080007fe98000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6f", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0x480080007ffa8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x5c", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0x480080007ffa8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x157b", + "0x48127fd47fff8000", + "0x48127fd47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x437f", + "0x482480017fff8000", + "0x437e", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fd8", + "0x88a4", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fd57fff", + "0x10780017fff7fff", + "0x36", + "0x4824800180007fd8", + "0x88a4", + "0x400080007fd67fff", + "0x482480017fd68000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffb7fff8000", + "0x480a80017fff8000", + "0x480a80027fff8000", + "0x480a80007fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd67fff8000", + "0x48127fd97fff8000", + "0x48127fdc7fff8000", + "0x48127fdf7fff8000", + "0x1104800180018000", + "0x1a42", + "0x20680017fff7ffd", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fd58000", + "0x1", + "0x48127fd57fff8000", + "0x10780017fff7fff", + "0x5f", + "0x1104800180018000", + "0x15f9", + "0x48127fd87fff8000", + "0x48127fd87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x15f4", + "0x48127fdc7fff8000", + "0x48127fdc7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x157b", + "0x48127fe07fff8000", + "0x48127fe07fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1511", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fe97fff8000", + "0x48127fe97fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff68000", + "0x3", + "0x482480017fe88000", + "0x85ac", + "0x10780017fff7fff", + "0x1b", + "0x48127ffe7fff8000", + "0x482480017ff08000", + "0x8ac0", + "0x10780017fff7fff", + "0x16", + "0x482480017ff58000", + "0x3", + "0x482480017fed8000", + "0x89b2", + "0x10780017fff7fff", + "0x10", + "0x48127ffe7fff8000", + "0x482480017ff68000", + "0x8f2a", + "0x10780017fff7fff", + "0xb", + "0x482480017ff58000", + "0x3", + "0x482480017ff38000", + "0x8e1c", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x93f8", + "0x1104800180018000", + "0x14e5", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e14", + "0x1104800180018000", + "0x14dc", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xc3", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xac", + "0x400380007ffc8001", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4825800180048001", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff87ffc", + "0x480080017ff77ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff67ffd", + "0x10780017fff7fff", + "0x94", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48317fff80008001", + "0x480080007ff97ffd", + "0x480080017ff87ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff77ffe", + "0x482480017ff78000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7b", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x400180007ff58000", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x65", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x48127fef7fff8000", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff68000", + "0x1104800180018000", + "0x1495", + "0x20680017fff7ffa", + "0x4f", + "0x20680017fff7ffd", + "0x48", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1471", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x4275", + "0x482480017fff8000", + "0x4274", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff3", + "0x22d8", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff07fff", + "0x10780017fff7fff", + "0x25", + "0x4824800180007ff3", + "0x22d8", + "0x400080007ff17fff", + "0x482480017ff18000", + "0x1", + "0x480680017fff8000", + "0x4c69627261727943616c6c", + "0x400280007ffb7fff", + "0x400280017ffb7ffd", + "0x400380027ffb8001", + "0x400380037ffb8000", + "0x400280047ffb7ff5", + "0x400280057ffb7ff6", + "0x480280077ffb8000", + "0x20680017fff7fff", + "0xc", + "0x480280067ffb8000", + "0x48127ffc7fff8000", + "0x48127ffe7fff8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x0", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff08000", + "0x1", + "0x482480017ff08000", + "0x30c", + "0x10780017fff7fff", + "0x3d", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x802", + "0x10780017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x482480017ff08000", + "0x152c", + "0x1104800180018000", + "0x1485", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x141b", + "0x48127ff67fff8000", + "0x48127feb7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff68000", + "0x3", + "0x482480017ff48000", + "0x177a", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1cf2", + "0x1104800180018000", + "0x140d", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e1e", + "0x1104800180018000", + "0x1404", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xbe", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa7", + "0x480280007ffc8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffc", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff77ffc", + "0x480080017ff67ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff57ffd", + "0x10780017fff7fff", + "0x8f", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffb", + "0x480080007ff87ffd", + "0x480080017ff77ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff67ffe", + "0x482480017ff68000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x76", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x480080007ff58000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x63", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0x480080007ffa8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x50", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0x480080007ffa8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x3d", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0x480080007ffa8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1395", + "0x48127fe67fff8000", + "0x48127fda7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x4199", + "0x482480017fff8000", + "0x4198", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fde", + "0x50b4", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fe77fff", + "0x10780017fff7fff", + "0x16", + "0x4824800180007fde", + "0x50b4", + "0x400080007fe87fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x48127fde7fff8000", + "0x48127fe97fff8000", + "0x48127fec7fff8000", + "0x48127fef7fff8000", + "0x48127ff27fff8000", + "0x1104800180018000", + "0x19e1", + "0x482480017fcb8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fe78000", + "0x1", + "0x482480017fdb8000", + "0xb86", + "0x10780017fff7fff", + "0x41", + "0x1104800180018000", + "0x1432", + "0x48127fea7fff8000", + "0x48127fde7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x142d", + "0x48127fee7fff8000", + "0x48127fe27fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x13b4", + "0x48127ff27fff8000", + "0x48127fe67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x134a", + "0x48127ff67fff8000", + "0x48127fea7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x3", + "0x482480017ff38000", + "0x17e8", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1d6a", + "0x1104800180018000", + "0x133c", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x1333", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x80", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x69", + "0x480280007ffc8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffc", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff77ffc", + "0x480080017ff67ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff57ffd", + "0x10780017fff7fff", + "0x51", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffb", + "0x480080007ff87ffd", + "0x480080017ff77ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff67ffe", + "0x482480017ff68000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x12e8", + "0x48127ff67fff8000", + "0x48127fea7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x40ec", + "0x482480017fff8000", + "0x40eb", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fee", + "0x11c6", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x24", + "0x4824800180007fee", + "0x11c6", + "0x400080007ff87fff", + "0x482480017ff88000", + "0x1", + "0x480680017fff8000", + "0x5265706c616365436c617373", + "0x400280007ffb7fff", + "0x400280017ffb7ffd", + "0x400280027ffb7fee", + "0x480280047ffb8000", + "0x20680017fff7fff", + "0xe", + "0x480280037ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffd7fff8000", + "0x482680017ffb8000", + "0x5", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280037ffb8000", + "0x482680017ffb8000", + "0x7", + "0x480680017fff8000", + "0x1", + "0x480280057ffb8000", + "0x480280067ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017feb8000", + "0x1356", + "0x10780017fff7fff", + "0x19", + "0x482480017ff58000", + "0x3", + "0x482480017ff38000", + "0x17e8", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1d6a", + "0x1104800180018000", + "0x12a9", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x12a0", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x90", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7c", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x400380007ffc8000", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x66", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x48127ff87fff8000", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff68000", + "0x1104800180018000", + "0x127a", + "0x20680017fff7ffa", + "0x50", + "0x20680017fff7ffd", + "0x49", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1256", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x405a", + "0x482480017fff8000", + "0x4059", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff3", + "0x1cf2", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff07fff", + "0x10780017fff7fff", + "0x26", + "0x4824800180007ff3", + "0x1cf2", + "0x400080007ff17fff", + "0x482480017ff18000", + "0x1", + "0x480680017fff8000", + "0x53656e644d657373616765546f4c31", + "0x400280007ffb7fff", + "0x400280017ffb7ffd", + "0x400380027ffb8000", + "0x400280037ffb7ff5", + "0x400280047ffb7ff6", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0xe", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffd7fff8000", + "0x482680017ffb8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280057ffb8000", + "0x482680017ffb8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff08000", + "0x1", + "0x482480017ff08000", + "0x8f2", + "0x10780017fff7fff", + "0x2a", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0xde8", + "0x10780017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x482480017ff98000", + "0x1b12", + "0x1104800180018000", + "0x1209", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1204", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e28", + "0x1104800180018000", + "0x11fb", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x4c", + "0x4825800180007ffa", + "0x0", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x11d1", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3fd4", + "0x482480017fff8000", + "0x3fd3", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0x41a", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x23", + "0x4824800180007ff8", + "0x41a", + "0x400080007ff87fff", + "0x48027ffd7ff98000", + "0x48027ffe7ff98000", + "0x48027fff7ff98000", + "0x400280007ff97ffd", + "0x482480017ffe8000", + "0x1", + "0x400280017ff97fff", + "0x400280027ff97ffe", + "0x484480017ffd8000", + "0x3", + "0x48307fff7ffb8000", + "0x482480017ff28000", + "0x1", + "0x482680017ff98000", + "0x3", + "0x48127ff77fff8000", + "0x480080007ffc8000", + "0x1104800180018000", + "0x185e", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017ff58000", + "0x18d8", + "0x10780017fff7fff", + "0x6", + "0x482680017ff88000", + "0x1", + "0x482680017ffa8000", + "0x1e32", + "0x1104800180018000", + "0x119c", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xffffffffffffffffffffffffffffff88", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xe6", + "0x4825800180007ffa", + "0x78", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xcf", + "0x400380007ffc8001", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4825800180048001", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff87ffc", + "0x480080017ff77ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff67ffd", + "0x10780017fff7fff", + "0xb7", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48317fff80008001", + "0x480080007ff97ffd", + "0x480080017ff87ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff77ffe", + "0x482480017ff78000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x9e", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x400180007ff58000", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x88", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x48127fef7fff8000", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff68000", + "0x1104800180018000", + "0x1154", + "0x20680017fff7ffa", + "0x72", + "0x20680017fff7ffd", + "0x6b", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x5c", + "0x480080007ffa8000", + "0x482480017ff98000", + "0x1", + "0x48127ff97fff8000", + "0x20680017fff7ffd", + "0x7", + "0x48127ff57fff8000", + "0x480680017fff8000", + "0x1", + "0x10780017fff7fff", + "0x6", + "0x482480017ff58000", + "0x64", + "0x480680017fff8000", + "0x0", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x111c", + "0x48127fe97fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3f20", + "0x482480017fff8000", + "0x3f1f", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0x2774", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fea7fff", + "0x10780017fff7fff", + "0x2b", + "0x4824800180007ff8", + "0x2774", + "0x400080007feb7fff", + "0x480680017fff8000", + "0x1", + "0x48307ff780007fff", + "0x482480017fe98000", + "0x1", + "0x480680017fff8000", + "0x4465706c6f79", + "0x400280007ffb7fff", + "0x400280017ffb7ffb", + "0x400380027ffb8001", + "0x400380037ffb8000", + "0x400280047ffb7fed", + "0x400280057ffb7fee", + "0x400280067ffb7ffd", + "0x480280087ffb8000", + "0x20680017fff7fff", + "0xe", + "0x480280077ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffd7fff8000", + "0x482680017ffb8000", + "0xc", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280077ffb8000", + "0x482680017ffb8000", + "0xb", + "0x480680017fff8000", + "0x1", + "0x480280097ffb8000", + "0x4802800a7ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017fea8000", + "0x1", + "0x48127ff57fff8000", + "0x10780017fff7fff", + "0x47", + "0x1104800180018000", + "0x11aa", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x87a", + "0x10780017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x482480017ff08000", + "0x15a4", + "0x1104800180018000", + "0x1121", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x10b7", + "0x48127ff67fff8000", + "0x48127feb7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff68000", + "0x3", + "0x482480017ff48000", + "0x17f2", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1d6a", + "0x1104800180018000", + "0x10a9", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e1e", + "0x1104800180018000", + "0x10a0", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x7f", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x68", + "0x480280007ffc8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8000", + "0x16", + "0x480080007ffa8003", + "0x480080017ff98003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ff9", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027ff57ffd", + "0x20680017fff7ffe", + "0x4a", + "0x402780017fff7fff", + "0x1", + "0x400080007ffa7ffc", + "0x482480017ffa8000", + "0x1", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1054", + "0x48127ff67fff8000", + "0x48127fee7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3e58", + "0x482480017fff8000", + "0x3e57", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff2", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x22", + "0x4824800180007ff2", + "0x0", + "0x400080007ff87fff", + "0x482480017ff88000", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff27fff8000", + "0x1104800180018000", + "0x17ad", + "0x20680017fff7ffd", + "0xf", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ffe", + "0x48127ffa7fff8000", + "0x482480017ffa8000", + "0x1072", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017fef8000", + "0x15d6", + "0x10780017fff7fff", + "0x19", + "0x482480017ff58000", + "0x3", + "0x482480017ff38000", + "0x1720", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1d6a", + "0x1104800180018000", + "0x1017", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x100e", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x47", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0xfe4", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3de8", + "0x482480017fff8000", + "0x3de7", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0x7ad0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x1f", + "0x4824800180007ff8", + "0x7ad0", + "0x400080007ff87fff", + "0x482480017ff88000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x17e7", + "0x20680017fff7ffd", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017ff58000", + "0x193c", + "0x10780017fff7fff", + "0x6", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0xfb4", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x47", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0xf8a", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3d8e", + "0x482480017fff8000", + "0x3d8d", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0x4362", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x1f", + "0x4824800180007ff8", + "0x4362", + "0x400080007ff87fff", + "0x482480017ff88000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x183d", + "0x20680017fff7ffd", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017ff58000", + "0x193c", + "0x10780017fff7fff", + "0x6", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0xf5a", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x4e", + "0x4825800180007ffa", + "0x0", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0xf30", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3d33", + "0x482480017fff8000", + "0x3d32", + "0x480080007fff8000", + "0x480080017fff8000", + "0x484480017fff8000", + "0x8", + "0x482480017fff8000", + "0x3fe1c", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ff5", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff47fff", + "0x10780017fff7fff", + "0x21", + "0x48307ffe80007ff5", + "0x400080007ff57fff", + "0x482480017ff58000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x182a", + "0x20680017fff7ffd", + "0xd", + "0x40780017fff7fff", + "0x1", + "0x48127ff87fff8000", + "0x48127ff97fff8000", + "0x48127ff77fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x48127ffa7fff8000", + "0x48127ff87fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff48000", + "0x1", + "0x482480017ff28000", + "0x17ac", + "0x10780017fff7fff", + "0x6", + "0x482680017ff88000", + "0x1", + "0x482680017ffa8000", + "0x1e32", + "0x1104800180018000", + "0xef9", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x47", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0xece", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3cd2", + "0x482480017fff8000", + "0x3cd1", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0xe010", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x1f", + "0x4824800180007ff8", + "0xe010", + "0x400080007ff87fff", + "0x482480017ff88000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x1922", + "0x20680017fff7ffd", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017ff58000", + "0x193c", + "0x10780017fff7fff", + "0x6", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0xe9e", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x47", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0xe74", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3c78", + "0x482480017fff8000", + "0x3c77", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0x36682", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x1f", + "0x4824800180007ff8", + "0x36682", + "0x400080007ff87fff", + "0x482480017ff88000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x1a60", + "0x20680017fff7ffd", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017ff58000", + "0x193c", + "0x10780017fff7fff", + "0x6", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0xe44", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x71", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x5d", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480280007ffc8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x4a", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0x480080007ffa8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0xe08", + "0x48127fee7fff8000", + "0x48127fec7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3c0c", + "0x482480017fff8000", + "0x3c0b", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff0", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fef7fff", + "0x10780017fff7fff", + "0x23", + "0x4824800180007ff0", + "0x0", + "0x400080007ff07fff", + "0x48307ff880007ff4", + "0x482480017fef8000", + "0x1", + "0x20680017fff7ffe", + "0x11", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x73756363657373", + "0x400080007ffe7fff", + "0x48127ffd7fff8000", + "0x482480017ffa8000", + "0x1874", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1b34", + "0x48127ff77fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x1", + "0x482480017fed8000", + "0x1554", + "0x10780017fff7fff", + "0x1a", + "0x1104800180018000", + "0xdce", + "0x48127ff27fff8000", + "0x48127ff07fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xdc9", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0xdc0", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x7b", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x64", + "0x40780017fff7fff", + "0x1", + "0x48127ffd7fff8000", + "0x48127ffb7fff8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480280007ffc8000", + "0x1104800180018000", + "0xda5", + "0x20680017fff7ffa", + "0x4e", + "0x20680017fff7ffd", + "0x47", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0xd81", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3b85", + "0x482480017fff8000", + "0x3b84", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff3", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff07fff", + "0x10780017fff7fff", + "0x24", + "0x4824800180007ff3", + "0x0", + "0x400080007ff17fff", + "0x482480017ff18000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x1104800180018000", + "0x1ac0", + "0x20680017fff7ffd", + "0xf", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ffe", + "0x48127ff97fff8000", + "0x482480017ff98000", + "0x528", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff08000", + "0x1", + "0x482480017ff08000", + "0xb4a", + "0x10780017fff7fff", + "0x20", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x1040", + "0x10780017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1d6a", + "0x1104800180018000", + "0xd3b", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0xd32", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x38", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0xd08", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3b0c", + "0x482480017fff8000", + "0x3b0b", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x10", + "0x4824800180007ff8", + "0x0", + "0x400080007ff87fff", + "0x1104800180018000", + "0x1b4c", + "0x482480017ff08000", + "0x1", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017ff58000", + "0x193c", + "0x10780017fff7fff", + "0x6", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0xce7", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x5b", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x47", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480280007ffc8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0xcb4", + "0x48127ff27fff8000", + "0x48127ff07fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3ab8", + "0x482480017fff8000", + "0x3ab7", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff4", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff37fff", + "0x10780017fff7fff", + "0x20", + "0x4824800180007ff4", + "0x0", + "0x400080007ff47fff", + "0x482480017ff48000", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff67fff8000", + "0x1104800180018000", + "0x1af9", + "0x20680017fff7ffd", + "0xd", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ffa8000", + "0x12b6", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff38000", + "0x1", + "0x482480017ff18000", + "0x1748", + "0x10780017fff7fff", + "0x10", + "0x1104800180018000", + "0xc82", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0xc79", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x5b", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x47", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480280007ffc8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0xc46", + "0x48127ff27fff8000", + "0x48127ff07fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3a4a", + "0x482480017fff8000", + "0x3a49", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff4", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff37fff", + "0x10780017fff7fff", + "0x20", + "0x4824800180007ff4", + "0x0", + "0x400080007ff47fff", + "0x482480017ff48000", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff67fff8000", + "0x1104800180018000", + "0x1ab3", + "0x20680017fff7ffd", + "0xd", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ffa8000", + "0x12b6", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff38000", + "0x1", + "0x482480017ff18000", + "0x1748", + "0x10780017fff7fff", + "0x10", + "0x1104800180018000", + "0xc14", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0xc0b", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xbe", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa7", + "0x480280007ffc8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffc", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff77ffc", + "0x480080017ff67ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff57ffd", + "0x10780017fff7fff", + "0x8f", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffb", + "0x480080007ff87ffd", + "0x480080017ff77ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff67ffe", + "0x482480017ff68000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x76", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x480080007ff58000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x63", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0x480080007ffa8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0xbae", + "0x48127fee7fff8000", + "0x48127fe27fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x39b2", + "0x482480017fff8000", + "0x39b1", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fe6", + "0x1ac2", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fef7fff", + "0x10780017fff7fff", + "0x3c", + "0x4824800180007fe6", + "0x1ac2", + "0x400080007ff07fff", + "0x482480017ff08000", + "0x1", + "0x20680017fff7ff7", + "0x9", + "0x40780017fff7fff", + "0x7", + "0x482480017ff78000", + "0x2ca6", + "0x480a7ffb7fff8000", + "0x10780017fff7fff", + "0x1b", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7fe6", + "0x400080017fff7ff2", + "0x4824800180007ff6", + "0x1", + "0x400080027ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x3", + "0x480680017fff8000", + "0x43616c6c436f6e7472616374", + "0x400280007ffb7fff", + "0x400280017ffb7ff9", + "0x400280027ffb7fe2", + "0x400280037ffb7fee", + "0x400280047ffb7ffd", + "0x400280057ffb7ffe", + "0x480280077ffb8000", + "0x20680017fff7fff", + "0x10", + "0x480280067ffb8000", + "0x48127fff7fff8000", + "0x482680017ffb8000", + "0xa", + "0x40780017fff7fff", + "0x1", + "0x48127ff57fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x1", + "0x482480017fe38000", + "0xf6e", + "0x10780017fff7fff", + "0x2d", + "0x1104800180018000", + "0xbbb", + "0x48127ff27fff8000", + "0x48127fe67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xb51", + "0x48127ff67fff8000", + "0x48127fea7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x3", + "0x482480017ff38000", + "0x17e8", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1d6a", + "0x1104800180018000", + "0xb43", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0xb3a", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x8d", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x78", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480280007ffc8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x64", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0x480080007ffa8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x50", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0x480080007ffa8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0xaf5", + "0x480a7ff87fff8000", + "0x48127fe97fff8000", + "0x48127fe77fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x38f8", + "0x482480017fff8000", + "0x38f7", + "0x480080007fff8000", + "0x480080007fff8000", + "0x484480017fff8000", + "0x2", + "0x482480017fff8000", + "0xab5e", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007fe9", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fe87fff", + "0x10780017fff7fff", + "0x24", + "0x48307ffe80007fe9", + "0x400080007fe97fff", + "0x482480017fe98000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ff87fff8000", + "0x480a7ffb7fff8000", + "0x48127fe97fff8000", + "0x48127fec7fff8000", + "0x48127fef7fff8000", + "0x1104800180018000", + "0x1983", + "0x20680017fff7ffd", + "0xd", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fe88000", + "0x1", + "0x482480017fe68000", + "0x11d0", + "0x10780017fff7fff", + "0x27", + "0x1104800180018000", + "0xb15", + "0x480a7ff87fff8000", + "0x48127fed7fff8000", + "0x48127feb7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xaaa", + "0x480a7ff87fff8000", + "0x48127ff17fff8000", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xaa4", + "0x480a7ff87fff8000", + "0x48127ff57fff8000", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e32", + "0x1104800180018000", + "0xa9a", + "0x480a7ff87fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0xcb", + "0x4825800180007ffa", + "0x0", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb2", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480280007ffc8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa4", + "0x480080007ffc8000", + "0x482480017ffb8000", + "0x1", + "0x48127ffb7fff8000", + "0xa0680017fff8000", + "0x16", + "0x480080007ff68003", + "0x480080017ff58003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ff9", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027ff17ffd", + "0x20680017fff7ffe", + "0x86", + "0x402780017fff7fff", + "0x1", + "0x400080007ff67ffc", + "0x482480017ff68000", + "0x1", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x77", + "0x480080007ffb8000", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x16", + "0x480080007ffa8003", + "0x480080017ff98003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ff9", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027ff57ffd", + "0x20680017fff7ffe", + "0x59", + "0x402780017fff7fff", + "0x1", + "0x400080007ffa7ffc", + "0x482480017ffa8000", + "0x1", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xe", + "0x1104800180018000", + "0xa22", + "0x480a7ff77fff8000", + "0x48127ff57fff8000", + "0x480a7ff97fff8000", + "0x48127fe27fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3824", + "0x482480017fff8000", + "0x3823", + "0x480080007fff8000", + "0x480080007fff8000", + "0x484480017fff8000", + "0x2", + "0x482480017fff8000", + "0xb57c", + "0x480080017ffc8000", + "0x484480017fff8000", + "0x2", + "0x48307ffd7fff8000", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007fe2", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff17fff", + "0x10780017fff7fff", + "0x27", + "0x48307ffe80007fe2", + "0x400080007ff27fff", + "0x482480017ff28000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x480a7ff77fff8000", + "0x480a7ffb7fff8000", + "0x48127fe17fff8000", + "0x48127fe27fff8000", + "0x48127fe77fff8000", + "0x1104800180018000", + "0x196d", + "0x20680017fff7ffd", + "0xe", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x48127ff67fff8000", + "0x48127ff77fff8000", + "0x48127ff57fff8000", + "0x48127ff77fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ff77fff8000", + "0x48127ff87fff8000", + "0x48127ff67fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff18000", + "0x1", + "0x482480017fdf8000", + "0xd5c", + "0x10780017fff7fff", + "0x2b", + "0x482480017ff58000", + "0x3", + "0x482480017fe98000", + "0x10fe", + "0x10780017fff7fff", + "0x15", + "0x48127ffe7fff8000", + "0x482480017ff28000", + "0x16e4", + "0x10780017fff7fff", + "0x10", + "0x482480017ff18000", + "0x3", + "0x482480017fef8000", + "0x1464", + "0x10780017fff7fff", + "0xa", + "0x48127ffa7fff8000", + "0x482480017ff88000", + "0x1a4a", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1ca2", + "0x1104800180018000", + "0x9c6", + "0x480a7ff77fff8000", + "0x48127ff57fff8000", + "0x480a7ff97fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff88000", + "0x1", + "0x482680017ffa8000", + "0x1dce", + "0x1104800180018000", + "0x9bb", + "0x480a7ff77fff8000", + "0x48127ff57fff8000", + "0x480a7ff97fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x100", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xe9", + "0x480280007ffc8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffc", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff77ffc", + "0x480080017ff67ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff57ffd", + "0x10780017fff7fff", + "0xd1", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffb", + "0x480080007ff87ffd", + "0x480080017ff77ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff67ffe", + "0x482480017ff68000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb5", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x480080007ff58000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa7", + "0x480080007ffc8000", + "0x482480017ffb8000", + "0x1", + "0x48127ffb7fff8000", + "0xa0680017fff8000", + "0x16", + "0x480080007ff68003", + "0x480080017ff58003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ff9", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027ff17ffd", + "0x20680017fff7ffe", + "0x89", + "0x402780017fff7fff", + "0x1", + "0x400080007ff67ffc", + "0x482480017ff68000", + "0x1", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7a", + "0x480080007ffb8000", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0xa0680017fff8000", + "0x16", + "0x480080007ffa8003", + "0x480080017ff98003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ff9", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027ff57ffd", + "0x20680017fff7ffe", + "0x5c", + "0x402780017fff7fff", + "0x1", + "0x400080007ffa7ffc", + "0x482480017ffa8000", + "0x1", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x921", + "0x48127ff67fff8000", + "0x48127fda7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3725", + "0x482480017fff8000", + "0x3724", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fde", + "0x1f9a", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x34", + "0x4824800180007fde", + "0x1f9a", + "0x400080007ff87fff", + "0x40780017fff7fff", + "0x1", + "0x48127feb7fff8000", + "0x48127fec7fff8000", + "0x48127ff17fff8000", + "0x400080007ffc7ffd", + "0x400080017ffc7ffe", + "0x400080027ffc7fff", + "0x480680017fff8000", + "0x7772be8b80a8a33dc6c1f9a6ab820c02e537c73e859de67f288c70f92571bb", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x3", + "0x482480017ff18000", + "0x1", + "0x480680017fff8000", + "0x43616c6c436f6e7472616374", + "0x400280007ffb7fff", + "0x400280017ffb7ff6", + "0x400280027ffb7fd7", + "0x400280037ffb7ffb", + "0x400280047ffb7ffc", + "0x400280057ffb7ffd", + "0x480280077ffb8000", + "0x20680017fff7fff", + "0xe", + "0x480280067ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffd7fff8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017fdb8000", + "0xa96", + "0x10780017fff7fff", + "0x3c", + "0x482480017ff58000", + "0x3", + "0x482480017fdf8000", + "0xbe0", + "0x10780017fff7fff", + "0x15", + "0x48127ffe7fff8000", + "0x482480017fe88000", + "0x11c6", + "0x10780017fff7fff", + "0x10", + "0x482480017ff18000", + "0x3", + "0x482480017fe58000", + "0xf46", + "0x10780017fff7fff", + "0xa", + "0x48127ffa7fff8000", + "0x482480017fee8000", + "0x152c", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ff28000", + "0x1784", + "0x1104800180018000", + "0x8bd", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x3", + "0x482480017ff38000", + "0x17e8", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1d6a", + "0x1104800180018000", + "0x8af", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x8a6", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x4c", + "0x4825800180007ffa", + "0x0", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x87c", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x367f", + "0x482480017fff8000", + "0x367e", + "0x480080007fff8000", + "0x480080027fff8000", + "0x482480017fff8000", + "0x69aa", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ff6", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x21", + "0x48307ffe80007ff6", + "0x400080007ff67fff", + "0x480a7ff97fff8000", + "0x48127ffe7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x1902", + "0x482480017f848000", + "0x1", + "0x20680017fff7ffc", + "0xd", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x1", + "0x482480017ff38000", + "0x1810", + "0x10780017fff7fff", + "0x6", + "0x482680017ff88000", + "0x1", + "0x482680017ffa8000", + "0x1e32", + "0x1104800180018000", + "0x847", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x63", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x4e", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480280007ffc8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x813", + "0x480a7ff87fff8000", + "0x48127ff17fff8000", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3616", + "0x482480017fff8000", + "0x3615", + "0x480080007fff8000", + "0x480080007fff8000", + "0x484480017fff8000", + "0x2", + "0x482480017fff8000", + "0xdc78", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ff1", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff07fff", + "0x10780017fff7fff", + "0x22", + "0x48307ffe80007ff1", + "0x400080007ff17fff", + "0x482480017ff18000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ff87fff8000", + "0x480a7ffb7fff8000", + "0x48127ff17fff8000", + "0x1104800180018000", + "0x19bf", + "0x20680017fff7ffd", + "0xd", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff08000", + "0x1", + "0x482480017fee8000", + "0x15b8", + "0x10780017fff7fff", + "0x11", + "0x1104800180018000", + "0x7da", + "0x480a7ff87fff8000", + "0x48127ff57fff8000", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e32", + "0x1104800180018000", + "0x7d0", + "0x480a7ff87fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x6c", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x58", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480280007ffc8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x79c", + "0x48127ff27fff8000", + "0x48127ff07fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x35a0", + "0x482480017fff8000", + "0x359f", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff4", + "0x1158", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff37fff", + "0x10780017fff7fff", + "0x31", + "0x4824800180007ff4", + "0x1158", + "0x400080007ff47fff", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0xc", + "0x400080007ffe7fff", + "0x480680017fff8000", + "0x22", + "0x400080017ffd7fff", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x2", + "0x482480017fef8000", + "0x1", + "0x480680017fff8000", + "0x53656e644d657373616765546f4c31", + "0x400280007ffb7fff", + "0x400280017ffb7ff8", + "0x400280027ffb7ff1", + "0x400280037ffb7ffc", + "0x400280047ffb7ffd", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0xe", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffd7fff8000", + "0x482680017ffb8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280057ffb8000", + "0x482680017ffb8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff38000", + "0x1", + "0x482480017ff18000", + "0x1748", + "0x10780017fff7fff", + "0x10", + "0x1104800180018000", + "0x759", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x750", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff67fff", + "0x10780017fff7fff", + "0x59", + "0x4825800180007ffa", + "0x0", + "0x400280007ff67fff", + "0x482680017ff68000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xf", + "0x1104800180018000", + "0x726", + "0x48127ff67fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x48127ff17fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3527", + "0x482480017fff8000", + "0x3526", + "0x480080007fff8000", + "0x480080047fff8000", + "0x484480017fff8000", + "0x2", + "0x482480017fff8000", + "0xfe12", + "0x480080057ffc8000", + "0x484480017fff8000", + "0x4", + "0x48307ffd7fff8000", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ff2", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff17fff", + "0x10780017fff7fff", + "0x26", + "0x48307ffe80007ff2", + "0x400080007ff27fff", + "0x482480017ff28000", + "0x1", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ff77fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x19f3", + "0x20680017fff7ffd", + "0xf", + "0x40780017fff7fff", + "0x1", + "0x48127ff77fff8000", + "0x48127ff97fff8000", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x48127ff77fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff77fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ffa7fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff18000", + "0x1", + "0x482480017fef8000", + "0x15b8", + "0x10780017fff7fff", + "0x6", + "0x482680017ff68000", + "0x1", + "0x482680017ffa8000", + "0x1d6a", + "0x1104800180018000", + "0x6e4", + "0x48127ff67fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x58", + "0x4825800180007ffa", + "0x0", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x6b7", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x34ba", + "0x482480017fff8000", + "0x34b9", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x2f", + "0x4824800180007ff8", + "0x0", + "0x400080007ff87fff", + "0x480a7ff97fff8000", + "0x1104800180018000", + "0x1b35", + "0x482480017fe88000", + "0x1", + "0x20680017fff7ffc", + "0x1c", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x1b2e", + "0x20680017fff7ffd", + "0xe", + "0x40780017fff7fff", + "0x1", + "0x48127fee7fff8000", + "0x48127ffa7fff8000", + "0x482480017fdb8000", + "0x650", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127fef7fff8000", + "0x48127ffb7fff8000", + "0x48127fdc7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ffa7fff8000", + "0x48127fec7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017ff58000", + "0x18d8", + "0x10780017fff7fff", + "0x6", + "0x482680017ff88000", + "0x1", + "0x482680017ffa8000", + "0x1e32", + "0x1104800180018000", + "0x676", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xc1", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xaa", + "0x400380007ffc8001", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4825800180048001", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff87ffc", + "0x480080017ff77ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff67ffd", + "0x10780017fff7fff", + "0x92", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48317fff80008001", + "0x480080007ff97ffd", + "0x480080017ff87ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff77ffe", + "0x482480017ff78000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x79", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x400180007ff58000", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x63", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x48127fef7fff8000", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff68000", + "0x1104800180018000", + "0x62e", + "0x20680017fff7ffa", + "0x4d", + "0x20680017fff7ffd", + "0x46", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x60a", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x340e", + "0x482480017fff8000", + "0x340d", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff3", + "0x10f36", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff07fff", + "0x10780017fff7fff", + "0x23", + "0x4824800180007ff3", + "0x10f36", + "0x400080007ff17fff", + "0x48127fff7fff8000", + "0x480a7ffb7fff8000", + "0x480a80017fff8000", + "0x480a80007fff8000", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x1104800180018000", + "0x1aa5", + "0x482480017faa8000", + "0x1", + "0x20680017fff7ffc", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff08000", + "0x1", + "0x482480017ff08000", + "0x30c", + "0x10780017fff7fff", + "0x3d", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x802", + "0x10780017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x482480017ff08000", + "0x152c", + "0x1104800180018000", + "0x620", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x5b6", + "0x48127ff67fff8000", + "0x48127feb7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff68000", + "0x3", + "0x482480017ff48000", + "0x177a", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1cf2", + "0x1104800180018000", + "0x5a8", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e1e", + "0x1104800180018000", + "0x59f", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x4e", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x3a", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480280007ffc8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x56c", + "0x48127ff27fff8000", + "0x48127ff07fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3370", + "0x482480017fff8000", + "0x336f", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff4", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff37fff", + "0x10780017fff7fff", + "0x13", + "0x4824800180007ff4", + "0x0", + "0x400080007ff47fff", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ff7", + "0x482480017ff38000", + "0x1", + "0x482480017ffd8000", + "0x1bf8", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x482480017ff38000", + "0x1", + "0x482480017ff18000", + "0x1748", + "0x10780017fff7fff", + "0x10", + "0x1104800180018000", + "0x547", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x53e", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x39", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x514", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3318", + "0x482480017fff8000", + "0x3317", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x11", + "0x4824800180007ff8", + "0x0", + "0x400080007ff87fff", + "0x40780017fff7fff", + "0x1", + "0x482480017ff78000", + "0x1", + "0x482480017ffd8000", + "0x1e50", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017ff58000", + "0x193c", + "0x10780017fff7fff", + "0x6", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x4f2", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x39", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x4c8", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x32cc", + "0x482480017fff8000", + "0x32cb", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x11", + "0x4824800180007ff8", + "0x0", + "0x400080007ff87fff", + "0x40780017fff7fff", + "0x1", + "0x482480017ff78000", + "0x1", + "0x482480017ffd8000", + "0x1e50", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017ff58000", + "0x193c", + "0x10780017fff7fff", + "0x6", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x4a6", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x43", + "0x4825800180007ffa", + "0x0", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x47c", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x327f", + "0x482480017fff8000", + "0x327e", + "0x480080007fff8000", + "0x480080017fff8000", + "0x482480017fff8000", + "0x0", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ff6", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x18", + "0x48307ffe80007ff6", + "0x400080007ff67fff", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x2", + "0x400280007ff97ffe", + "0x400280017ff97fff", + "0x40780017fff7fff", + "0x1", + "0x482480017ff38000", + "0x1", + "0x482680017ff98000", + "0x5", + "0x482480017ffa8000", + "0x1b94", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x1", + "0x482480017ff38000", + "0x1810", + "0x10780017fff7fff", + "0x6", + "0x482680017ff88000", + "0x1", + "0x482680017ffa8000", + "0x1e32", + "0x1104800180018000", + "0x450", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x43", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x425", + "0x480a7ff87fff8000", + "0x48127ff57fff8000", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3228", + "0x482480017fff8000", + "0x3227", + "0x480080007fff8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0x0", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ff6", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x18", + "0x48307ffe80007ff6", + "0x400080007ff67fff", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x400280007ff87ffe", + "0x400280017ff87fff", + "0x40780017fff7fff", + "0x1", + "0x482680017ff88000", + "0x3", + "0x482480017ff28000", + "0x1", + "0x482480017ffa8000", + "0x1b94", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x1", + "0x482480017ff38000", + "0x1810", + "0x10780017fff7fff", + "0x6", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e32", + "0x1104800180018000", + "0x3f9", + "0x480a7ff87fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x4a", + "0x4825800180007ffa", + "0x0", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x3ce", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x31d1", + "0x482480017fff8000", + "0x31d0", + "0x480080007fff8000", + "0x480080037fff8000", + "0x482480017fff8000", + "0x0", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ff6", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x1f", + "0x48307ffe80007ff6", + "0x400080007ff67fff", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x482480017ffe8000", + "0x1", + "0x482480017ffe8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x400280007ff97ffd", + "0x400280017ff97ffe", + "0x400280027ff97fff", + "0x40780017fff7fff", + "0x1", + "0x482480017ff08000", + "0x1", + "0x482680017ff98000", + "0x6", + "0x482480017ff78000", + "0x1a04", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x1", + "0x482480017ff38000", + "0x1810", + "0x10780017fff7fff", + "0x6", + "0x482680017ff88000", + "0x1", + "0x482680017ffa8000", + "0x1e32", + "0x1104800180018000", + "0x39b", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x67", + "0x4825800180007ffa", + "0x0", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xd", + "0x1104800180018000", + "0x370", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x3173", + "0x482480017fff8000", + "0x3172", + "0x480080007fff8000", + "0x480080027fff8000", + "0x482480017fff8000", + "0x0", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007ff6", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x3c", + "0x48307ffe80007ff6", + "0x400080007ff67fff", + "0x480680017fff8000", + "0xbe96d72eb4f94078192c2e84d5230cde2a70f4b45c8797e2c907acff5060bb", + "0x480680017fff8000", + "0x3c5906a3bc4858a3fc46f5d63a29ff95f31b816586c35b221405f884cb17bc3", + "0x482480017ff48000", + "0x1", + "0x48507ffe7ffe8000", + "0x48507ffc7ffc8001", + "0x48507ffb80008001", + "0x482480017ffa8001", + "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", + "0x483080007fff7ffd", + "0x48307ffc80007ffb", + "0x20680017fff7fff", + "0x20", + "0x4800800080068004", + "0x4800800180058004", + "0x4850800380037ffe", + "0x4850800180017ffe", + "0x485080007ffd7ffe", + "0x482480017fff7ffe", + "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", + "0x48307ffd7ffc7ffa", + "0x480680017fff8000", + "0x2", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x400280007ff97ffa", + "0x400280017ff97ffb", + "0x400280027ff97ffe", + "0x400280037ff97fff", + "0x400280047ff97ffd", + "0x40780017fff7fff", + "0x1", + "0x48127fee7fff8000", + "0x482680017ff98000", + "0x7", + "0x482480017fe98000", + "0x1360", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x33a", + "0x48127ff17fff8000", + "0x480a7ff97fff8000", + "0x48127fec7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x1", + "0x482480017ff38000", + "0x1810", + "0x10780017fff7fff", + "0x6", + "0x482680017ff88000", + "0x1", + "0x482680017ffa8000", + "0x1e32", + "0x1104800180018000", + "0x320", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x48127ff57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff37fff", + "0x10780017fff7fff", + "0x72", + "0x4825800180007ffa", + "0x0", + "0x400280007ff37fff", + "0x482680017ff38000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x13", + "0x1104800180018000", + "0x2f5", + "0x480a7ff27fff8000", + "0x48127ff57fff8000", + "0x480a7ff47fff8000", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x48127fed7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x30f2", + "0x482480017fff8000", + "0x30f1", + "0x480080007fff8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0x1b79e", + "0x480080037ffd8000", + "0x48307ffe7fff8000", + "0x480080017ffb8000", + "0x48307ffe7fff8000", + "0x480080027ff98000", + "0x48307ffe7fff8000", + "0x480080047ff78000", + "0x484480017fff8000", + "0x2", + "0x48307ffd7fff8000", + "0x480080057ff48000", + "0x484480017fff8000", + "0x4", + "0x48307ffd7fff8000", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007fea", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fe97fff", + "0x10780017fff7fff", + "0x33", + "0x48307ffe80007fea", + "0x400080007fea7fff", + "0x482480017fea8000", + "0x1", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ff77fff8000", + "0x480a7ff57fff8000", + "0x48127ffa7fff8000", + "0x480a7ff47fff8000", + "0x480a7ff27fff8000", + "0x480a7ff67fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x18c9", + "0x20680017fff7ffd", + "0x13", + "0x40780017fff7fff", + "0x1", + "0x48127ff97fff8000", + "0x48127ff17fff8000", + "0x48127ff67fff8000", + "0x48127ff37fff8000", + "0x48127ff67fff8000", + "0x48127ff07fff8000", + "0x48127fed7fff8000", + "0x48127fed7fff8000", + "0x48127fef7fff8000", + "0x48127ff27fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff47fff8000", + "0x48127ff37fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ff27fff8000", + "0x48127ff77fff8000", + "0x48127ff47fff8000", + "0x48127ff77fff8000", + "0x48127ff17fff8000", + "0x48127fee7fff8000", + "0x48127fee7fff8000", + "0x48127ff07fff8000", + "0x48127ff37fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fe98000", + "0x1", + "0x482480017fe78000", + "0x1108", + "0x10780017fff7fff", + "0x6", + "0x482680017ff38000", + "0x1", + "0x482680017ffa8000", + "0x1bda", + "0x1104800180018000", + "0x29a", + "0x480a7ff27fff8000", + "0x48127ff57fff8000", + "0x480a7ff47fff8000", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x48127fef7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x60", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x4c", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x3a", + "0x482480017ffd8000", + "0x1", + "0x48127ffd7fff8000", + "0x480080007ffb8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x258", + "0x48127fef7fff8000", + "0x48127fed7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x305c", + "0x482480017fff8000", + "0x305b", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff1", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff07fff", + "0x10780017fff7fff", + "0x13", + "0x4824800180007ff1", + "0x0", + "0x400080007ff17fff", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ff7", + "0x482480017ff08000", + "0x1", + "0x482480017ffd8000", + "0x1a68", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x482480017ff08000", + "0x1", + "0x482480017fee8000", + "0x15b8", + "0x10780017fff7fff", + "0x1a", + "0x1104800180018000", + "0x22e", + "0x48127ff37fff8000", + "0x48127ff17fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x229", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x220", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xab", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x97", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x82", + "0x480080007ffd8000", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffc", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff47ffc", + "0x480080017ff37ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff27ffd", + "0x10780017fff7fff", + "0x6a", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffb", + "0x480080007ff57ffd", + "0x480080017ff47ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff37ffe", + "0x482480017ff38000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x51", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x480080007ff58000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1c4", + "0x48127ff27fff8000", + "0x48127fe37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x2fc8", + "0x482480017fff8000", + "0x2fc7", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fe7", + "0x16da", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff37fff", + "0x10780017fff7fff", + "0x2a", + "0x4824800180007fe7", + "0x16da", + "0x400080007ff47fff", + "0x480680017fff8000", + "0x0", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffc", + "0x400280027ffb7ffd", + "0x400280037ffb7fe9", + "0x400280047ffb7ff5", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0x10", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7ff2", + "0x48127ffb7fff8000", + "0x48127ffd7fff8000", + "0x482680017ffb8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280057ffb8000", + "0x482680017ffb8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff38000", + "0x1", + "0x482480017fe48000", + "0xfd2", + "0x10780017fff7fff", + "0x2d", + "0x1104800180018000", + "0x1e3", + "0x48127ff67fff8000", + "0x48127fe77fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff28000", + "0x3", + "0x482480017ff08000", + "0x1658", + "0x10780017fff7fff", + "0x5", + "0x48127ffb7fff8000", + "0x482480017ff98000", + "0x1bda", + "0x1104800180018000", + "0x170", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x16b", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x162", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xa8", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x94", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7f", + "0x480080007ffd8000", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffc", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff47ffc", + "0x480080017ff37ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027ff27ffd", + "0x10780017fff7fff", + "0x67", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ffb", + "0x480080007ff57ffd", + "0x480080017ff47ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027ff37ffe", + "0x482480017ff38000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x4e", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x480080007ff58000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x106", + "0x48127ff27fff8000", + "0x48127fe37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x2f0a", + "0x482480017fff8000", + "0x2f09", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007fe7", + "0x1932", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff37fff", + "0x10780017fff7fff", + "0x27", + "0x4824800180007fe7", + "0x1932", + "0x400080007ff47fff", + "0x480680017fff8000", + "0x0", + "0x482480017ff38000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffc", + "0x400280027ffb7ffd", + "0x400280037ffb7fe9", + "0x400280047ffb7ff5", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0xd", + "0x1104800180018000", + "0x176b", + "0x48127ff57fff8000", + "0x480280057ffb8000", + "0x482680017ffb8000", + "0x7", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280057ffb8000", + "0x482680017ffb8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017ff38000", + "0x1", + "0x482480017fe48000", + "0xfd2", + "0x10780017fff7fff", + "0x2d", + "0x1104800180018000", + "0x128", + "0x48127ff67fff8000", + "0x48127fe77fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff28000", + "0x3", + "0x482480017ff08000", + "0x1658", + "0x10780017fff7fff", + "0x5", + "0x48127ffb7fff8000", + "0x482480017ff98000", + "0x1bda", + "0x1104800180018000", + "0xb5", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xb0", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0xa7", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x7b", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x67", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480280007ffc8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x54", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0x480080007ffa8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x6b", + "0x48127fee7fff8000", + "0x48127fec7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x2e6f", + "0x482480017fff8000", + "0x2e6e", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff0", + "0x1220", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fef7fff", + "0x10780017fff7fff", + "0x2d", + "0x4824800180007ff0", + "0x1220", + "0x400080007ff07fff", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1275130f95dda36bcbb6e9d28796c1d7e10b6e9fd5ed083e0ede4b12f613528", + "0x48307ff67ff28000", + "0x482480017fed8000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400280017ffb7ffa", + "0x400280027ffb7ffb", + "0x400280037ffb7ffc", + "0x400280047ffb7ffd", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0x10", + "0x480280057ffb8000", + "0x40780017fff7fff", + "0x1", + "0x400080007fff7fec", + "0x48127ffb7fff8000", + "0x48127ffd7fff8000", + "0x482680017ffb8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280057ffb8000", + "0x482680017ffb8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017fef8000", + "0x1", + "0x482480017fed8000", + "0x1554", + "0x10780017fff7fff", + "0x1a", + "0x1104800180018000", + "0x27", + "0x48127ff27fff8000", + "0x48127ff07fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x22", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ff98000", + "0x1", + "0x482680017ffa8000", + "0x1e96", + "0x1104800180018000", + "0x19", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x1104800180018000", + "0x1691", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202332", + "0x1104800180018000", + "0x168c", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202331", + "0x1104800180018000", + "0x1687", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x1104800180018000", + "0x1682", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x1104800180018000", + "0x167d", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff88000", + "0xfffffffffffffffffffffffffffff8b2", + "0x400280007ff77fff", + "0x10780017fff7fff", + "0x37", + "0x4825800180007ff8", + "0x74e", + "0x400280007ff77fff", + "0x482680017ff78000", + "0x1", + "0x20780017fff7ffd", + "0xe", + "0x48127fff7fff8000", + "0x482480017ffd8000", + "0xa6e", + "0x480680017fff8000", + "0x0", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x48297ff980007ffa", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x11", + "0x480280007ff98000", + "0x400280007ffc7fff", + "0x48127ffd7fff8000", + "0x48127ffb7fff8000", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x1", + "0x4825800180007ffd", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd6", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x942", + "0x480680017fff8000", + "0x0", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffbb", + "0x482680017ff78000", + "0x1", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202333", + "0x1104800180018000", + "0x162c", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff98000", + "0xfffffffffffffffffffffffffffff97a", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x21", + "0x4825800180007ff9", + "0x686", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffa80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xf", + "0x480280007ffa8000", + "0x400280007ffd7fff", + "0x48127ffd7fff8000", + "0x48127ffb7fff8000", + "0x482680017ffa8000", + "0x1", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x8de", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff80", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff98000", + "0xfffffffffffffffffffffffffffff97a", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x21", + "0x4825800180007ff9", + "0x686", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xf", + "0x480280007ffc8000", + "0x400280007ffb7fff", + "0x48127ffd7fff8000", + "0x48127ffb7fff8000", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x1", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x8de", + "0x480680017fff8000", + "0x0", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff50", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202336", + "0x1104800180018000", + "0x15c7", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202335", + "0x1104800180018000", + "0x15c2", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202334", + "0x1104800180018000", + "0x15bd", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280007ffb7fff", + "0x400380017ffb7ffa", + "0x400280027ffb7ffd", + "0x400280037ffb7ffe", + "0x400280047ffb7ffd", + "0x400280057ffb7ffe", + "0x480280077ffb8000", + "0x20680017fff7fff", + "0x65", + "0x480280067ffb8000", + "0x480680017fff8000", + "0x5265706c616365436c617373", + "0x400280087ffb7fff", + "0x400280097ffb7ffe", + "0x4003800a7ffb7ffc", + "0x4802800c7ffb8000", + "0x20680017fff7fff", + "0x52", + "0x4802800b7ffb8000", + "0x480680017fff8000", + "0x11", + "0x480680017fff8000", + "0x53656e644d657373616765546f4c31", + "0x4002800d7ffb7fff", + "0x4002800e7ffb7ffd", + "0x4002800f7ffb7ffe", + "0x400280107ffb7ff6", + "0x400280117ffb7ff7", + "0x480280137ffb8000", + "0x20680017fff7fff", + "0x3b", + "0x480280127ffb8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1275130f95dda36bcbb6e9d28796c1d7e10b6e9fd5ed083e0ede4b12f613528", + "0x480680017fff8000", + "0x11", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280147ffb7fff", + "0x400280157ffb7ffb", + "0x400280167ffb7ffc", + "0x400280177ffb7ffd", + "0x400280187ffb7ffe", + "0x4802801a7ffb8000", + "0x20680017fff7fff", + "0x20", + "0x480280197ffb8000", + "0x482680017ffb8000", + "0x1b", + "0x20780017fff7ffd", + "0xe", + "0x40780017fff7fff", + "0x2", + "0x482480017ffc8000", + "0xb4", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x746573745f7265766572745f68656c706572", + "0x400080007ffe7fff", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x4", + "0x480280197ffb8000", + "0x482680017ffb8000", + "0x1d", + "0x480680017fff8000", + "0x1", + "0x4802801b7ffb8000", + "0x4802801c7ffb8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xa", + "0x480280127ffb8000", + "0x482680017ffb8000", + "0x16", + "0x480680017fff8000", + "0x1", + "0x480280147ffb8000", + "0x480280157ffb8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xe", + "0x4802800b7ffb8000", + "0x482680017ffb8000", + "0xf", + "0x480680017fff8000", + "0x1", + "0x4802800d7ffb8000", + "0x4802800e7ffb8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x11", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x25ff849c52d40a7f29c9849fbe0064575d61c84ddc0ef562bf05bc599abe0ae", + "0x480680017fff8000", + "0x43616c6c436f6e7472616374", + "0x400280007ffb7fff", + "0x400380017ffb7ffa", + "0x400380027ffb7ffc", + "0x400280037ffb7ffe", + "0x400280047ffb7ffd", + "0x400280057ffb7ffd", + "0x480280077ffb8000", + "0x20680017fff7fff", + "0x5e", + "0x40780017fff7fff", + "0x1", + "0x400180007fff7ffd", + "0x480680017fff8000", + "0x1", + "0x400080017ffe7fff", + "0x480280067ffb8000", + "0x480680017fff8000", + "0x1e4089d1f1349077b1970f9937c904e27c4582b49a60b6078946dba95bc3c08", + "0x48127ffc7fff8000", + "0x482480017ffb8000", + "0x2", + "0x480680017fff8000", + "0x43616c6c436f6e7472616374", + "0x4002800a7ffb7fff", + "0x4002800b7ffb7ffb", + "0x4003800c7ffb7ffc", + "0x4002800d7ffb7ffc", + "0x4002800e7ffb7ffd", + "0x4002800f7ffb7ffe", + "0x480280117ffb8000", + "0x20680017fff7fff", + "0x12", + "0x40780017fff7fff", + "0xf", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x73686f756c645f70616e6963", + "0x400080007ffe7fff", + "0x480280107ffb8000", + "0x482680017ffb8000", + "0x14", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480280107ffb8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1275130f95dda36bcbb6e9d28796c1d7e10b6e9fd5ed083e0ede4b12f613528", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280147ffb7fff", + "0x400280157ffb7ffc", + "0x400280167ffb7ffd", + "0x400280177ffb7ffe", + "0x480280197ffb8000", + "0x20680017fff7fff", + "0x1f", + "0x4802801a7ffb8000", + "0x4824800180007fff", + "0xa", + "0x480280187ffb8000", + "0x482680017ffb8000", + "0x1b", + "0x20680017fff7ffd", + "0xe", + "0x40780017fff7fff", + "0x8", + "0x482480017ff68000", + "0x2d0", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x14e9", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xc", + "0x480280187ffb8000", + "0x482680017ffb8000", + "0x1c", + "0x480680017fff8000", + "0x1", + "0x4802801a7ffb8000", + "0x4802801b7ffb8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x19", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff68000", + "0xffffffffffffffffffffffffffffcb80", + "0x400280007ff57fff", + "0x10780017fff7fff", + "0x53", + "0x4825800180007ff6", + "0x3480", + "0x400280007ff57fff", + "0x482680017ff58000", + "0x1", + "0x48297ffb80007ff8", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x3f", + "0x480680017fff8000", + "0x456d69744576656e74", + "0x400280007ff77fff", + "0x400280017ff77ffc", + "0x400380027ff77ffc", + "0x400380037ff77ffd", + "0x400380047ff77ff9", + "0x400380057ff77ffa", + "0x480280077ff78000", + "0x20680017fff7fff", + "0x2b", + "0x480680017fff8000", + "0x1", + "0x480280067ff78000", + "0x482680017ff78000", + "0x8", + "0xa0680017fff8000", + "0x8", + "0x48327ffc7ff88000", + "0x4824800180007fff", + "0x10000000000000000", + "0x400080007ff67fff", + "0x10780017fff7fff", + "0x13", + "0x48327ffc7ff88001", + "0x4824800180007fff", + "0xffffffffffffffff0000000000000000", + "0x400080007ff67ffe", + "0x482480017ff68000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffc7fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffca", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1497", + "0x482480017fee8000", + "0x1", + "0x48127ff27fff8000", + "0x48127ff27fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffc7fff8000", + "0x480280067ff78000", + "0x482680017ff78000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ff78000", + "0x480280097ff78000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x36d8", + "0x480a7ff77fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480a7ff87fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdea", + "0x482680017ff58000", + "0x1", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x57524f4e475f434c4153535f48415348", + "0x1104800180018000", + "0x1460", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x8", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x292", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x400380007ffc8001", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x282", + "0x400180007ffd8002", + "0x482480017ffd8000", + "0x1", + "0x48127ffd7fff8000", + "0xa0680017fff8004", + "0xe", + "0x4825800180048002", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480280007ffa7ffc", + "0x480280017ffa7ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400280027ffa7ffd", + "0x10780017fff7fff", + "0x268", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48317fff80008002", + "0x480280007ffa7ffd", + "0x480280017ffa7ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400280027ffa7ffe", + "0x482680017ffa8000", + "0x3", + "0x48307ff880007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x252", + "0x400180007ff78000", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0xa0680017fff8000", + "0x16", + "0x480080007ffb8003", + "0x480080017ffa8003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483180017ffd8000", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027ff67ffd", + "0x20680017fff7ffe", + "0x232", + "0x402780017fff7fff", + "0x1", + "0x400180007ffb8000", + "0x482480017ffb8000", + "0x1", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x1104800180018000", + "0x141e", + "0x20680017fff7ffa", + "0x1fc", + "0x20680017fff7ffd", + "0x1ca", + "0x40137ffe7fff8005", + "0x40137fff7fff8006", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x1bc", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0x400180007ff88003", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x1ac", + "0x482480017ffd8000", + "0x1", + "0x48127ffd7fff8000", + "0x400180007ffb8007", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x19c", + "0x482480017ffd8000", + "0x1", + "0x48127ffd7fff8000", + "0x400180007ffb8004", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x163", + "0x40780017fff7fff", + "0x1", + "0x48127fee7fff8000", + "0x480a7ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff68000", + "0x1104800180018000", + "0x1482", + "0x20680017fff7ffa", + "0x12a", + "0x20680017fff7ffd", + "0x121", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x115", + "0x480080007ffa8000", + "0x482480017ff98000", + "0x1", + "0x48127ff97fff8000", + "0xa0680017fff8000", + "0x16", + "0x480080007ff38003", + "0x480080017ff28003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ff9", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027fee7ffd", + "0x20680017fff7ffe", + "0xf5", + "0x402780017fff7fff", + "0x1", + "0x400080007ff37ffc", + "0x482480017ff38000", + "0x1", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x1104800180018000", + "0x13c2", + "0x20680017fff7ffa", + "0xbf", + "0x20680017fff7ffd", + "0xb6", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xaa", + "0x480080007ffa8000", + "0x482480017ff98000", + "0x1", + "0x48127ff97fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x100000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff17fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000ffffffff", + "0x480080017fef7fff", + "0x400080027fee7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x8e", + "0x402780017fff7fff", + "0x1", + "0x400080007ff47ffc", + "0x482480017ffc8000", + "0xffffffffffffffffffffffff00000000", + "0x400080017ff37fff", + "0x482480017ff38000", + "0x2", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7a", + "0x480080007ffa8000", + "0x482480017ff98000", + "0x1", + "0x48127ff97fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x100000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff77fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000ffffffff", + "0x480080017ff57fff", + "0x400080027ff47ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x5e", + "0x402780017fff7fff", + "0x1", + "0x400080007ffa7ffc", + "0x482480017ffc8000", + "0xffffffffffffffffffffffff00000000", + "0x400080017ff97fff", + "0x482480017ff98000", + "0x2", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x1378", + "0x20680017fff7ffa", + "0x25", + "0x20680017fff7ffd", + "0x1d", + "0x48127ff97fff8000", + "0x482480017f928000", + "0x1f4", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x480a80017fff8000", + "0x480a80027fff8000", + "0x480a80007fff8000", + "0x480a80057fff8000", + "0x480a80067fff8000", + "0x480a80037fff8000", + "0x480a80077fff8000", + "0x480a80047fff8000", + "0x48127f8a7fff8000", + "0x48127f8a7fff8000", + "0x48127f8b7fff8000", + "0x48127fb67fff8000", + "0x48127fb67fff8000", + "0x48127fb77fff8000", + "0x48127fbd7fff8000", + "0x48127fe97fff8000", + "0x48127fe97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x48127f927fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x10780017fff7fff", + "0x108", + "0x48127ff97fff8000", + "0x48127f927fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127fe97fff8000", + "0x48127fe97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff48000", + "0x3", + "0x482480017fb78000", + "0x1374", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x10780017fff7fff", + "0x14e", + "0x48127ffe7fff8000", + "0x482480017fc18000", + "0x18f6", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x10780017fff7fff", + "0x147", + "0x482480017fee8000", + "0x3", + "0x482480017fbe8000", + "0x17e8", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x10780017fff7fff", + "0x13f", + "0x48127ff87fff8000", + "0x482480017fc88000", + "0x1d6a", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x10780017fff7fff", + "0x138", + "0x48127ff97fff8000", + "0x482480017fc98000", + "0x1e96", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x10780017fff7fff", + "0xb8", + "0x48127ff97fff8000", + "0x48127fc97fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127fe97fff8000", + "0x48127fe97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017fee8000", + "0x3", + "0x482480017fee8000", + "0x3098", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x10780017fff7fff", + "0xfe", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x367e", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x10780017fff7fff", + "0xf7", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x37aa", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x10780017fff7fff", + "0x32", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127fe97fff8000", + "0x48127fe97fff8000", + "0x208b7fff7fff7ffe", + "0x48127fef7fff8000", + "0x482680017ffb8000", + "0x44d4", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff27fff8000", + "0x482680017ffb8000", + "0x465a", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0x8e", + "0x48127ff57fff8000", + "0x482680017ffb8000", + "0x4844", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0x87", + "0x48127ff87fff8000", + "0x482680017ffb8000", + "0x4a2e", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x10780017fff7fff", + "0x80", + "0x48127ff97fff8000", + "0x482680017ffb8000", + "0x4c72", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127fe97fff8000", + "0x48127fe97fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff68000", + "0x3", + "0x482680017ffb8000", + "0x5e10", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x10780017fff7fff", + "0x1d", + "0x48127ffe7fff8000", + "0x482680017ffb8000", + "0x63ec", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x10780017fff7fff", + "0x16", + "0x482680017ffa8000", + "0x3", + "0x482680017ffb8000", + "0x64b4", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x10780017fff7fff", + "0xe", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x69c8", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0x7", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x6c16", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x15", + "0x480680017fff8000", + "0x476574457865637574696f6e496e666f", + "0x400280007fe67fff", + "0x400380017fe67fe5", + "0x480280037fe68000", + "0x20680017fff7fff", + "0x161", + "0x480280047fe68000", + "0x480080007fff8000", + "0x480080007fff8000", + "0x480080017ffe8000", + "0x480080027ffd8000", + "0x480280027fe68000", + "0x402780017fe68000", + "0x5", + "0x480080017ffa8000", + "0x400180027ff98001", + "0x400180037ff98003", + "0x400180047ff98002", + "0x48287fe780007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6", + "0x482480017ffd8000", + "0x4c9a", + "0x10780017fff7fff", + "0x142", + "0x48287fe880007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6", + "0x482480017ffc8000", + "0x4b6e", + "0x10780017fff7fff", + "0x139", + "0x48287fe980007ffb", + "0x20680017fff7fff", + "0x134", + "0x400180007ffc8004", + "0x400180017ffc8005", + "0x400180027ffc8006", + "0x400180037ffc8007", + "0x400180047ffc8008", + "0x400180057ffc8009", + "0x400180067ffc800a", + "0x400180077ffc800b", + "0x400180087ffc800c", + "0x400180097ffc800d", + "0x4001800a7ffc800e", + "0x4001800b7ffc800f", + "0x4001800c7ffc8010", + "0x4001800d7ffc8011", + "0x4001800e7ffc8012", + "0x4001800f7ffc8013", + "0x400180107ffc8014", + "0x48297fea80008004", + "0x20680017fff7fff", + "0x112", + "0x48297feb80008005", + "0x20680017fff7fff", + "0x10b", + "0x48297fec80008006", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6", + "0x482480017ff88000", + "0x4128", + "0x10780017fff7fff", + "0x108", + "0x4829800780008008", + "0x48297fed80007fee", + "0x48307fff80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7", + "0x480a7fe47fff8000", + "0x482480017ff48000", + "0x3f34", + "0x10780017fff7fff", + "0x11", + "0x480a7fe47fff8000", + "0x48127ff47fff8000", + "0x480a80077fff8000", + "0x480a80087fff8000", + "0x480a7fed7fff8000", + "0x480a7fee7fff8000", + "0x1104800180018000", + "0x1298", + "0x20680017fff7ffa", + "0xe4", + "0x20680017fff7fff", + "0x7", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x32d2", + "0x10780017fff7fff", + "0xed", + "0x48297fef80008009", + "0x20680017fff7fff", + "0xd5", + "0x48297ff08000800a", + "0x20680017fff7fff", + "0xcd", + "0x48297ff18000800b", + "0x20680017fff7fff", + "0xc5", + "0x4829800c8000800d", + "0x48297ff280007ff3", + "0x4844800180007ffe", + "0x3", + "0x4844800180007ffe", + "0x3", + "0x48307fff80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7", + "0x48127ff07fff8000", + "0x482480017ff08000", + "0x2dbe", + "0x10780017fff7fff", + "0x11", + "0x48127ff07fff8000", + "0x48127ff07fff8000", + "0x480a800c7fff8000", + "0x480a800d7fff8000", + "0x480a7ff27fff8000", + "0x480a7ff37fff8000", + "0x1104800180018000", + "0x12cf", + "0x20680017fff7ffa", + "0xa3", + "0x20680017fff7fff", + "0x7", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x215c", + "0x10780017fff7fff", + "0xc3", + "0x48297ff48000800e", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x2094", + "0x10780017fff7fff", + "0xb9", + "0x4829800f80008010", + "0x48297ff580007ff6", + "0x48307fff80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7", + "0x48127ff47fff8000", + "0x482480017ff48000", + "0x1e3c", + "0x10780017fff7fff", + "0x11", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x480a800f7fff8000", + "0x480a80107fff8000", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x1104800180018000", + "0x1247", + "0x20680017fff7ffa", + "0x74", + "0x20680017fff7fff", + "0x7", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x11da", + "0x10780017fff7fff", + "0x9c", + "0x48297ff780008011", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x1112", + "0x10780017fff7fff", + "0x92", + "0x48297ff880008012", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7", + "0x48127ff67fff8000", + "0x482480017ff68000", + "0xfe6", + "0x10780017fff7fff", + "0x88", + "0x4829801380008014", + "0x48297ff980007ffa", + "0x48307fff80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7", + "0x48127ff37fff8000", + "0x482480017ff38000", + "0xdf2", + "0x10780017fff7fff", + "0x7c", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x480a80137fff8000", + "0x480a80147fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x1104800180018000", + "0x1216", + "0x20680017fff7ffa", + "0x3b", + "0x20680017fff7fff", + "0x7", + "0x48127ff87fff8000", + "0x482480017ff88000", + "0x12c", + "0x10780017fff7fff", + "0x6b", + "0x48297ffb80008001", + "0x20680017fff7fff", + "0x27", + "0x48297ffc80008003", + "0x20680017fff7fff", + "0x1a", + "0x48297ffd80008002", + "0x20680017fff7fff", + "0xd", + "0x48127ff57fff8000", + "0x482480017ff58000", + "0x384", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x12d4", + "0x48127fed7fff8000", + "0x48127fed7fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x12cf", + "0x48127fee7fff8000", + "0x48127fee7fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x12ca", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff57fff8000", + "0x482480017ff58000", + "0x307a", + "0x10780017fff7fff", + "0x1c", + "0x48127ff67fff8000", + "0x482480017ff68000", + "0x3142", + "0x10780017fff7fff", + "0x17", + "0x48127ff77fff8000", + "0x482480017ff78000", + "0x320a", + "0x10780017fff7fff", + "0x12", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff98000", + "0x41f0", + "0x10780017fff7fff", + "0x4", + "0x482480017ffa8000", + "0x431c", + "0x480a7fe47fff8000", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x128e", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ffb8000", + "0x4aa6", + "0x1104800180018000", + "0x1287", + "0x480a7fe47fff8000", + "0x48127ff67fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7fe47fff8000", + "0x480280027fe68000", + "0x482680017fe68000", + "0x6", + "0x480680017fff8000", + "0x1", + "0x480280047fe68000", + "0x480280057fe68000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x400180007fff7ff9", + "0x400180017fff7ffb", + "0x480680017fff8000", + "0x2", + "0x400080027ffe7fff", + "0x482680017ffc8000", + "0x1", + "0x400080037ffd7fff", + "0x482680017ffd8000", + "0x1", + "0x400080047ffc7fff", + "0x48127ffc7fff8000", + "0x482480017ffb8000", + "0x5", + "0x480680017fff8000", + "0x4c69627261727943616c6c", + "0x400280007ff87fff", + "0x400380017ff87ff7", + "0x400380027ff87ff9", + "0x400380037ff87ffa", + "0x400280047ff87ffd", + "0x400280057ff87ffe", + "0x480280077ff88000", + "0x20680017fff7fff", + "0x29", + "0x40780017fff7fff", + "0x1", + "0x400180007fff7ffc", + "0x400180017fff7ffd", + "0x480280067ff88000", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x2", + "0x480680017fff8000", + "0x4c69627261727943616c6c", + "0x4002800a7ff87fff", + "0x4002800b7ff87ffc", + "0x4003800c7ff87ff9", + "0x4003800d7ff87ffb", + "0x4002800e7ff87ffd", + "0x4002800f7ff87ffe", + "0x480280117ff88000", + "0x20680017fff7fff", + "0xc", + "0x480280107ff88000", + "0x482480017fff8000", + "0xa", + "0x482680017ff88000", + "0x14", + "0x480680017fff8000", + "0x0", + "0x480280127ff88000", + "0x480280137ff88000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480280107ff88000", + "0x482680017ff88000", + "0x14", + "0x480680017fff8000", + "0x1", + "0x480280127ff88000", + "0x480280137ff88000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x7", + "0x480280067ff88000", + "0x482680017ff88000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ff88000", + "0x480280097ff88000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x4", + "0x10780017fff7fff", + "0xb2", + "0x48037ffd7ffc8002", + "0x48037ffe7ffc8003", + "0x48037fff7ffc8004", + "0x480380007ffa8000", + "0x4825800180018003", + "0x1", + "0x4828800080018000", + "0x480280017ffa8000", + "0x4846800180008000", + "0x3", + "0x48327fff80028000", + "0x400180027fff8004", + "0x400180017fff7ffd", + "0x400380007ffc8002", + "0x400380017ffc8003", + "0x4826800180048000", + "0x1", + "0x400280027ffc7fff", + "0x482680017ffa8000", + "0x2", + "0x480080007ffd8000", + "0x480a7ffd7fff8000", + "0x40337ffe80017ffd", + "0x1104800180018000", + "0xf", + "0x48307fff80007ffe", + "0x48317fff80008001", + "0x4844800180007fff", + "0x3", + "0x484480017fff8000", + "0xfd2", + "0x48127ff97fff8000", + "0x48327ffe7ffb8000", + "0x482680017ffc8000", + "0x3", + "0x48127ff87fff8000", + "0x48127ff67fff8000", + "0x208b7fff7fff7ffe", + "0x482b7ffc80007ffd", + "0x40780017fff7fff", + "0x3", + "0x20780017fff8000", + "0x6", + "0x480a7ffb7fff8000", + "0x480a80037fff8000", + "0x480a80037fff8000", + "0x208b7fff7fff7ffe", + "0x4845800180008000", + "0x3", + "0xa0780017fff8002", + "0x7", + "0x400380007ffb8001", + "0x402680017ffb7fff", + "0x1", + "0x10780017fff7fff", + "0x3", + "0x400a7ffb7fff7fff", + "0x480a7ffc7fff8000", + "0x4825800180007ffd", + "0x1", + "0x480a80017fff8000", + "0x48127ffb7fff8000", + "0x480a80037fff8000", + "0x480a80027fff8000", + "0x1104800180018000", + "0x4", + "0x480a80037fff8000", + "0x208b7fff7fff7ffe", + "0x480280007ff78002", + "0x4844800180018002", + "0x3", + "0x483280017ff88004", + "0x4800800280038004", + "0x482680017ff78004", + "0x1", + "0x4801800080017ffa", + "0x480380007ffc7ffa", + "0x480080017fff7ffd", + "0x480280017ffc7ffc", + "0x400680017fff7ffb", + "0x0", + "0x20680017fff7ffc", + "0xf", + "0x480080007fff8000", + "0x482480017fff8000", + "0x1", + "0x484480017fff8000", + "0x3", + "0x48307fff7ffa8001", + "0x4800800180007ffa", + "0x480080027fff8000", + "0x480180007ffe7ffa", + "0x402480017ff87fff", + "0x1", + "0x20680017fff7ffc", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff6", + "0x48317ffd80007ff9", + "0x400080007ffe7fff", + "0x48287ff780007ffe", + "0x400280027ffc7ffc", + "0x40337fff80017ffb", + "0x20780017fff8001", + "0x7", + "0x482480017ffd8000", + "0x1", + "0x482680017ffc8000", + "0x3", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffd", + "0xe", + "0x482680017ffa8000", + "0x1", + "0x48317fff80008000", + "0x400080017ffb7fff", + "0x482480017ffb8000", + "0x2", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x10780017fff7fff", + "0x32", + "0x4829800080007ffa", + "0x20680017fff7fff", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x480080017ffc8000", + "0x480080027ffb8000", + "0x484480017fff8000", + "0x2aaaaaaaaaaaab05555555555555556", + "0x48307fff7ffd8000", + "0x480080037ff88000", + "0x480080047ff78000", + "0x484480017fff8000", + "0x4000000000000088000000000000001", + "0x48307fff7ffd8000", + "0x48307fff7ffb8000", + "0x48507ffe7ffa8000", + "0xa0680017fff8000", + "0xc", + "0x484680017ffa8000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x402480017fff7ffc", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x4829800080007ffa", + "0x4826800180008000", + "0x1", + "0x40507fff7ffe7ffb", + "0x10780017fff7fff", + "0xf", + "0xa0680017fff8000", + "0xa", + "0x4846800180008000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x482480017fff8000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x40327fff7ffa7ffa", + "0x40527fff7ffa7ffb", + "0x10780017fff7fff", + "0x5", + "0x480a80007fff7ffc", + "0x48297ffa80008000", + "0x40527fff7ffa7ffb", + "0x482480017fee8000", + "0x5", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x482680017ffc8000", + "0x3", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff98", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffc7fff8000", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0xa0680017fff8000", + "0x7", + "0x482680017ffc8000", + "0xffffffffffffffffffffffffffffd8fa", + "0x400280007ffb7fff", + "0x10780017fff7fff", + "0x99", + "0x4825800180007ffc", + "0x2706", + "0x400280007ffb7fff", + "0x480680017fff8000", + "0x1", + "0x48317fff80017ffd", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280017ffb7fff", + "0x10780017fff7fff", + "0x7f", + "0x400280017ffb7fff", + "0x482680017ffb8000", + "0x2", + "0x48127ffb7fff8000", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x20680017fff7ffd", + "0x6f", + "0x480680017fff8000", + "0x2", + "0x40137ffe7fff8000", + "0x48317fff80017ffd", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x5e", + "0x400080007ff87fff", + "0x482480017ff88000", + "0x1", + "0x48127ff87fff8000", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd2", + "0x20680017fff7ffd", + "0x4e", + "0x480680017fff8000", + "0x2", + "0x40780017fff7fff", + "0x2", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080007ff78001", + "0x480080017ff67ffe", + "0x400080027ff57ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7ff9", + "0x48507ff87ffc8000", + "0x48507ff77ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080037ff18001", + "0x480080047ff07fff", + "0x400080057fef7ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080067feb7fff", + "0x480080077fea7ffd", + "0x400080087fe97ff0", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307ff07ffe7fff", + "0x40307ffc7ff77fef", + "0x482480017fe98000", + "0x9", + "0x20680017fff7fee", + "0x1f", + "0x48327fef80008001", + "0xa0680017fff7fff", + "0x7", + "0x4824800180007fff", + "0x100000000000000000000000000000000", + "0x400080007ffc7fff", + "0x10780017fff7fff", + "0xd", + "0x400080007ffd7fff", + "0x482480017ffd8000", + "0x1", + "0x482480017fe68000", + "0x44c", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1103", + "0x482480017ff48000", + "0x1", + "0x48127fdd7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x10fe", + "0x48127ff77fff8000", + "0x48127fe07fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff78000", + "0x1", + "0x482480017ff78000", + "0x175c", + "0x10780017fff7fff", + "0xd", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffb8000", + "0x2", + "0x482480017ffa8000", + "0x2404", + "0x1104800180018000", + "0x10e2", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff7f8", + "0x482680017ffb8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x400080007ffd7ffe", + "0x400080017ffd7fff", + "0x40780017fff7fff", + "0x1", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x2", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x10c3", + "0x20680017fff7ffb", + "0x95", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0x1106", + "0x20680017fff7ffd", + "0x81", + "0x480680017fff8000", + "0x4b656363616b", + "0x400280007ffd7fff", + "0x400280017ffd7ffb", + "0x400280027ffd7ffd", + "0x400280037ffd7ffe", + "0x480280057ffd8000", + "0x20680017fff7fff", + "0x6f", + "0x480280067ffd8000", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x8", + "0x480280077ffd8000", + "0x4824800180007ffc", + "0x587f7cc3722e9654ea3963d5fe8c0748", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x1", + "0x482480017ffb8000", + "0x2f9e", + "0x10780017fff7fff", + "0xa", + "0x4824800180007ffe", + "0xa5963aa610cb75ba273817bce5f8c48f", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xe", + "0x482480017ffb8000", + "0x2f44", + "0x1104800180018000", + "0x11ca", + "0x48127fea7fff8000", + "0x48127ff67fff8000", + "0x48127ff17fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x1", + "0x400080007ffe7fff", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x480680017fff8000", + "0x4b656363616b", + "0x400080007ff77fff", + "0x400080017ff77ff6", + "0x400080027ff77ffd", + "0x400080037ff77ffe", + "0x480080057ff78000", + "0x20680017fff7fff", + "0xd", + "0x1104800180018000", + "0x11b4", + "0x48127fe57fff8000", + "0x480080047fed8000", + "0x482480017fec8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x480080067ff68000", + "0x480080077ff58000", + "0x480080047ff48000", + "0x482480017ff38000", + "0x8", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x1c", + "0x480080007ffb8000", + "0x4824800180007fff", + "0x496e76616c696420696e707574206c656e677468", + "0x20680017fff7fff", + "0xd", + "0x48127fe67fff8000", + "0x482480017ffa8000", + "0x384", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1194", + "0x48127fde7fff8000", + "0x48127ff27fff8000", + "0x48127ff27fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x118f", + "0x48127fe07fff8000", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480280067ffd8000", + "0x480280077ffd8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x61616161", + "0x400080007ffe7fff", + "0x480a7ffb7fff8000", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0x1164", + "0x20680017fff7ffd", + "0x35", + "0x1104800180018000", + "0x250f", + "0x482480017fff8000", + "0x250e", + "0x48127ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x122a", + "0x20680017fff7ffc", + "0x1f", + "0x48127fff7fff8000", + "0x480080007fff8000", + "0x4824800180007fff", + "0x61be55a8", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc", + "0x1104800180018000", + "0x1136", + "0x48127fee7fff8000", + "0x48127fee7fff8000", + "0x48127fee7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x482480017ff68000", + "0x320", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffc7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x536563703235366b314e6577", + "0x400280007ffd7fff", + "0x400380017ffd7ffb", + "0x400280027ffd7ffb", + "0x400280037ffd7ffc", + "0x400280047ffd7ffd", + "0x400280057ffd7ffe", + "0x480280077ffd8000", + "0x20680017fff7fff", + "0x13a", + "0x480280087ffd8000", + "0x480280097ffd8000", + "0x480280067ffd8000", + "0x482680017ffd8000", + "0xa", + "0x20680017fff7ffc", + "0xd", + "0x1104800180018000", + "0x122e", + "0x480a7ffa7fff8000", + "0x48127ff57fff8000", + "0x480a7ffc7fff8000", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0xfffffffffffffffffffffffefffffc2f", + "0x480680017fff8000", + "0xffffffffffffffffffffffffffffffff", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x536563703235366b314e6577", + "0x400080007ffa7fff", + "0x400080017ffa7ff9", + "0x400080027ffa7ffb", + "0x400080037ffa7ffc", + "0x400080047ffa7ffd", + "0x400080057ffa7ffe", + "0x480080077ffa8000", + "0x20680017fff7fff", + "0xe", + "0x1104800180018000", + "0x10de", + "0x480a7ffa7fff8000", + "0x480080067ff08000", + "0x480a7ffc7fff8000", + "0x482480017fee8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480080087ff98000", + "0x480080097ff88000", + "0x480080067ff78000", + "0x482480017ff68000", + "0xa", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xf4", + "0x480080007ffb8000", + "0x4824800180007fff", + "0x496e76616c696420617267756d656e74", + "0x20680017fff7fff", + "0xe4", + "0x480680017fff8000", + "0xe3e70682c2094cac629f6fbed82c07cd", + "0x480680017fff8000", + "0xf728b4fa42485e3a0a5d2f346baa9455", + "0x480680017fff8000", + "0x8e031ab54fc0c4a8f0dc94fad0d0611", + "0x480680017fff8000", + "0x8e182ca967f38e1bd6a49583f43f1876", + "0x480680017fff8000", + "0x536563703235366b314e6577", + "0x400080007ff77fff", + "0x400080017ff77ff6", + "0x400080027ff77ffb", + "0x400080037ff77ffc", + "0x400080047ff77ffd", + "0x400080057ff77ffe", + "0x480080077ff78000", + "0x20680017fff7fff", + "0xc7", + "0x480080087ff68000", + "0x480080097ff58000", + "0x480080067ff48000", + "0x482480017ff38000", + "0xa", + "0x20680017fff7ffc", + "0xb5", + "0x480680017fff8000", + "0x536563703235366b314765745879", + "0x400080007ffe7fff", + "0x400080017ffe7ffd", + "0x400080027ffe7ffc", + "0x480080047ffe8000", + "0x20680017fff7fff", + "0xa3", + "0x480080057ffd8000", + "0x480080067ffc8000", + "0x480080037ffb8000", + "0x482480017ffa8000", + "0x9", + "0x480080077ff98000", + "0x480080087ff88000", + "0x4824800180007ffa", + "0xe3e70682c2094cac629f6fbed82c07cd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x11", + "0x40780017fff7fff", + "0x3", + "0x1104800180018000", + "0x246c", + "0x482480017fff8000", + "0x246b", + "0x480080007fff8000", + "0x480080017fff8000", + "0x484480017fff8000", + "0x8", + "0x482480017fff8000", + "0x35516", + "0x48307fff7ff18000", + "0x10780017fff7fff", + "0x15", + "0x4824800180007ffa", + "0xf728b4fa42485e3a0a5d2f346baa9455", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x11", + "0x40780017fff7fff", + "0x2", + "0x1104800180018000", + "0x2457", + "0x482480017fff8000", + "0x2456", + "0x480080007fff8000", + "0x480080017fff8000", + "0x484480017fff8000", + "0x8", + "0x482480017fff8000", + "0x35458", + "0x48307fff7ff18000", + "0x10780017fff7fff", + "0x28", + "0x4824800180007ffc", + "0x8e031ab54fc0c4a8f0dc94fad0d0611", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x11", + "0x40780017fff7fff", + "0x1", + "0x1104800180018000", + "0x2442", + "0x482480017fff8000", + "0x2441", + "0x480080007fff8000", + "0x480080017fff8000", + "0x484480017fff8000", + "0x8", + "0x482480017fff8000", + "0x35336", + "0x48307fff7ff18000", + "0x10780017fff7fff", + "0x13", + "0x4824800180007ffc", + "0x8e182ca967f38e1bd6a49583f43f1876", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x18", + "0x1104800180018000", + "0x242f", + "0x482480017fff8000", + "0x242e", + "0x480080007fff8000", + "0x480080017fff8000", + "0x484480017fff8000", + "0x8", + "0x482480017fff8000", + "0x352dc", + "0x48307fff7ff18000", + "0x1104800180018000", + "0x1181", + "0x480a7ffa7fff8000", + "0x48127ff67fff8000", + "0x480a7ffc7fff8000", + "0x48127fe67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x767410c1", + "0x484480017fff8000", + "0x100000000000000000000000000000000", + "0x480a7ffa7fff8000", + "0x48127ff57fff8000", + "0x480a7ffc7fff8000", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x788f195a6f509ca3e934f78d7a71dd85", + "0x480680017fff8000", + "0xe888fbb4cf9ae6254f19ba12e6d9af54", + "0x480680017fff8000", + "0x7a5f81cf3ee10044320a0d03b62d3e9a", + "0x480680017fff8000", + "0x4c8e4fbc1fbb1dece52185e532812c4f", + "0x480680017fff8000", + "0xc2b7f60e6a8b84965830658f08f7410c", + "0x480680017fff8000", + "0x4ac5e5c0c0e8a4871583cc131f35fb49", + "0x480680017fff8000", + "0x1", + "0x482480017ff48000", + "0xbb448978bd42b984d7de5970bcaf5c43", + "0x1104800180018000", + "0x1163", + "0x20680017fff7ffd", + "0x1c", + "0x20680017fff7ffe", + "0xe", + "0x48127ff97fff8000", + "0x482480017ff98000", + "0x2bc", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x1104800180018000", + "0xc73", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480080037ffc8000", + "0x480a7ffc7fff8000", + "0x482480017ffa8000", + "0x7", + "0x480680017fff8000", + "0x1", + "0x480080057ff88000", + "0x480080067ff78000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff5d7", + "0x480a7ffa7fff8000", + "0x48127ff57fff8000", + "0x480a7ffc7fff8000", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480080067ff58000", + "0x480a7ffc7fff8000", + "0x482480017ff38000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480080087ff18000", + "0x480080097ff08000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xfe6", + "0x480a7ffa7fff8000", + "0x48127ff27fff8000", + "0x480a7ffc7fff8000", + "0x48127ff17fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xfe0", + "0x480a7ffa7fff8000", + "0x48127ff47fff8000", + "0x480a7ffc7fff8000", + "0x48127ff37fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480280067ffd8000", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ffd8000", + "0x480280097ffd8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x536563703235366b31476574506f696e7446726f6d58", + "0x400280007ffd7fff", + "0x400380017ffd7ffc", + "0x400280027ffd7ffc", + "0x400280037ffd7ffd", + "0x400280047ffd7ffe", + "0x480280067ffd8000", + "0x20680017fff7fff", + "0x17f", + "0x480280077ffd8000", + "0x480280087ffd8000", + "0x480280057ffd8000", + "0x482680017ffd8000", + "0x9", + "0x20680017fff7ffc", + "0xe", + "0x40780017fff7fff", + "0x45", + "0x1104800180018000", + "0x10da", + "0x480a7ffb7fff8000", + "0x48127fb07fff8000", + "0x48127fb07fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0xe3e70682c2094cac629f6fbed82c07cd", + "0x480680017fff8000", + "0xf728b4fa42485e3a0a5d2f346baa9455", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x536563703235366b31476574506f696e7446726f6d58", + "0x400080007ffb7fff", + "0x400080017ffb7ffa", + "0x400080027ffb7ffc", + "0x400080037ffb7ffd", + "0x400080047ffb7ffe", + "0x480080067ffb8000", + "0x20680017fff7fff", + "0x151", + "0x480080077ffa8000", + "0x480080087ff98000", + "0x480080057ff88000", + "0x482480017ff78000", + "0x9", + "0x20680017fff7ffc", + "0x13b", + "0x480680017fff8000", + "0xe3e70682c2094cac629f6fbed82c07cd", + "0x480680017fff8000", + "0xf728b4fa42485e3a0a5d2f346baa9455", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x536563703235366b31476574506f696e7446726f6d58", + "0x400080007ffb7fff", + "0x400080017ffb7ffa", + "0x400080027ffb7ffc", + "0x400080037ffb7ffd", + "0x400080047ffb7ffe", + "0x480080067ffb8000", + "0x20680017fff7fff", + "0x120", + "0x480080077ffa8000", + "0x480080087ff98000", + "0x480080057ff88000", + "0x482480017ff78000", + "0x9", + "0x20680017fff7ffc", + "0x112", + "0x480680017fff8000", + "0x536563703235366b314765745879", + "0x400080007ffe7fff", + "0x400080017ffe7ffd", + "0x400080027ffe7ff3", + "0x480080047ffe8000", + "0x20680017fff7fff", + "0xff", + "0x480080057ffd8000", + "0x480080067ffc8000", + "0x480080037ffb8000", + "0x482480017ffa8000", + "0x9", + "0x480080077ff98000", + "0x480080087ff88000", + "0x4824800180007ffa", + "0xe3e70682c2094cac629f6fbed82c07cd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x26", + "0x482480017fd58000", + "0x3d7c", + "0x10780017fff7fff", + "0xc", + "0x4824800180007ffa", + "0xf728b4fa42485e3a0a5d2f346baa9455", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x25", + "0x482480017fd58000", + "0x3cbe", + "0x480a7ffb7fff8000", + "0x48127ffe7fff8000", + "0x48127fd37fff8000", + "0x10780017fff7fff", + "0xa4", + "0x4824800180007ffc", + "0x8e031ab54fc0c4a8f0dc94fad0d0611", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x24", + "0x482480017fd58000", + "0x3b38", + "0x10780017fff7fff", + "0xc", + "0x4824800180007ffc", + "0x8e182ca967f38e1bd6a49583f43f1876", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x23", + "0x482480017fd58000", + "0x3a7a", + "0x480a7ffb7fff8000", + "0x48127ffe7fff8000", + "0x48127fd37fff8000", + "0x10780017fff7fff", + "0x89", + "0x480680017fff8000", + "0xffffffffffffffffffffffffffffffff", + "0x480680017fff8000", + "0x8e182ca967f38e1bd6a49583f43f1876", + "0x48307fff80017ffe", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280007ffb7fff", + "0x10780017fff7fff", + "0xd", + "0x400280007ffb7fff", + "0x40780017fff7fff", + "0x1", + "0x482680017ffb8000", + "0x1", + "0x48127ff27fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x9", + "0x482680017ffb8000", + "0x1", + "0x482480017ff28000", + "0xa", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0xfffffffffffffffffffffffefffffc2f", + "0x480680017fff8000", + "0x8e031ab54fc0c4a8f0dc94fad0d0611", + "0x48307fff80017ffe", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0xd", + "0x400080007ff87fff", + "0x40780017fff7fff", + "0x4", + "0x482480017ff48000", + "0x1", + "0x482480017ff48000", + "0x1ae", + "0x48127ff97fff8000", + "0x48127ff37fff8000", + "0x10780017fff7fff", + "0x12", + "0x480680017fff8000", + "0x1", + "0x48307fff80017ff8", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080017ff37fff", + "0x10780017fff7fff", + "0x73", + "0x400080017ff47fff", + "0x482480017ff48000", + "0x2", + "0x48127ff47fff8000", + "0x48127ffa7fff8000", + "0x48127ffc7fff8000", + "0x20680017fff7ff3", + "0x64", + "0x480680017fff8000", + "0x536563703235366b314765745879", + "0x400080007fe37fff", + "0x400080017fe37ffc", + "0x400080027fe37fdb", + "0x480080047fe38000", + "0x20680017fff7fff", + "0x51", + "0x480080057fe28000", + "0x480080067fe18000", + "0x480080037fe08000", + "0x482480017fdf8000", + "0x9", + "0x480080077fde8000", + "0x480080087fdd8000", + "0x4824800180007ffa", + "0xe3e70682c2094cac629f6fbed82c07cd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x5", + "0x482480017ff68000", + "0x2ee", + "0x10780017fff7fff", + "0xc", + "0x4824800180007ffa", + "0xf728b4fa42485e3a0a5d2f346baa9455", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x4", + "0x482480017ff68000", + "0x230", + "0x48127fed7fff8000", + "0x48127ffe7fff8000", + "0x48127ff47fff8000", + "0x10780017fff7fff", + "0x18", + "0x48127ff47fff8000", + "0x48127ff47fff8000", + "0x48307ffe80007ffa", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x1", + "0x482480017ff68000", + "0x5a", + "0x10780017fff7fff", + "0x8", + "0x48307ffe80007ffa", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x10", + "0x48127ff67fff8000", + "0x48127fed7fff8000", + "0x48127ffe7fff8000", + "0x48127ff47fff8000", + "0x1104800180018000", + "0xfdb", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xc", + "0x48127fe27fff8000", + "0x482480017fe98000", + "0x3d4", + "0x48127fe97fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x18", + "0x48127fe27fff8000", + "0x480080037fc98000", + "0x482480017fc88000", + "0x7", + "0x480680017fff8000", + "0x1", + "0x480080057fc68000", + "0x480080067fc58000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x10", + "0x48127fec7fff8000", + "0x482480017fec8000", + "0x3034", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x13", + "0x482480017fe08000", + "0x2", + "0x482480017fe08000", + "0x31a6", + "0x1104800180018000", + "0x10bb", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x48127fc87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x39", + "0x480a7ffb7fff8000", + "0x480080037fc38000", + "0x482480017fc28000", + "0x7", + "0x480680017fff8000", + "0x1", + "0x480080057fc08000", + "0x480080067fbf8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x31", + "0x482480017fcd8000", + "0x6ac2", + "0x48127fcd7fff8000", + "0x10780017fff7fff", + "0x12", + "0x40780017fff7fff", + "0x3f", + "0x480a7ffb7fff8000", + "0x480080057fba8000", + "0x482480017fb98000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480080077fb78000", + "0x480080087fb68000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x3a", + "0x482480017fc48000", + "0x981c", + "0x48127fc47fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff42a", + "0x480a7ffb7fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x48", + "0x480a7ffb7fff8000", + "0x480080057fb18000", + "0x482480017fb08000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480080077fae8000", + "0x480080087fad8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x51", + "0x480a7ffb7fff8000", + "0x480280057ffd8000", + "0x482680017ffd8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffd8000", + "0x480280087ffd8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x5365637032353672314e6577", + "0x400280007ffd7fff", + "0x400380017ffd7ffc", + "0x400280027ffd7ffb", + "0x400280037ffd7ffc", + "0x400280047ffd7ffd", + "0x400280057ffd7ffe", + "0x480280077ffd8000", + "0x20680017fff7fff", + "0x134", + "0x480280087ffd8000", + "0x480280097ffd8000", + "0x480280067ffd8000", + "0x482680017ffd8000", + "0xa", + "0x20680017fff7ffc", + "0xe", + "0x40780017fff7fff", + "0x2f1", + "0x1104800180018000", + "0xf3f", + "0x480a7ffb7fff8000", + "0x48127d047fff8000", + "0x48127d047fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0xffffffffffffffffffffffff", + "0x480680017fff8000", + "0xffffffff000000010000000000000000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x5365637032353672314e6577", + "0x400080007ffa7fff", + "0x400080017ffa7ff9", + "0x400080027ffa7ffb", + "0x400080037ffa7ffc", + "0x400080047ffa7ffd", + "0x400080057ffa7ffe", + "0x480080077ffa8000", + "0x20680017fff7fff", + "0xf", + "0x40780017fff7fff", + "0x2eb", + "0x1104800180018000", + "0xdee", + "0x480a7ffb7fff8000", + "0x480080067d058000", + "0x482480017d048000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x480080087ff98000", + "0x480080097ff88000", + "0x480080067ff78000", + "0x482480017ff68000", + "0xa", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xeb", + "0x480080007ffb8000", + "0x4824800180007fff", + "0x496e76616c696420617267756d656e74", + "0x20680017fff7fff", + "0xda", + "0x480680017fff8000", + "0x2d483fe223b12b91047d83258a958b0f", + "0x480680017fff8000", + "0x502a43ce77c6f5c736a82f847fa95f8c", + "0x480680017fff8000", + "0xce729c7704f4ddf2eaaf0b76209fe1b0", + "0x480680017fff8000", + "0xdb0a2e6710c71ba80afeb3abdf69d306", + "0x480680017fff8000", + "0x5365637032353672314e6577", + "0x400080007ff77fff", + "0x400080017ff77ff6", + "0x400080027ff77ffb", + "0x400080037ff77ffc", + "0x400080047ff77ffd", + "0x400080057ff77ffe", + "0x480080077ff78000", + "0x20680017fff7fff", + "0xbc", + "0x480080087ff68000", + "0x480080097ff58000", + "0x480080067ff48000", + "0x482480017ff38000", + "0xa", + "0x20680017fff7ffc", + "0xa6", + "0x480680017fff8000", + "0x5365637032353672314765745879", + "0x400080007ffe7fff", + "0x400080017ffe7ffd", + "0x400080027ffe7ffc", + "0x480080047ffe8000", + "0x20680017fff7fff", + "0x93", + "0x480080057ffd8000", + "0x480080067ffc8000", + "0x480080037ffb8000", + "0x482480017ffa8000", + "0x9", + "0x480080077ff98000", + "0x480080087ff88000", + "0x4824800180007ffa", + "0x2d483fe223b12b91047d83258a958b0f", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x2d0", + "0x482480017d2b8000", + "0x2a68e", + "0x10780017fff7fff", + "0xc", + "0x4824800180007ffa", + "0x502a43ce77c6f5c736a82f847fa95f8c", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x2cf", + "0x482480017d2b8000", + "0x2a5d0", + "0x10780017fff7fff", + "0x18", + "0x4824800180007ffc", + "0xce729c7704f4ddf2eaaf0b76209fe1b0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x2ce", + "0x482480017d2b8000", + "0x2a4ae", + "0x10780017fff7fff", + "0xc", + "0x4824800180007ffc", + "0xdb0a2e6710c71ba80afeb3abdf69d306", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x10", + "0x40780017fff7fff", + "0x2cd", + "0x482480017d2b8000", + "0x2a3f0", + "0x1104800180018000", + "0xeb4", + "0x480a7ffb7fff8000", + "0x48127ff67fff8000", + "0x48127d217fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x32e41495a944d0045b522eba7240fad5", + "0x480680017fff8000", + "0x4aaec73635726f213fb8a9e64da3b86", + "0x480680017fff8000", + "0xaaf7b4e09fc81d6d1aa546e8365d525d", + "0x480680017fff8000", + "0x87d9315798aaa3a5ba01775787ced05e", + "0x480680017fff8000", + "0x5365637032353672314e6577", + "0x400080007ff47fff", + "0x400080017ff47ff3", + "0x400080027ff47ffb", + "0x400080037ff47ffc", + "0x400080047ff47ffd", + "0x400080057ff47ffe", + "0x480080077ff48000", + "0x20680017fff7fff", + "0x36", + "0x480080087ff38000", + "0x480080097ff28000", + "0x480080067ff18000", + "0x482480017ff08000", + "0xa", + "0x20680017fff7ffc", + "0x28", + "0x480a7ffb7fff8000", + "0x48127ffd7fff8000", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x27ae41e4649b934ca495991b7852b855", + "0x480680017fff8000", + "0xe3b0c44298fc1c149afbf4c8996fb924", + "0x480680017fff8000", + "0x42d16e47f219f9e98e76e09d8770b34a", + "0x480680017fff8000", + "0xb292a619339f6e567a305c951c0dcbcc", + "0x480680017fff8000", + "0xe59ec2a17ce5bd2dab2abebdf89a62e2", + "0x480680017fff8000", + "0x177e60492c5a8242f76f07bfe3661bd", + "0x48127ff47fff8000", + "0x1104800180018000", + "0xf94", + "0x20680017fff7ffd", + "0xc", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2c2", + "0x482480017d3c8000", + "0x2751a", + "0x48127d3c7fff8000", + "0x10780017fff7fff", + "0x1d", + "0x40780017fff7fff", + "0x2d0", + "0x480a7ffb7fff8000", + "0x480080067d228000", + "0x482480017d218000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480080087d1f8000", + "0x480080097d1e8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2e0", + "0x480a7ffb7fff8000", + "0x480080037d1c8000", + "0x482480017d1b8000", + "0x7", + "0x480680017fff8000", + "0x1", + "0x480080057d198000", + "0x480080067d188000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2d8", + "0x482480017d268000", + "0x2d32a", + "0x48127d267fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff2f2", + "0x480a7ffb7fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2e6", + "0x480a7ffb7fff8000", + "0x480080067d0f8000", + "0x482480017d0e8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480080087d0c8000", + "0x480080097d0b8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2e4", + "0x1104800180018000", + "0xcff", + "0x480a7ffb7fff8000", + "0x48127d0e7fff8000", + "0x48127d0e7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2e6", + "0x1104800180018000", + "0xcf8", + "0x480a7ffb7fff8000", + "0x48127d0e7fff8000", + "0x48127d0e7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2fd", + "0x480a7ffb7fff8000", + "0x480280067ffd8000", + "0x482680017ffd8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ffd8000", + "0x480280097ffd8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x7820213d2079", + "0x1104800180018000", + "0x936", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xffffffffffffffffffffffffffffcaf4", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0xef", + "0x4825800180007ffa", + "0x350c", + "0x400280007ff97fff", + "0x48297ffc80007ffd", + "0x480680017fff8000", + "0x3", + "0x48307fff80017ffe", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280017ff97fff", + "0x10780017fff7fff", + "0xd6", + "0x400280017ff97fff", + "0x482680017ff98000", + "0x2", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc1", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480280007ffc8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb3", + "0x482480017ffc8000", + "0x1", + "0x48127ffc7fff8000", + "0x480080007ffa8000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa5", + "0x480080007ffc8000", + "0x482480017ffb8000", + "0x1", + "0x48127ffb7fff8000", + "0x20680017fff7ffd", + "0x3c", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ff6", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007fef7ffc", + "0x480080017fee7ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027fed7ffd", + "0x10780017fff7fff", + "0x28", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ff5", + "0x480080007ff07ffd", + "0x480080017fef7ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027fee7ffe", + "0x482480017fee8000", + "0x3", + "0x480680017fff8000", + "0x43616c6c436f6e7472616374", + "0x400280007ffb7fff", + "0x400280017ffb7fe7", + "0x400280027ffb7ff0", + "0x400280037ffb7ff4", + "0x400280047ffb7ff7", + "0x400280057ffb7ff8", + "0x480280077ffb8000", + "0x20680017fff7fff", + "0xa", + "0x480280067ffb8000", + "0x48127ffc7fff8000", + "0x482480017ffe8000", + "0xc8", + "0x482680017ffb8000", + "0xa", + "0x10780017fff7fff", + "0x6d", + "0x48127ffd7fff8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017fed8000", + "0x3", + "0x482480017fe78000", + "0x2710", + "0x10780017fff7fff", + "0x72", + "0x4824800180007ffd", + "0x1", + "0x20680017fff7fff", + "0x3b", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ff5", + "0x800000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8002", + "0x480080007fee7ffc", + "0x480080017fed7ffc", + "0x402480017ffb7ffd", + "0xffffffffffffffeeffffffffffffffff", + "0x400080027fec7ffd", + "0x10780017fff7fff", + "0x27", + "0x484480017fff8001", + "0x8000000000000000000000000000000", + "0x48307fff80007ff4", + "0x480080007fef7ffd", + "0x480080017fee7ffd", + "0x402480017ffc7ffe", + "0xf8000000000000000000000000000000", + "0x400080027fed7ffe", + "0x482480017fed8000", + "0x3", + "0x480680017fff8000", + "0x4c69627261727943616c6c", + "0x400280007ffb7fff", + "0x400280017ffb7fe6", + "0x400280027ffb7fef", + "0x400280037ffb7ff3", + "0x400280047ffb7ff6", + "0x400280057ffb7ff7", + "0x480280077ffb8000", + "0x20680017fff7fff", + "0x9", + "0x480280067ffb8000", + "0x48127ffc7fff8000", + "0x48127ffe7fff8000", + "0x482680017ffb8000", + "0xa", + "0x10780017fff7fff", + "0x30", + "0x48127ffd7fff8000", + "0x480280067ffb8000", + "0x482680017ffb8000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ffb8000", + "0x480280097ffb8000", + "0x208b7fff7fff7ffe", + "0x482480017fec8000", + "0x3", + "0x482480017fe68000", + "0x2648", + "0x10780017fff7fff", + "0x35", + "0x4824800180007ffa", + "0x62c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5", + "0x20680017fff7fff", + "0xb", + "0x48127ff17fff8000", + "0x482480017feb8000", + "0x2670", + "0x480a7ffb7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff4b", + "0x208b7fff7fff7ffe", + "0x4824800180007ff9", + "0x32564d7e0fe091d49b4c20f4632191e4ed6986bf993849879abfef9465def25", + "0x20680017fff7fff", + "0xc", + "0x1104800180018000", + "0x42", + "0x48127fe87fff8000", + "0x48127fe27fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff07fff8000", + "0x482480017fea8000", + "0x2dbe", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x482480017ff08000", + "0x2c92", + "0x10780017fff7fff", + "0xa", + "0x48127ffa7fff8000", + "0x482480017ff48000", + "0x2e86", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x482480017ff88000", + "0x30de", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff1d6", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1309", + "0x482680017ff98000", + "0x2", + "0x48127ff17fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff1bc", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x6661696c", + "0x1104800180018000", + "0x832", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffc8000", + "0xfffffffffffffffffffffffffffffbd2", + "0x400280007ffb7fff", + "0x10780017fff7fff", + "0x19", + "0x4825800180007ffc", + "0x42e", + "0x400280007ffb7fff", + "0x482680017ffb8000", + "0x1", + "0x20780017fff7ffd", + "0xb", + "0x1104800180018000", + "0x12e5", + "0x48127ff77fff8000", + "0x48127ff57fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ffd7fff8000", + "0x4825800180007ffd", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff18e", + "0x482680017ffb8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffc8000", + "0xfffffffffffffffffffffffffffffbd2", + "0x400280007ffb7fff", + "0x10780017fff7fff", + "0x1a", + "0x4825800180007ffc", + "0x42e", + "0x400280007ffb7fff", + "0x482680017ffb8000", + "0x1", + "0x20780017fff7ffd", + "0xc", + "0x48127fff7fff8000", + "0x482480017ffd8000", + "0x74e", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x48127ffd7fff8000", + "0x4825800180007ffd", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe5", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff165", + "0x482680017ffb8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x2691cb735b18f3f656c3b82bd97a32b65d15019b64117513f8604d1e06fe58b", + "0x400280007ff97fff", + "0x400380017ff97ffb", + "0x480280027ff98000", + "0xa0680017fff8005", + "0xe", + "0x4824800180057ffe", + "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8003", + "0x480280007ff77ffc", + "0x480280017ff77ffc", + "0x482480017ffb7ffd", + "0xffffffffffffffeefffffffffffffeff", + "0x400280027ff77ffc", + "0x10780017fff7fff", + "0x11", + "0x48127ffe7fff8005", + "0x484480017ffe8000", + "0x8000000000000000000000000000000", + "0x48307ffe7fff8003", + "0x480280007ff77ffd", + "0x482480017ffc7ffe", + "0xf0000000000000000000000000000100", + "0x480280017ff77ffd", + "0x400280027ff77ff9", + "0x402480017ffd7ff9", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7ffd", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x0", + "0x482680017ff98000", + "0x3", + "0x482680017ff78000", + "0x3", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffa7fff", + "0x400380017ffa7ff8", + "0x400280027ffa7ffc", + "0x400280037ffa7ffb", + "0x480280057ffa8000", + "0x20680017fff7fff", + "0x88", + "0x480280047ffa8000", + "0x480680017fff8000", + "0x0", + "0x482480017ff88000", + "0x1", + "0x480280067ffa8000", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280077ffa7fff", + "0x400280087ffa7ffb", + "0x400280097ffa7ffc", + "0x4002800a7ffa7ffd", + "0x4802800c7ffa8000", + "0x20680017fff7fff", + "0x6d", + "0x480680017fff8000", + "0x2691cb735b18f3f656c3b82bd97a32b65d15019b64117513f8604d1e06fe58b", + "0x400080007ff57fff", + "0x400180017ff57ffb", + "0x480080027ff58000", + "0xa0680017fff8005", + "0xe", + "0x4824800180057ffe", + "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8003", + "0x480080007ff17ffc", + "0x480080017ff07ffc", + "0x482480017ffb7ffd", + "0xffffffffffffffeefffffffffffffeff", + "0x400080027fee7ffc", + "0x10780017fff7fff", + "0x11", + "0x48127ffe7fff8005", + "0x484480017ffe8000", + "0x8000000000000000000000000000000", + "0x48307ffe7fff8003", + "0x480080007ff17ffd", + "0x482480017ffc7ffe", + "0xf0000000000000000000000000000100", + "0x480080017fef7ffd", + "0x400080027fee7ff9", + "0x402480017ffd7ff9", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7ffd", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x4802800b7ffa8000", + "0x480680017fff8000", + "0x0", + "0x48287ffc7ff28000", + "0x4802800d7ffa8000", + "0x482480017fe98000", + "0x3", + "0x482480017fe98000", + "0x3", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x4002800e7ffa7fff", + "0x4002800f7ffa7ff9", + "0x400280107ffa7ffa", + "0x400280117ffa7ff8", + "0x400280127ffa7ffb", + "0x480280147ffa8000", + "0x20680017fff7fff", + "0x2c", + "0x480280137ffa8000", + "0x480680017fff8000", + "0x0", + "0x482480017ff58000", + "0x1", + "0x48287ffd7ff88000", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280157ffa7fff", + "0x400280167ffa7ffb", + "0x400280177ffa7ffc", + "0x400280187ffa7ffd", + "0x400280197ffa7ffe", + "0x4802801b7ffa8000", + "0x20680017fff7fff", + "0x10", + "0x4802801a7ffa8000", + "0x48127ff67fff8000", + "0x482480017ffe8000", + "0xa", + "0x48127ff37fff8000", + "0x482680017ffa8000", + "0x1c", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x48127ff67fff8000", + "0x4802801a7ffa8000", + "0x48127ff37fff8000", + "0x482680017ffa8000", + "0x1e", + "0x480680017fff8000", + "0x1", + "0x4802801c7ffa8000", + "0x4802801d7ffa8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x7", + "0x48127ff67fff8000", + "0x480280137ffa8000", + "0x48127ff37fff8000", + "0x482680017ffa8000", + "0x17", + "0x480680017fff8000", + "0x1", + "0x480280157ffa8000", + "0x480280167ffa8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x18", + "0x48127fdf7fff8000", + "0x4802800b7ffa8000", + "0x48127fdc7fff8000", + "0x482680017ffa8000", + "0xf", + "0x480680017fff8000", + "0x1", + "0x4802800d7ffa8000", + "0x4802800e7ffa8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1e", + "0x48127fdf7fff8000", + "0x480280047ffa8000", + "0x48127fdc7fff8000", + "0x482680017ffa8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480280067ffa8000", + "0x480280077ffa8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x2691cb735b18f3f656c3b82bd97a32b65d15019b64117513f8604d1e06fe58b", + "0x400280007ff97fff", + "0x400380017ff97ffb", + "0x480280027ff98000", + "0xa0680017fff8005", + "0xe", + "0x4824800180057ffe", + "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8003", + "0x480280007ff67ffc", + "0x480280017ff67ffc", + "0x482480017ffb7ffd", + "0xffffffffffffffeefffffffffffffeff", + "0x400280027ff67ffc", + "0x10780017fff7fff", + "0x11", + "0x48127ffe7fff8005", + "0x484480017ffe8000", + "0x8000000000000000000000000000000", + "0x48307ffe7fff8003", + "0x480280007ff67ffd", + "0x482480017ffc7ffe", + "0xf0000000000000000000000000000100", + "0x480280017ff67ffd", + "0x400280027ff67ff9", + "0x402480017ffd7ff9", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7ffd", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x0", + "0x482680017ff98000", + "0x3", + "0x482680017ff68000", + "0x3", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffa7fff", + "0x400380017ffa7ff7", + "0x400280027ffa7ffc", + "0x400280037ffa7ffb", + "0x480280057ffa8000", + "0x20680017fff7fff", + "0xf2", + "0x480280047ffa8000", + "0x480680017fff8000", + "0x0", + "0x482480017ff88000", + "0x1", + "0x480280067ffa8000", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280077ffa7fff", + "0x400280087ffa7ffb", + "0x400280097ffa7ffc", + "0x4002800a7ffa7ffd", + "0x4802800c7ffa8000", + "0x20680017fff7fff", + "0xd6", + "0x4802800b7ffa8000", + "0x482680017ffa8000", + "0xe", + "0x4802800d7ffa8000", + "0xa0680017fff8000", + "0x16", + "0x480080007ff38003", + "0x480080017ff28003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ff6", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027fee7ffd", + "0x20680017fff7ffe", + "0xa1", + "0x402780017fff7fff", + "0x1", + "0x400080007ff37ff9", + "0xa0680017fff8000", + "0x16", + "0x480080017ff28003", + "0x480080027ff18003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ffa", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080037fed7ffd", + "0x20680017fff7ffe", + "0x79", + "0x402780017fff7fff", + "0x1", + "0x400080017ff27ffd", + "0x40780017fff7fff", + "0x1", + "0x400280007ff87ff7", + "0x400380017ff87ffc", + "0x400280057ff87ffc", + "0x400380067ff87ffd", + "0x480680017fff8000", + "0x2691cb735b18f3f656c3b82bd97a32b65d15019b64117513f8604d1e06fe58b", + "0x400080007fef7fff", + "0x400180017fef7ffb", + "0x480080027fef8000", + "0xa0680017fff8005", + "0xe", + "0x4824800180057ffe", + "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8003", + "0x480080027feb7ffc", + "0x480080037fea7ffc", + "0x482480017ffb7ffd", + "0xffffffffffffffeefffffffffffffeff", + "0x400080047fe87ffc", + "0x10780017fff7fff", + "0x11", + "0x48127ffe7fff8005", + "0x484480017ffe8000", + "0x8000000000000000000000000000000", + "0x48307ffe7fff8003", + "0x480080027feb7ffd", + "0x482480017ffc7ffe", + "0xf0000000000000000000000000000100", + "0x480080037fe97ffd", + "0x400080047fe87ff9", + "0x402480017ffd7ff9", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7ffd", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480280037ff88000", + "0x482680017ff88000", + "0xa", + "0x480280087ff88000", + "0x482480017fe38000", + "0x3", + "0x482480017fe38000", + "0x5", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400080007feb7fff", + "0x400080017feb7fea", + "0x400080027feb7ff9", + "0x400080037feb7ff8", + "0x400080047feb7ffa", + "0x480080067feb8000", + "0x20680017fff7fff", + "0x2d", + "0x480080057fea8000", + "0x480680017fff8000", + "0x0", + "0x482480017ff58000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400080077fe67fff", + "0x400080087fe67ffc", + "0x400080097fe67ffd", + "0x4000800a7fe67ffe", + "0x4000800b7fe67ff7", + "0x4800800d7fe68000", + "0x20680017fff7fff", + "0x11", + "0x4800800c7fe58000", + "0x48127ff77fff8000", + "0x482480017ffe8000", + "0xa", + "0x48127ff27fff8000", + "0x48127ff37fff8000", + "0x482480017fe08000", + "0xe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x48127ff77fff8000", + "0x4800800c7fe38000", + "0x48127ff27fff8000", + "0x48127ff37fff8000", + "0x482480017fe08000", + "0x10", + "0x480680017fff8000", + "0x1", + "0x4800800e7fde8000", + "0x4800800f7fdd8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x6", + "0x48127ff77fff8000", + "0x480080057fe38000", + "0x48127ff27fff8000", + "0x48127ff37fff8000", + "0x482480017fe08000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480080077fde8000", + "0x480080087fdd8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x1db0", + "0x482480017fff8000", + "0x1daf", + "0x480080007fff8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0x5456", + "0x480080017ffd8000", + "0x484480017fff8000", + "0x2", + "0x48307ffd7fff8000", + "0x482480017fe48000", + "0x4", + "0x48307ffe7fec8000", + "0x10780017fff7fff", + "0x13", + "0x40780017fff7fff", + "0x1", + "0x1104800180018000", + "0x1d9d", + "0x482480017fff8000", + "0x1d9c", + "0x480080007fff8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0x555a", + "0x480080017ffd8000", + "0x484480017fff8000", + "0x2", + "0x48307ffd7fff8000", + "0x482480017fe48000", + "0x3", + "0x48307ffe7fec8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffef95", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ff87fff8000", + "0x48127fd67fff8000", + "0x48127fe07fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1d", + "0x48127fda7fff8000", + "0x4802800b7ffa8000", + "0x480a7ff87fff8000", + "0x48127fd67fff8000", + "0x482680017ffa8000", + "0xf", + "0x480680017fff8000", + "0x1", + "0x4802800d7ffa8000", + "0x4802800e7ffa8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x23", + "0x48127fda7fff8000", + "0x480280047ffa8000", + "0x480a7ff87fff8000", + "0x48127fd67fff8000", + "0x482680017ffa8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480280067ffa8000", + "0x480280077ffa8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x654fd7e67a123dd13868093b3b7777f1ffef596c2e324f25ceaf9146698482c", + "0x480680017fff8000", + "0x4fad269cbf860980e38768fe9cb6b0b9ab03ee3fe84cfde2eccce597c874fd8", + "0x48507fff7fff8000", + "0x48507ffd7ffd8001", + "0x48507ffc80008001", + "0x482480017ffb8001", + "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", + "0x483080007fff7ffd", + "0x48307ffc80007ffb", + "0x20680017fff7fff", + "0x10a", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x3dbce56de34e1cfe252ead5a1f14fd261d520d343ff6b7652174e62976ef44d", + "0x480680017fff8000", + "0x4b5810004d9272776dec83ecc20c19353453b956e594188890b48467cb53c19", + "0x48507fff7fff8000", + "0x48507ffd7ffd8001", + "0x48507ffc80008001", + "0x482480017ffb8001", + "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", + "0x483080007fff7ffd", + "0x48307ffc80007ffb", + "0x20680017fff7fff", + "0xed", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x20680017fff7fff", + "0x12", + "0x40780017fff7fff", + "0x11", + "0x1104800180018000", + "0x1d46", + "0x482480017fff8000", + "0x1d45", + "0x480080007fff8000", + "0x480080027fff8000", + "0x482480017fff8000", + "0x7ee", + "0x480a7ffb7fff8000", + "0x48327ffe7ffc8000", + "0x48127fe57fff8000", + "0x48127fe57fff8000", + "0x10780017fff7fff", + "0x35", + "0x4800800080068004", + "0x4800800180058004", + "0x4850800380037ffe", + "0x4850800180017ffe", + "0x485080007ffd7ffe", + "0x482480017fff7ffe", + "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", + "0x48307ffd7ffc7ffa", + "0x480680017fff8000", + "0x6d232c016ef1b12aec4b7f88cc0b3ab662be3b7dd7adbce5209fcfdbd42a504", + "0x400280007ffb7ffc", + "0x400280017ffb7ffd", + "0x400280027ffb7ff6", + "0x400280037ffb7ff7", + "0x400280047ffb7fff", + "0x480280057ffb8000", + "0x480280067ffb8000", + "0x48127ffc7fff8000", + "0x482680017ffb8000", + "0x7", + "0x480080007ffe8000", + "0x480080017ffd8000", + "0x48307ffe80007ffa", + "0x20680017fff7fff", + "0x5", + "0x40127ffe7fff7ffa", + "0x10780017fff7fff", + "0x10", + "0x48307ffe7ffa8000", + "0x48507ffe80007fff", + "0x48507fff7fff8000", + "0x48307ffa7ff68000", + "0x48307fff80027ffe", + "0x483080017fff7ff4", + "0x48507ffe7ffb7fff", + "0x48307ff380007ffe", + "0x48127ff47fff8000", + "0x480a7ffc7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x10780017fff7fff", + "0xb", + "0x40780017fff7fff", + "0x8", + "0x48127ff47fff8000", + "0x482680017ffc8000", + "0x208", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x20680017fff7fff", + "0xa", + "0x40780017fff7fff", + "0x2a", + "0x482480017fd38000", + "0xff0", + "0x48127fae7fff8000", + "0x48127fae7fff8000", + "0x10780017fff7fff", + "0x51", + "0x20680017fff7fda", + "0xa", + "0x40780017fff7fff", + "0x2a", + "0x482480017fd38000", + "0xf8c", + "0x48127fd37fff8000", + "0x48127fd37fff8000", + "0x10780017fff7fff", + "0x47", + "0x4800800080068004", + "0x4800800180058004", + "0x4850800380037ffe", + "0x4850800180017ffe", + "0x485080007ffd7ffe", + "0x482480017fff7ffe", + "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", + "0x48307ffd7ffc7ffa", + "0x48307ffd80007ff7", + "0x20680017fff7fff", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x48307ffd80007ff7", + "0x48507ffe80007fff", + "0x48507fff7fff8000", + "0x48307ff97ff38000", + "0x48307fff80027ffe", + "0x483080017fff7ff1", + "0x48507ffe7ffb7fff", + "0x48307ff080007ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x48127ff47fff8000", + "0x48307ffd80007fc6", + "0x20680017fff7fff", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x48307ffd80007fc6", + "0x48507ffe80007fff", + "0x48507fff7fff8000", + "0x48307ff97fc28000", + "0x48307fff80027ffe", + "0x483080017fff7fc0", + "0x48507ffe7ffb7fff", + "0x48307fbf80007ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x48127ff47fff8000", + "0x480080007fff8000", + "0x480080017ffe8000", + "0x48307ffe80007ffb", + "0x20680017fff7fff", + "0x5", + "0x40127ffe7fff7ffb", + "0x10780017fff7fff", + "0xf", + "0x48307ffe7ffb8000", + "0x48507ffe80007fff", + "0x48507fff7fff8000", + "0x48307ffa7ff78000", + "0x48307fff80027ffe", + "0x483080017fff7ff5", + "0x48507ffe7ffb7fff", + "0x48307ff480007ffe", + "0x48127fd37fff8000", + "0x48127ffd7fff8000", + "0x48127ffd7fff8000", + "0x10780017fff7fff", + "0xa", + "0x40780017fff7fff", + "0x8", + "0x482480017fd38000", + "0x208", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x20680017fff7fff", + "0x9", + "0x40780017fff7fff", + "0x1", + "0x48127fce7fff8000", + "0x482480017ffb8000", + "0x5208", + "0x10780017fff7fff", + "0x5e", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x161bc82433cf4a92809836390ccd14921dfc4dc410cf3d2adbfee5e21ecfec8", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffd7fff", + "0x400280017ffd7ffa", + "0x400280027ffd7ffd", + "0x400280037ffd7ffe", + "0x400280047ffd7ffb", + "0x480280067ffd8000", + "0x20680017fff7fff", + "0x2b", + "0x480680017fff8000", + "0x161bc82433cf4a92809836390ccd14921dfc4dc410cf3d2adbfee5e21ecfec8", + "0x480280057ffd8000", + "0x480680017fff8000", + "0x0", + "0x482480017ffd8000", + "0x1", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280077ffd7fff", + "0x400280087ffd7ffc", + "0x400280097ffd7ffd", + "0x4002800a7ffd7ffe", + "0x4002800b7ffd7ff6", + "0x4802800d7ffd8000", + "0x20680017fff7fff", + "0xf", + "0x4802800c7ffd8000", + "0x48127fc47fff8000", + "0x482480017ffe8000", + "0xa", + "0x482680017ffd8000", + "0xe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x48127fc47fff8000", + "0x4802800c7ffd8000", + "0x482680017ffd8000", + "0x10", + "0x480680017fff8000", + "0x1", + "0x4802800e7ffd8000", + "0x4802800f7ffd8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x7", + "0x48127fc47fff8000", + "0x480280057ffd8000", + "0x482680017ffd8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffd8000", + "0x480280087ffd8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x45", + "0x1104800180018000", + "0x1c5f", + "0x482480017fff8000", + "0x1c5e", + "0x480080007fff8000", + "0x480080027fff8000", + "0x482480017fff8000", + "0x6fcc", + "0x480a7ffb7fff8000", + "0x48327ffe7ffc8000", + "0x10780017fff7fff", + "0xe", + "0x40780017fff7fff", + "0x4f", + "0x1104800180018000", + "0x1c51", + "0x482480017fff8000", + "0x1c50", + "0x480080007fff8000", + "0x480080027fff8000", + "0x482480017fff8000", + "0x7418", + "0x480a7ffb7fff8000", + "0x48327ffe7ffc8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffee4e", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x476574457865637574696f6e496e666f", + "0x400280007ffc7fff", + "0x400380017ffc7ffa", + "0x480280037ffc8000", + "0x20680017fff7fff", + "0x116", + "0x480280047ffc8000", + "0x480080017fff8000", + "0x480680017fff8000", + "0x2691cb735b18f3f656c3b82bd97a32b65d15019b64117513f8604d1e06fe58b", + "0x400280007ffb7fff", + "0x400380017ffb7ffd", + "0x480280027ffb8000", + "0xa0680017fff8005", + "0xe", + "0x4824800180057ffe", + "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8003", + "0x480280007ff97ffc", + "0x480280017ff97ffc", + "0x482480017ffb7ffd", + "0xffffffffffffffeefffffffffffffeff", + "0x400280027ff97ffc", + "0x10780017fff7fff", + "0x11", + "0x48127ffe7fff8005", + "0x484480017ffe8000", + "0x8000000000000000000000000000000", + "0x48307ffe7fff8003", + "0x480280007ff97ffd", + "0x482480017ffc7ffe", + "0xf0000000000000000000000000000100", + "0x480280017ff97ffd", + "0x400280027ff97ff9", + "0x402480017ffd7ff9", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7ffd", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x480280027ffc8000", + "0x480680017fff8000", + "0x0", + "0x480080007ff48000", + "0x480080017ff38000", + "0x480080027ff28000", + "0x480080037ff18000", + "0x480080047ff08000", + "0x480080057fef8000", + "0x480080067fee8000", + "0x480080077fed8000", + "0x480080087fec8000", + "0x480080097feb8000", + "0x4800800a7fea8000", + "0x4800800b7fe98000", + "0x4800800c7fe88000", + "0x4800800d7fe78000", + "0x4800800e7fe68000", + "0x4800800f7fe58000", + "0x480080107fe48000", + "0x482680017ffb8000", + "0x3", + "0x482680017ff98000", + "0x3", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280057ffc7fff", + "0x400280067ffc7fea", + "0x400280077ffc7feb", + "0x400280087ffc7fe9", + "0x4802800a7ffc8000", + "0x20680017fff7fff", + "0xc5", + "0x480280097ffc8000", + "0x480680017fff8000", + "0x0", + "0x482480017fe68000", + "0x1", + "0x4802800b7ffc8000", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x4002800c7ffc7fff", + "0x4002800d7ffc7ffb", + "0x4002800e7ffc7ffc", + "0x4002800f7ffc7ffd", + "0x480280117ffc8000", + "0x20680017fff7fff", + "0xaa", + "0x480280107ffc8000", + "0x482680017ffc8000", + "0x13", + "0x480280127ffc8000", + "0x48307fe580007fe6", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x8a", + "0x480680017fff8000", + "0x1", + "0x480080007fe38000", + "0x48307fe280007fe3", + "0xa0680017fff8000", + "0x6", + "0x48307ffe80007ffc", + "0x400080007fee7fff", + "0x10780017fff7fff", + "0x71", + "0x482480017ffc8000", + "0x1", + "0x48307fff80007ffd", + "0x400080007fed7fff", + "0x48307ffa7fde8000", + "0x480680017fff8000", + "0x2691cb735b18f3f656c3b82bd97a32b65d15019b64117513f8604d1e06fe58b", + "0x400080007fea7fff", + "0x400180017fea7ffd", + "0x480080027fea8000", + "0xa0680017fff8005", + "0xe", + "0x4824800180057ffe", + "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8003", + "0x480080017fe67ffc", + "0x480080027fe57ffc", + "0x482480017ffb7ffd", + "0xffffffffffffffeefffffffffffffeff", + "0x400080037fe37ffc", + "0x10780017fff7fff", + "0x11", + "0x48127ffe7fff8005", + "0x484480017ffe8000", + "0x8000000000000000000000000000000", + "0x48307ffe7fff8003", + "0x480080017fe67ffd", + "0x482480017ffc7ffe", + "0xf0000000000000000000000000000100", + "0x480080027fe47ffd", + "0x400080037fe37ff9", + "0x402480017ffd7ff9", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7ffd", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48307ff07fe88000", + "0x480080007ff48000", + "0x482480017fdf8000", + "0x3", + "0x482480017fdf8000", + "0x4", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400080007fe77fff", + "0x400080017fe77fe6", + "0x400080027fe77ffa", + "0x400080037fe77ff9", + "0x400080047fe77ffb", + "0x480080067fe78000", + "0x20680017fff7fff", + "0x2c", + "0x480080057fe68000", + "0x480680017fff8000", + "0x0", + "0x482480017ff68000", + "0x1", + "0x48307ff87fe48000", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400080077fe17fff", + "0x400080087fe17ffb", + "0x400080097fe17ffc", + "0x4000800a7fe17ffd", + "0x4000800b7fe17ffe", + "0x4800800d7fe18000", + "0x20680017fff7fff", + "0x10", + "0x4800800c7fe08000", + "0x48127ff67fff8000", + "0x482480017ffe8000", + "0xa", + "0x48127ff37fff8000", + "0x482480017fdc8000", + "0xe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x48127ff67fff8000", + "0x4800800c7fde8000", + "0x48127ff37fff8000", + "0x482480017fdc8000", + "0x10", + "0x480680017fff8000", + "0x1", + "0x4800800e7fda8000", + "0x4800800f7fd98000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x7", + "0x48127ff67fff8000", + "0x480080057fde8000", + "0x48127ff37fff8000", + "0x482480017fdc8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480080077fda8000", + "0x480080087fd98000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x9", + "0x1104800180018000", + "0x1b5e", + "0x482480017fff8000", + "0x1b5d", + "0x480080007fff8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0x573a", + "0x482480017fdf8000", + "0x1", + "0x48307ffe7fe78000", + "0x10780017fff7fff", + "0xe", + "0x40780017fff7fff", + "0xe", + "0x1104800180018000", + "0x1b4f", + "0x482480017fff8000", + "0x1b4e", + "0x480080007fff8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0x5a0a", + "0x48127fdf7fff8000", + "0x48307ffe7fe78000", + "0x1104800180018000", + "0x775", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x48127fd27fff8000", + "0x48127fdc7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x22", + "0x48127fd57fff8000", + "0x480280107ffc8000", + "0x48127fd27fff8000", + "0x482680017ffc8000", + "0x14", + "0x480680017fff8000", + "0x1", + "0x480280127ffc8000", + "0x480280137ffc8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x28", + "0x48127fd57fff8000", + "0x480280097ffc8000", + "0x48127fd27fff8000", + "0x482680017ffc8000", + "0xd", + "0x480680017fff8000", + "0x1", + "0x4802800b7ffc8000", + "0x4802800c7ffc8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x4a", + "0x480a7ff97fff8000", + "0x480280027ffc8000", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x6", + "0x480680017fff8000", + "0x1", + "0x480280047ffc8000", + "0x480280057ffc8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x3", + "0x480680017fff8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0xa0680017fff7fff", + "0x10", + "0x20680017fff7ffd", + "0xe", + "0x20680017fff7ffc", + "0xc", + "0x20680017fff7ffb", + "0x4", + "0x10780017fff7fff", + "0x185", + "0x402480017fff7ffb", + "0x1", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x17f", + "0x482680017ffc8000", + "0x4", + "0x482680017ffc8000", + "0xc", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x482680017ffc8000", + "0x24", + "0x400080007ff97ffb", + "0x400080017ff97ffc", + "0x400080027ff97ffd", + "0x400080037ff97ffe", + "0x482480017ff98000", + "0x4", + "0x48307fff80007ff9", + "0x20680017fff7fff", + "0xe", + "0x1104800180018000", + "0xe33", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff27fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x6", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x400080007ffa7ffc", + "0x400080017ffa7ffd", + "0x400080027ffa7ffe", + "0x400080037ffa7fff", + "0x482480017ffa8000", + "0x4", + "0x48307fff80007ff3", + "0x20680017fff7fff", + "0x13f", + "0x1104800180018000", + "0x1ab5", + "0x482480017fff8000", + "0x1ab4", + "0x480680017fff8000", + "0x2", + "0x482480017ffe8000", + "0x6", + "0x480680017fff8000", + "0x4", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x4824800180007fea", + "0xc", + "0x400080007fff7ffe", + "0x400080017fff7ffd", + "0x400080027fff7ffd", + "0x400080037fff7ffd", + "0x400280007ffa7fe3", + "0x400280017ffa7fe4", + "0x400280027ffa7fe5", + "0x400280037ffa7fe6", + "0x400280047ffa7fff", + "0x400280057ffa7ff9", + "0x400280067ffa7ffa", + "0x400280007ffb7fe3", + "0x400280017ffb7fe4", + "0x400280027ffb7fe5", + "0x400280037ffb7fe6", + "0x400280047ffb7fff", + "0x400280057ffb7ffb", + "0x480280067ffb8000", + "0x484480017fff8000", + "0x7", + "0x48307ffe80007ffa", + "0x20680017fff7fff", + "0xba", + "0x482480017ffc8000", + "0x20", + "0x480080007fff8000", + "0x480080017ffe8000", + "0x480080027ffd8000", + "0x480080037ffc8000", + "0x402780017ffa8001", + "0xe", + "0x40337ff97ffb8000", + "0x48307fff80007fde", + "0x20680017fff7fff", + "0x17", + "0x48307ffd80007fdc", + "0x20680017fff7fff", + "0xd", + "0x48307ffb80007fda", + "0x20680017fff7fff", + "0x6", + "0x480a7ffd7fff8000", + "0x48307ff880007fd7", + "0x10780017fff7fff", + "0x12", + "0x480a7ffd7fff8000", + "0x48127ffe7fff8000", + "0x10780017fff7fff", + "0xe", + "0x40780017fff7fff", + "0x1", + "0x482680017ffd8000", + "0x5a", + "0x48127ffd7fff8000", + "0x10780017fff7fff", + "0x7", + "0x40780017fff7fff", + "0x2", + "0x482680017ffd8000", + "0x17c", + "0x48127ffc7fff8000", + "0x400080007fe17fff", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x480680017fff8000", + "0x6", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0xdc1", + "0x402580017fd28002", + "0x1", + "0x20680017fff7fff", + "0x74", + "0x40780017fff7fff", + "0x1", + "0x480a7ff97fff8000", + "0x48127ffe7fff8000", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x617373657274696f6e206661696c65643a20606f7574707574732e6765745f", + "0x480680017fff8000", + "0x1f", + "0x1104800180018000", + "0xdcc", + "0x20680017fff7ffb", + "0x59", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x6f7574707574286d756c29203d3d2075333834207b206c696d62303a20362c", + "0x480680017fff8000", + "0x1f", + "0x1104800180018000", + "0xdbf", + "0x20680017fff7ffb", + "0x42", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x206c696d62313a20302c206c696d62323a20302c206c696d62333a2030207d", + "0x480680017fff8000", + "0x1f", + "0x1104800180018000", + "0xdb2", + "0x20680017fff7ffb", + "0x2b", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x602e", + "0x480680017fff8000", + "0x2", + "0x1104800180018000", + "0xda5", + "0x20680017fff7ffb", + "0x14", + "0x48127ffa7fff8000", + "0x48127e857fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0xeeb", + "0x48127ffc7fff8000", + "0x480a80017fff8000", + "0x480a80007fff8000", + "0x480a80027fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x480a80017fff8000", + "0x480a80007fff8000", + "0x480a80027fff8000", + "0x48127e827fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x480a80017fff8000", + "0x480a80007fff8000", + "0x480a80027fff8000", + "0x48127edc7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x480a80017fff8000", + "0x480a80007fff8000", + "0x480a80027fff8000", + "0x48127f367fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x480a80017fff8000", + "0x480a80007fff8000", + "0x480a80027fff8000", + "0x48127f907fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a80017fff8000", + "0x480a80007fff8000", + "0x480a80027fff8000", + "0x482480017feb8000", + "0xe182", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xec9", + "0x48327ff67ffb8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x484480017ff28000", + "0x3", + "0x48307fff7fec8000", + "0x400080027fff7ffc", + "0x480080017fff8000", + "0x480080007ffe8000", + "0x48307fed80007fdc", + "0x400080007fdb7ff9", + "0x400080017fdb7ff9", + "0x400080027fdb7ff9", + "0x400080037fdb7ff9", + "0x4800800080007ffe", + "0x400080017fff7ffc", + "0x400080027fff7ffe", + "0x400080047fda7fec", + "0x48307fec80007fe8", + "0x400080057fd97fff", + "0x400080007ff67fce", + "0x400080017ff67fcf", + "0x400080027ff67fd0", + "0x400080037ff67fd1", + "0x400080047ff67fea", + "0x400080057ff67ffe", + "0x400080067ff67ff8", + "0x48307ffc7fea8000", + "0x480080007fff8000", + "0x480080017ffe8000", + "0x480080027ffd8000", + "0x480080037ffc8000", + "0x20680017fff7ffc", + "0x9", + "0x20680017fff7ffd", + "0x7", + "0x20680017fff7ffe", + "0x5", + "0x20680017fff7fff", + "0x3", + "0x40127ff27fff7ff3", + "0x482680017ffa8000", + "0xe", + "0x482480017fd38000", + "0x6", + "0x482480017fef8000", + "0x7", + "0x48307ffc80007fc9", + "0x20680017fff7fff", + "0x19", + "0x48307ffa80007fc7", + "0x20680017fff7fff", + "0xf", + "0x48307ff880007fc5", + "0x20680017fff7fff", + "0x7", + "0x482680017ffd8000", + "0xd90c", + "0x48307ff580007fc2", + "0x10780017fff7fff", + "0x13", + "0x482680017ffd8000", + "0xd90c", + "0x48127ffe7fff8000", + "0x10780017fff7fff", + "0xe", + "0x40780017fff7fff", + "0x1", + "0x482680017ffd8000", + "0xd966", + "0x48127ffd7fff8000", + "0x10780017fff7fff", + "0x7", + "0x40780017fff7fff", + "0x2", + "0x482680017ffd8000", + "0xda88", + "0x48127ffc7fff8000", + "0x400080007ff97fff", + "0x480a7ff97fff8000", + "0x48127ff77fff8000", + "0x48127ff87fff8000", + "0x482480017ff68000", + "0x1", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xe70", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x48127fec7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffeb86", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffd8000", + "0x4", + "0x482680017ffd8000", + "0x8", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x482680017ffd8000", + "0xc", + "0x400080007ff97ffb", + "0x400080017ff97ffc", + "0x400080027ff97ffd", + "0x400080037ff97ffe", + "0x482480017ff98000", + "0x4", + "0x48307fff80007ff9", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x2", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x476574436c617373486173684174", + "0x400280007ff97fff", + "0x400380017ff97ff8", + "0x400380027ff97ffa", + "0x480280047ff98000", + "0x20680017fff7fff", + "0x144", + "0x480280037ff98000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x995a1546f96051a2b911879c7b314d53d580bd592e7ea51593aaec427e3c9b", + "0x480680017fff8000", + "0x7", + "0x480280057ff98000", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280067ff97fff", + "0x400280077ff97ffa", + "0x400280087ff97ffb", + "0x400280097ff97ffc", + "0x4002800a7ff97ffd", + "0x4802800c7ff98000", + "0x20680017fff7fff", + "0x128", + "0x4802800b7ff98000", + "0x480680017fff8000", + "0x43616c6c436f6e7472616374", + "0x4002800d7ff97fff", + "0x4002800e7ff97ffe", + "0x4003800f7ff97ffa", + "0x400380107ff97ffb", + "0x400380117ff97ffc", + "0x400380127ff97ffd", + "0x480280147ff98000", + "0x20680017fff7fff", + "0x1b", + "0x40780017fff7fff", + "0x29", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x46a6158a16a947e5916b2a2ca68501a45e93d7110e81aa2d6438b1c57c879a3", + "0x400080007ffe7fff", + "0x480680017fff8000", + "0x0", + "0x400080017ffd7fff", + "0x480680017fff8000", + "0x457870656374656420726576657274", + "0x400080027ffc7fff", + "0x480680017fff8000", + "0xf", + "0x400080037ffb7fff", + "0x480280137ff98000", + "0x482680017ff98000", + "0x17", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x4", + "0x208b7fff7fff7ffe", + "0x480280157ff98000", + "0x480280167ff98000", + "0x480280137ff98000", + "0x482680017ff98000", + "0x17", + "0x48307ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xec", + "0x4824800180007ffc", + "0x1", + "0x480080007fff8000", + "0x4824800180007fff", + "0x454e545259504f494e545f4641494c4544", + "0x48127ff87fff8000", + "0x4824800180007ff8", + "0x1", + "0x20680017fff7ffd", + "0xd5", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xca", + "0x4824800180007ffe", + "0x1", + "0x4825800180007ffb", + "0x1c4e1062ccac759d9786c18a401086aa7ab90fde340fffd5cbd792d11daa7e7", + "0x480080007ffe8000", + "0x20680017fff7ffe", + "0x12", + "0x40780017fff7fff", + "0x2", + "0x4824800180007ffd", + "0x454e545259504f494e545f4e4f545f464f554e44", + "0x20680017fff7fff", + "0x6", + "0x482480017ff18000", + "0xbe", + "0x10780017fff7fff", + "0x25", + "0x40780017fff7fff", + "0x14", + "0x482480017fdd8000", + "0x8336", + "0x10780017fff7fff", + "0xbd", + "0x4825800180007ffb", + "0x1e4089d1f1349077b1970f9937c904e27c4582b49a60b6078946dba95bc3c08", + "0x20680017fff7fff", + "0x11", + "0x40780017fff7fff", + "0x1", + "0x4824800180007ffd", + "0x746573745f7265766572745f68656c706572", + "0x20680017fff7fff", + "0x5", + "0x48127ff17fff8000", + "0x10780017fff7fff", + "0x12", + "0x40780017fff7fff", + "0x14", + "0x482480017fdd8000", + "0x8278", + "0x10780017fff7fff", + "0xaa", + "0x4825800180007ffb", + "0x311fb2a7f01403971aca6ae0a12b8ad0602e7a5ec48ad48951969942e99d788", + "0x20680017fff7fff", + "0x91", + "0x4824800180007ffd", + "0x657865637574655f616e645f726576657274", + "0x20680017fff7fff", + "0x82", + "0x482480017ff18000", + "0xa", + "0x480680017fff8000", + "0x476574436c617373486173684174", + "0x400080007ff07fff", + "0x400080017ff07ffe", + "0x400180027ff07ffa", + "0x480080047ff08000", + "0x20680017fff7fff", + "0x6e", + "0x480080037fef8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1275130f95dda36bcbb6e9d28796c1d7e10b6e9fd5ed083e0ede4b12f613528", + "0x480080057fec8000", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400080067fea7fff", + "0x400080077fea7ffb", + "0x400080087fea7ffc", + "0x400080097fea7ffd", + "0x4800800b7fea8000", + "0x20680017fff7fff", + "0x55", + "0x4800800c7fe98000", + "0x4800800a7fe88000", + "0x482480017fe78000", + "0xd", + "0x20680017fff7ffd", + "0x44", + "0x48307ffa80007fdd", + "0x20680017fff7fff", + "0x36", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x995a1546f96051a2b911879c7b314d53d580bd592e7ea51593aaec427e3c9b", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400080007ffb7fff", + "0x400080017ffb7ffa", + "0x400080027ffb7ffd", + "0x400080037ffb7ffe", + "0x480080057ffb8000", + "0x20680017fff7fff", + "0x1f", + "0x480080067ffa8000", + "0x4824800180007fff", + "0x7", + "0x480080047ff88000", + "0x482480017ff78000", + "0x7", + "0x20680017fff7ffd", + "0xe", + "0x40780017fff7fff", + "0x8", + "0x482480017ff68000", + "0x2d0", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xd6f", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xc", + "0x480080047fee8000", + "0x482480017fed8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480080067feb8000", + "0x480080077fea8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x8", + "0x1104800180018000", + "0xd5f", + "0x48127fed7fff8000", + "0x48127fed7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x9", + "0x1104800180018000", + "0xd59", + "0x48127fed7fff8000", + "0x48127fed7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x14", + "0x4800800a7fd58000", + "0x482480017fd48000", + "0xe", + "0x480680017fff8000", + "0x1", + "0x4800800c7fd28000", + "0x4800800d7fd18000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1a", + "0x480080037fd58000", + "0x482480017fd48000", + "0x7", + "0x480680017fff8000", + "0x1", + "0x480080057fd28000", + "0x480080067fd18000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x15", + "0x1104800180018000", + "0xd3f", + "0x48127fd47fff8000", + "0x48127fd47fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x16", + "0x1104800180018000", + "0xd39", + "0x48127fd47fff8000", + "0x48127fd47fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1a", + "0x482480017fdd8000", + "0x8566", + "0x10780017fff7fff", + "0x13", + "0x40780017fff7fff", + "0x1b", + "0x482480017fdd8000", + "0x86ec", + "0x1104800180018000", + "0xd2b", + "0x48127ff77fff8000", + "0x48127fd47fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x20", + "0x482480017fdd8000", + "0x88ae", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffea22", + "0x48127ff77fff8000", + "0x48127fd47fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x31", + "0x4802800b7ff98000", + "0x482680017ff98000", + "0xf", + "0x480680017fff8000", + "0x1", + "0x4802800d7ff98000", + "0x4802800e7ff98000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x38", + "0x480280037ff98000", + "0x482680017ff98000", + "0x7", + "0x480680017fff8000", + "0x1", + "0x480280057ff98000", + "0x480280067ff98000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x5", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x2", + "0x400280007ffa7ffe", + "0x400280017ffa7fff", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x400280007ffb7ffe", + "0x400280017ffb7fff", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x482480017ffe8000", + "0x1", + "0x482480017ffe8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x400280007ffc7ffd", + "0x400280017ffc7ffe", + "0x400280027ffc7fff", + "0x480680017fff8000", + "0xbe96d72eb4f94078192c2e84d5230cde2a70f4b45c8797e2c907acff5060bb", + "0x480680017fff8000", + "0x3c5906a3bc4858a3fc46f5d63a29ff95f31b816586c35b221405f884cb17bc3", + "0x402780017ffa8004", + "0x5", + "0x402780017ffb8003", + "0x3", + "0x402780017ffc8002", + "0x6", + "0x48507fff7fff8000", + "0x48507ffd7ffd8001", + "0x48507ffc80008001", + "0x482480017ffb8001", + "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", + "0x483080007fff7ffd", + "0x48307ffc80007ffb", + "0x20680017fff7fff", + "0x41", + "0x4800800080068004", + "0x4800800180058004", + "0x4850800380037ffe", + "0x4850800180017ffe", + "0x485080007ffd7ffe", + "0x482480017fff7ffe", + "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", + "0x48307ffd7ffc7ffa", + "0x480680017fff8000", + "0x2", + "0x48127ff07fff8000", + "0x48127ff07fff8000", + "0x400280007ff87ffa", + "0x400280017ff87ffb", + "0x400280027ff87ffe", + "0x400280037ff87fff", + "0x400280047ff87ffd", + "0x480a7ff47fff8000", + "0x480a7ff97fff8000", + "0x480a7ffd7fff8000", + "0x402780017ff88000", + "0x7", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff1cf", + "0x40137ffc7fff8001", + "0x20680017fff7ffd", + "0x17", + "0x48127ffa7fff8000", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x48127ff77fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc9b", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a80007fff8000", + "0x48127ff77fff8000", + "0x480a80047fff8000", + "0x480a80037fff8000", + "0x480a80027fff8000", + "0x480a80017fff8000", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480a80007fff8000", + "0x48127ff67fff8000", + "0x480a80047fff8000", + "0x480a80037fff8000", + "0x480a80027fff8000", + "0x480a80017fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffe998", + "0x480a7ff47fff8000", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a80047fff8000", + "0x480a80037fff8000", + "0x480a80027fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x72657665727420696e206c312068616e646c6572", + "0x1104800180018000", + "0x3", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x400180007fff7ffd", + "0x48127fff7fff8000", + "0x482480017ffe8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x57726f6e675f73746f726167655f76616c75652e", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff8", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x7536345f616464204f766572666c6f77", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff3", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x85", + "0x480280007ffc8000", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x100000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480280007ffb7fff", + "0x482480017ffe8000", + "0xefffffffffffffde00000000ffffffff", + "0x480280017ffb7fff", + "0x400280027ffb7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x62", + "0x402780017fff7fff", + "0x1", + "0x400280007ffb7ffc", + "0x482480017ffc8000", + "0xffffffffffffffffffffffff00000000", + "0x400280017ffb7fff", + "0x480680017fff8000", + "0x0", + "0x48307ffb80007ffc", + "0x48307ff97ffe8000", + "0xa0680017fff8000", + "0x8", + "0x482480017ffd8000", + "0x1", + "0x48307fff80007ffd", + "0x400280027ffb7fff", + "0x10780017fff7fff", + "0x3e", + "0x48307ffe80007ffd", + "0x400280027ffb7fff", + "0x48307ff780007ff8", + "0x48307ffa7ff68000", + "0x48307ffb7ff58000", + "0x48307ff380017ffd", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280037ffb7fff", + "0x10780017fff7fff", + "0x20", + "0x400280037ffb7fff", + "0x48307ff280007ff3", + "0x48307ffe7ff08000", + "0xa0680017fff8000", + "0x8", + "0x482480017ffd8000", + "0x1", + "0x48307fff80007ffd", + "0x400280047ffb7fff", + "0x10780017fff7fff", + "0x11", + "0x48307ffe80007ffd", + "0x400280047ffb7fff", + "0x40780017fff7fff", + "0xa", + "0x482680017ffb8000", + "0x5", + "0x480680017fff8000", + "0x0", + "0x48307fe17fe28000", + "0x48307ff07fe18000", + "0x480680017fff8000", + "0x0", + "0x48127fe97fff8000", + "0x48127fe97fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffb8000", + "0x5", + "0x10780017fff7fff", + "0x17", + "0x40780017fff7fff", + "0x5", + "0x1104800180018000", + "0xc1a", + "0x482680017ffb8000", + "0x4", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x9", + "0x482680017ffb8000", + "0x3", + "0x1104800180018000", + "0x32f", + "0x48127ff77fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x13", + "0x482680017ffb8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x48127fe27fff8000", + "0x48127fe27fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1d", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff88000", + "0xffffffffffffffffffffffffffffee80", + "0x400280007ff77fff", + "0x10780017fff7fff", + "0xa2", + "0x4825800180007ff8", + "0x1180", + "0x400280007ff77fff", + "0x482680017ff78000", + "0x1", + "0x20780017fff7ffd", + "0xe", + "0x48127fff7fff8000", + "0x482480017ffd8000", + "0x14a0", + "0x480680017fff8000", + "0x0", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x48297ff980007ffa", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x78", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480280007ff98000", + "0x48307ffd80007ffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x68", + "0x480080007ffc8000", + "0x482480017ffb8000", + "0x1", + "0x48127ffb7fff8000", + "0xa0680017fff8000", + "0x12", + "0x4824800180007ffc", + "0x10000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480080007ff37fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480080017ff17fff", + "0x400080027ff07ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x4c", + "0x402780017fff7fff", + "0x1", + "0x400080007ff67ffc", + "0x482480017ffc8000", + "0xffffffffffffffff0000000000000000", + "0x400080017ff57fff", + "0x482480017ff58000", + "0x2", + "0x48307ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x38", + "0x480080007ffa8000", + "0x482480017ff98000", + "0x1", + "0x48127ff97fff8000", + "0xa0680017fff8000", + "0x16", + "0x480080007ffa8003", + "0x480080017ff98003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483080017ffd7ff9", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027ff57ffd", + "0x20680017fff7ffe", + "0x18", + "0x402780017fff7fff", + "0x1", + "0x400080007ffa7ffc", + "0x48127ff37fff8000", + "0x48127ff47fff8000", + "0x48127ffa7fff8000", + "0x400280007ffc7ffd", + "0x400280017ffc7ffe", + "0x400280027ffc7fff", + "0x482480017ff78000", + "0x1", + "0x48127fea7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x3", + "0x4825800180007ffd", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff8d", + "0x208b7fff7fff7ffe", + "0x482480017ff58000", + "0x3", + "0x482480017fe88000", + "0x532", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x10780017fff7fff", + "0x1d", + "0x48127ffe7fff8000", + "0x482480017ff18000", + "0xb18", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x10780017fff7fff", + "0x16", + "0x482480017ff08000", + "0x3", + "0x482480017fee8000", + "0xa0a", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x10780017fff7fff", + "0xe", + "0x48127ffa7fff8000", + "0x482480017ff88000", + "0xf8c", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x10780017fff7fff", + "0x7", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x11e4", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffe82f", + "0x482680017ff78000", + "0x1", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff98000", + "0xfffffffffffffffffffffffffffff65a", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x4c", + "0x4825800180007ff9", + "0x9a6", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffa80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x36", + "0x482680017ffa8000", + "0x1", + "0x480a7ffb7fff8000", + "0x480280007ffa8000", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x1e", + "0x480280007ffc8000", + "0x48307fff80007ffd", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x20680017fff7ffd", + "0xb", + "0x48127ff67fff8000", + "0x48127ff47fff8000", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffda", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x482480017ff48000", + "0x87a", + "0x480680017fff8000", + "0x0", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffe7ee", + "0x48127ff27fff8000", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0xbfe", + "0x480680017fff8000", + "0x0", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffe7ce", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff98000", + "0xfffffffffffffffffffffffffffff272", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x67", + "0x4825800180007ff9", + "0xd8e", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffa80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x51", + "0x482680017ffa8000", + "0x3", + "0x480a7ffb7fff8000", + "0x480280007ffa8000", + "0x480280017ffa8000", + "0x480280027ffa8000", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x37", + "0x480280007ffc8000", + "0x480280017ffc8000", + "0x480280027ffc8000", + "0x48307ffd80007ff9", + "0x482680017ffc8000", + "0x3", + "0x480a7ffd7fff8000", + "0x20680017fff7ffd", + "0x1f", + "0x48307ffb80007ff7", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x1", + "0x482480017fef8000", + "0x8d4", + "0x10780017fff7fff", + "0x18", + "0x48307ffb80007ff7", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6", + "0x482480017fef8000", + "0x816", + "0x10780017fff7fff", + "0xf", + "0x48127ff07fff8000", + "0x48127fee7fff8000", + "0x48127ff07fff8000", + "0x48127ff07fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffc2", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0x482480017fef8000", + "0x9f6", + "0x48127fef7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127fee7fff8000", + "0x48127fee7fff8000", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffe772", + "0x48127ff07fff8000", + "0x48127fee7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0xfe6", + "0x480680017fff8000", + "0x0", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffe752", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x53454c4543544f525f4d49534d41544348", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdc4", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x434f4e54524143545f4d49534d41544348", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdbf", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x43414c4c45525f4d49534d41544348", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdba", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x54585f494e464f5f4d49534d41544348", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdb5", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x424c4f434b5f494e464f5f4d49534d41544348", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdb0", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x753132385f616464204f766572666c6f77", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdab", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x753132385f6d756c204f766572666c6f77", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda6", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x753132385f737562204f766572666c6f77", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffda1", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff98000", + "0xfffffffffffffffffffffffffffff006", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x3c", + "0x4825800180007ff9", + "0xffa", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffa80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x28", + "0x480280007ffa8000", + "0x480680017fff8000", + "0x10000000000000000", + "0x480080007ffc8004", + "0x4824800180037fff", + "0x1", + "0x48307ffe7fff7ffd", + "0x480080017ff97ffe", + "0x480080027ff87fff", + "0x40507ffe7ffa7ffd", + "0x40307fff7ffd7ff9", + "0x400280007ffd7fff", + "0x400280017ffd7ffe", + "0x480280017ffa8000", + "0x480680017fff8000", + "0x10000000000000000", + "0x480080037ff58004", + "0x4824800180037fff", + "0x1", + "0x48307ffe7fff7ffd", + "0x480080047ff27ffe", + "0x480080057ff17fff", + "0x40507ffe7ffa7ffd", + "0x40307fff7ffd7ff9", + "0x400280027ffd7fff", + "0x400280037ffd7ffe", + "0x482480017ff08000", + "0x6", + "0x48127fee7fff8000", + "0x482680017ffa8000", + "0x2", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x4", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffcd", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x1252", + "0x480680017fff8000", + "0x0", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffe6d9", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48297ffa80007ffb", + "0x480680017fff8000", + "0x11", + "0x480280007ff88004", + "0x4824800180037fff", + "0x1", + "0x48307ffe7fff7ffd", + "0x480280017ff87ffe", + "0x480280027ff87fff", + "0x40507ffe7ffa7ffd", + "0x40307fff7ffd7ff9", + "0x482680017ff88000", + "0x3", + "0x20780017fff7ffd", + "0xb", + "0x40780017fff7fff", + "0x11", + "0x48127fee7fff8000", + "0x482680017ff98000", + "0xcee", + "0x480680017fff8000", + "0x1", + "0x10780017fff7fff", + "0x80", + "0x4825800180007ffd", + "0x1", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x5c", + "0x4825800180007ffd", + "0x2", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x4e", + "0x4825800180007ffd", + "0x3", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x40", + "0x4825800180007ffd", + "0x4", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x32", + "0x4825800180007ffd", + "0x5", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x24", + "0x4825800180007ffd", + "0x6", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x16", + "0x4825800180007ffd", + "0x7", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xb", + "0x1104800180018000", + "0x994", + "0x48127ff07fff8000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x100000000000000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x1", + "0x482680017ff98000", + "0xbe", + "0x480680017fff8000", + "0x1000000000000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x2", + "0x482680017ff98000", + "0x1e0", + "0x480680017fff8000", + "0x10000000000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x3", + "0x482680017ff98000", + "0x302", + "0x480680017fff8000", + "0x100000000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x4", + "0x482680017ff98000", + "0x424", + "0x480680017fff8000", + "0x1000000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x5", + "0x482680017ff98000", + "0x546", + "0x480680017fff8000", + "0x10000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x6", + "0x482680017ff98000", + "0x668", + "0x480680017fff8000", + "0x100", + "0x480080007ff68004", + "0x4824800180037fff", + "0x1", + "0x48307ffe7fff7ffd", + "0x480080017ff37ffe", + "0x480080027ff27fff", + "0x40507ffe7ffa7ffd", + "0x40317fff7ffd7ffc", + "0xa0680017fff8000", + "0x8", + "0x48307ffe7ff98000", + "0x4824800180007fff", + "0x10000000000000000", + "0x400080037fee7fff", + "0x10780017fff7fff", + "0x51", + "0x48307ffe7ff98001", + "0x4824800180007fff", + "0xffffffffffffffff0000000000000000", + "0x400080037fee7ffe", + "0x482480017fee8000", + "0x4", + "0x48127ff57fff8000", + "0x48127ffd7fff8000", + "0x4824800180007fea", + "0x10", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x24", + "0x400280007ffb7ffe", + "0x480680017fff8000", + "0x10", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x1", + "0x48307fe680017ffd", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff67fff", + "0x10780017fff7fff", + "0xc", + "0x400080007ff77fff", + "0x482480017ff78000", + "0x1", + "0x48127ff77fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x92a", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x91d", + "0x482480017fee8000", + "0x1", + "0x48127fee7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x8000000000000000", + "0xa0680017fff8000", + "0x8", + "0x48307ffc7ffe8000", + "0x4824800180007fff", + "0x10000000000000000", + "0x400080007ff87fff", + "0x10780017fff7fff", + "0x11", + "0x48307ffc7ffe8001", + "0x4824800180007fff", + "0xffffffffffffffff0000000000000000", + "0x400080007ff87ffe", + "0x400280007ffb7fff", + "0x482480017ff88000", + "0x1", + "0x482480017ff88000", + "0x816", + "0x480680017fff8000", + "0x0", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x482480017ff88000", + "0x1", + "0x482480017ff88000", + "0x366", + "0x10780017fff7fff", + "0x6", + "0x482480017fee8000", + "0x4", + "0x482480017ff58000", + "0x85c", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc7a", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x57726f6e6720686173682076616c7565", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc63", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x53686f756c64206661696c", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc5e", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x57726f6e67206572726f72206d7367", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc59", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x496e646578206f7574206f6620626f756e6473", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc54", + "0x208b7fff7fff7ffe", + "0x48297ffa80007ffb", + "0x20780017fff7ffd", + "0xd", + "0x40780017fff7fff", + "0xf", + "0x480680017fff8000", + "0x80000000", + "0x400280007ffb7fff", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x1", + "0x10780017fff7fff", + "0x4b", + "0x4825800180007ffd", + "0x1", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x18", + "0x4825800180007ffd", + "0x2", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa", + "0x480680017fff8000", + "0x1000000", + "0x480680017fff8000", + "0x100", + "0x480680017fff8000", + "0x80", + "0x10780017fff7fff", + "0x8", + "0x480680017fff8000", + "0x10000", + "0x480680017fff8000", + "0x10000", + "0x480680017fff8000", + "0x8000", + "0x10780017fff7fff", + "0xa", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x100", + "0x480680017fff8000", + "0x1000000", + "0x480680017fff8000", + "0x800000", + "0x480280007ff98004", + "0x4824800180037fff", + "0x1", + "0x48307ffe7fff7ffb", + "0x480280017ff97ffe", + "0x480280027ff97fff", + "0x40507ffe7ff87ffd", + "0x40317fff7ffd7ffc", + "0x48507ff97fff8000", + "0xa0680017fff8000", + "0x7", + "0x4824800180007ffe", + "0x100000000", + "0x400280037ff97fff", + "0x10780017fff7fff", + "0x88", + "0x482480017ffe8000", + "0xffffffffffffffffffffffff00000000", + "0x400280037ff97fff", + "0xa0680017fff8000", + "0x8", + "0x48307ff67ffc8000", + "0x4824800180007fff", + "0x100000000", + "0x400280047ff97fff", + "0x10780017fff7fff", + "0x71", + "0x48307ff67ffc8001", + "0x4824800180007fff", + "0xffffffffffffffffffffffff00000000", + "0x400280047ff97ffe", + "0x400280007ffb7fff", + "0x482680017ff98000", + "0x5", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x1", + "0x48307ffe80007fff", + "0x480680017fff8000", + "0x1", + "0xa0680017fff8000", + "0x8", + "0x48307ffe7ffd8000", + "0x4824800180007fff", + "0x100000000", + "0x400080007ff87fff", + "0x10780017fff7fff", + "0x56", + "0x48307ffe7ffd8001", + "0x4824800180007fff", + "0xffffffffffffffffffffffff00000000", + "0x400080007ff87ffe", + "0x480680017fff8000", + "0x10", + "0x480080017ff78004", + "0x4824800180037fff", + "0x1", + "0x48307ffe7fff7ffd", + "0x480080027ff47ffe", + "0x480080037ff37fff", + "0x40507ffe7ffa7ffd", + "0x40307fff7ffd7ff9", + "0x480680017fff8000", + "0x10", + "0x48127ff27fff8000", + "0x48127ff27fff8000", + "0x48307ffc80007ffd", + "0x1104800180018000", + "0x8b4", + "0x484480017f9c8000", + "0x20", + "0xa0680017fff8000", + "0x7", + "0x4824800180007ffe", + "0x100000000", + "0x400080047faa7fff", + "0x10780017fff7fff", + "0x32", + "0x482480017ffe8000", + "0xffffffffffffffffffffffff00000000", + "0x400080047faa7fff", + "0x484680017ffd8000", + "0x8", + "0xa0680017fff8000", + "0x7", + "0x4824800180007ffe", + "0x100000000", + "0x400080057fa77fff", + "0x10780017fff7fff", + "0x20", + "0x482480017ffe8000", + "0xffffffffffffffffffffffff00000000", + "0x400080057fa77fff", + "0xa0680017fff8000", + "0x8", + "0x48307ffc7ff98000", + "0x4824800180007fff", + "0x100000000", + "0x400080067fa47fff", + "0x10780017fff7fff", + "0x11", + "0x48307ffc7ff98001", + "0x4824800180007fff", + "0xffffffffffffffffffffffff00000000", + "0x400080067fa47ffe", + "0x40780017fff7fff", + "0x9", + "0x400080007fed7ff6", + "0x482480017f9b8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x48127fea7fff8000", + "0x482480017fea8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x482480017fa48000", + "0x7", + "0x10780017fff7fff", + "0x18", + "0x40780017fff7fff", + "0x3", + "0x482480017fa48000", + "0x6", + "0x10780017fff7fff", + "0x1e", + "0x40780017fff7fff", + "0x6", + "0x482480017fa48000", + "0x5", + "0x10780017fff7fff", + "0x18", + "0x40780017fff7fff", + "0x54", + "0x482480017fa48000", + "0x1", + "0x10780017fff7fff", + "0x6", + "0x40780017fff7fff", + "0x5c", + "0x482680017ff98000", + "0x5", + "0x1104800180018000", + "0x958", + "0x48127ff77fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x5f", + "0x482680017ff98000", + "0x4", + "0x1104800180018000", + "0x951", + "0x48127ff77fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff98000", + "0xffffffffffffffffffffffffffffcf04", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x3d", + "0x4825800180007ff9", + "0x30fc", + "0x400280007ff87fff", + "0xa0680017fff8000", + "0x8", + "0x48297ffc80007ffb", + "0x482480017fff8000", + "0xf", + "0x400280017ff87fff", + "0x10780017fff7fff", + "0x27", + "0x482680017ffb8001", + "0x10", + "0x483180007fff7ffc", + "0x400280017ff87ffe", + "0x482680017ff88000", + "0x2", + "0x480680017fff8000", + "0x53686132353650726f63657373426c6f636b", + "0x400280007ffa7fff", + "0x400280017ffa7ffa", + "0x400380027ffa7ffd", + "0x400380037ffa7ffb", + "0x480280057ffa8000", + "0x20680017fff7fff", + "0xd", + "0x480280047ffa8000", + "0x48127ffc7fff8000", + "0x48127ffe7fff8000", + "0x482680017ffa8000", + "0x7", + "0x48127ff87fff8000", + "0x480a7ffc7fff8000", + "0x480280067ffa8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd8", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480280047ffa8000", + "0x482680017ffa8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480280067ffa8000", + "0x480280077ffa8000", + "0x208b7fff7fff7ffe", + "0x482680017ff88000", + "0x2", + "0x482480017ffb8000", + "0x32aa", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffe4b7", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x53686f756c64206265206e6f6e65", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffb2c", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x556e657870656374656420636f6f7264696e61746573", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffb27", + "0x208b7fff7fff7ffe", + "0x20780017fff7ff8", + "0x15", + "0x20780017fff7ff9", + "0x10", + "0x1104800180018000", + "0x129a", + "0x482480017fff8000", + "0x1299", + "0x480080007fff8000", + "0x480080017fff8000", + "0x484480017fff8000", + "0x8", + "0x482480017fff8000", + "0x348b4", + "0x480a7ff27fff8000", + "0x48327ffe7ff38000", + "0x10780017fff7fff", + "0x9b", + "0x480a7ff37fff8000", + "0x10780017fff7fff", + "0x4", + "0x482680017ff38000", + "0xc8", + "0x480680017fff8000", + "0xfffffffffffffffffffffffffffffffe", + "0x48317fff80017ff9", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280007ff27fff", + "0x10780017fff7fff", + "0x38", + "0x400280007ff27fff", + "0x482680017ff28000", + "0x1", + "0x4825800180007ff9", + "0xfffffffffffffffffffffffffffffffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x10", + "0x1104800180018000", + "0x1274", + "0x482480017fff8000", + "0x1273", + "0x480080007fff8000", + "0x480080017fff8000", + "0x484480017fff8000", + "0x8", + "0x482480017fff8000", + "0x344ea", + "0x48127ff77fff8000", + "0x48307ffe7ff28000", + "0x10780017fff7fff", + "0x75", + "0x480680017fff8000", + "0xbaaedce6af48a03bbfd25e8cd0364141", + "0x48317fff80017ff8", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ffa7fff", + "0x10780017fff7fff", + "0x12", + "0x400080007ffb7fff", + "0x1104800180018000", + "0x125b", + "0x482480017fff8000", + "0x125a", + "0x480080007fff8000", + "0x480080017fff8000", + "0x484480017fff8000", + "0x8", + "0x482480017fff8000", + "0x342b0", + "0x482480017ff48000", + "0x1", + "0x48307ffe7fef8000", + "0x10780017fff7fff", + "0x5b", + "0x482480017ffa8000", + "0x1", + "0x48127ff57fff8000", + "0x10780017fff7fff", + "0x6", + "0x482680017ff28000", + "0x1", + "0x482480017ffa8000", + "0x3ca", + "0x20780017fff7ffa", + "0x15", + "0x20780017fff7ffb", + "0x10", + "0x1104800180018000", + "0x123f", + "0x482480017fff8000", + "0x123e", + "0x480080007fff8000", + "0x480080017fff8000", + "0x484480017fff8000", + "0x8", + "0x482480017fff8000", + "0x33ff4", + "0x48127ff77fff8000", + "0x48307ffe7ff78000", + "0x10780017fff7fff", + "0x40", + "0x48127fff7fff8000", + "0x10780017fff7fff", + "0x4", + "0x482480017fff8000", + "0xc8", + "0x480680017fff8000", + "0xfffffffffffffffffffffffffffffffe", + "0x48317fff80017ffb", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff97fff", + "0x10780017fff7fff", + "0x3f", + "0x400080007ffa7fff", + "0x482480017ffa8000", + "0x1", + "0x4825800180007ffb", + "0xfffffffffffffffffffffffffffffffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x10", + "0x1104800180018000", + "0x1219", + "0x482480017fff8000", + "0x1218", + "0x480080007fff8000", + "0x480080017fff8000", + "0x484480017fff8000", + "0x8", + "0x482480017fff8000", + "0x33c2a", + "0x48127ff77fff8000", + "0x48307ffe7ff28000", + "0x10780017fff7fff", + "0x1a", + "0x480680017fff8000", + "0xbaaedce6af48a03bbfd25e8cd0364141", + "0x48317fff80017ffa", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ffa7fff", + "0x10780017fff7fff", + "0x19", + "0x400080007ffb7fff", + "0x1104800180018000", + "0x1200", + "0x482480017fff8000", + "0x11ff", + "0x480080007fff8000", + "0x480080017fff8000", + "0x484480017fff8000", + "0x8", + "0x482480017fff8000", + "0x33a54", + "0x482480017ff48000", + "0x1", + "0x48307ffe7fef8000", + "0x480a7ff47fff8000", + "0x480a7ff57fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x5369676e6174757265206f7574206f662072616e6765", + "0x208b7fff7fff7ffe", + "0x482480017ffa8000", + "0x1", + "0x48127ff57fff8000", + "0x10780017fff7fff", + "0x6", + "0x482480017ff98000", + "0x1", + "0x482480017ffa8000", + "0x3ca", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x830", + "0x20680017fff7ffd", + "0x3a", + "0x20680017fff7ffe", + "0x2d", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480a7ff47fff8000", + "0x48127ff97fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0xca5", + "0x20680017fff7ffd", + "0x1b", + "0x48317fff80007ffd", + "0x20680017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x496e76616c6964207369676e6174757265", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffe3af", + "0x48127ff27fff8000", + "0x48127ff27fff8000", + "0x480a7ff47fff8000", + "0x48127ff17fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480a7ff47fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x753235365f737562204f766572666c6f77", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffa18", + "0x208b7fff7fff7ffe", + "0x20780017fff7ff9", + "0xe", + "0x20780017fff7ffa", + "0x9", + "0x40780017fff7fff", + "0x2ba", + "0x480a7ff47fff8000", + "0x482680017ff58000", + "0x2711e", + "0x10780017fff7fff", + "0x32", + "0x480a7ff57fff8000", + "0x10780017fff7fff", + "0x4", + "0x482680017ff58000", + "0xc8", + "0x480680017fff8000", + "0xffffffff00000000ffffffffffffffff", + "0x48317fff80017ffa", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280007ff47fff", + "0x10780017fff7fff", + "0x2b", + "0x400280007ff47fff", + "0x482680017ff48000", + "0x1", + "0x4825800180007ffa", + "0xffffffff00000000ffffffffffffffff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x9", + "0x40780017fff7fff", + "0x2b4", + "0x48127d4a7fff8000", + "0x482480017d458000", + "0x26d90", + "0x10780017fff7fff", + "0x13", + "0x480680017fff8000", + "0xbce6faada7179e84f3b9cac2fc632551", + "0x48317fff80017ff9", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ffa7fff", + "0x10780017fff7fff", + "0xc", + "0x400080007ffb7fff", + "0x40780017fff7fff", + "0x2b1", + "0x482480017d4a8000", + "0x1", + "0x482480017d458000", + "0x26bd8", + "0x480a7ff67fff8000", + "0x10780017fff7fff", + "0x490", + "0x482480017ffa8000", + "0x1", + "0x48127ff57fff8000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x5", + "0x482680017ff48000", + "0x1", + "0x482480017ff58000", + "0x334", + "0x20780017fff7ffb", + "0xe", + "0x20780017fff7ffc", + "0x9", + "0x40780017fff7fff", + "0xa", + "0x48127ff47fff8000", + "0x482480017ff48000", + "0x5a0", + "0x10780017fff7fff", + "0x32", + "0x48127fff7fff8000", + "0x10780017fff7fff", + "0x4", + "0x482480017fff8000", + "0xc8", + "0x480680017fff8000", + "0xffffffff00000000ffffffffffffffff", + "0x48317fff80017ffc", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff97fff", + "0x10780017fff7fff", + "0x2c", + "0x400080007ffa7fff", + "0x482480017ffa8000", + "0x1", + "0x4825800180007ffc", + "0xffffffff00000000ffffffffffffffff", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x9", + "0x40780017fff7fff", + "0x4", + "0x48127ffa7fff8000", + "0x482480017ff58000", + "0x212", + "0x10780017fff7fff", + "0x13", + "0x480680017fff8000", + "0xbce6faada7179e84f3b9cac2fc632551", + "0x48317fff80017ffb", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ffa7fff", + "0x10780017fff7fff", + "0xd", + "0x400080007ffb7fff", + "0x40780017fff7fff", + "0x1", + "0x482480017ffa8000", + "0x1", + "0x482480017ff58000", + "0x5a", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0xf", + "0x482480017ffa8000", + "0x1", + "0x48127ff57fff8000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x5", + "0x482480017ff48000", + "0x1", + "0x482480017ff58000", + "0x334", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x1", + "0x48307ffe80007fff", + "0x20680017fff7fff", + "0x42e", + "0x480680017fff8000", + "0xbce6faada7179e84f3b9cac2fc632551", + "0x480680017fff8000", + "0xffffffff00000000ffffffffffffffff", + "0xa0680017fff8000", + "0x37", + "0x480080007ff88001", + "0x480080017ff78001", + "0x480080027ff68001", + "0x480080037ff58001", + "0x48307ffe80017ffa", + "0x40780017fff7fff", + "0x12", + "0x20680017fff7fee", + "0x8", + "0x40307fea7fef7fe6", + "0x402480017ff07fef", + "0x1", + "0x400080047fe17ff0", + "0x10780017fff7fff", + "0x3", + "0x400080047fe17fee", + "0x482480017ff98001", + "0x1", + "0x48307ff080018000", + "0x4844800180018000", + "0x100000000000000000000000000000000", + "0x4850800080008000", + "0x48307fff7ff68000", + "0x48307ff67fff8000", + "0x48307ff77fff8000", + "0x48307feb80007fff", + "0x48307feb80007fff", + "0x48307fec80007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x4824800180007fff", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffff8001", + "0x400080057fd57fff", + "0x482480017ffe8000", + "0xffffffffffffffffffffffffffff8000", + "0x400080067fd47fff", + "0x48307ffd7fef8000", + "0x48307ff07fff8000", + "0x48307ff07fff8000", + "0x48307fe680007fff", + "0x48307fe380007fff", + "0x48307fe580007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x4824800180007fff", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffff8001", + "0x400080077fcc7fff", + "0x482480017ffe8000", + "0xffffffffffffffffffffffffffff8000", + "0x400080087fcb7fff", + "0x40307ffd7fea7fe2", + "0x10780017fff7fff", + "0x31", + "0x480080007ff87fff", + "0x480080017ff77fff", + "0x480080027ff67fff", + "0x480080037ff57fff", + "0x480080047ff47fff", + "0x400080057ff37fff", + "0xa0680017fff7ffb", + "0xa", + "0x402480017fff7ff9", + "0x1", + "0x20680017fff7fff", + "0x6", + "0x400680017fff7ff8", + "0x0", + "0x400680017fff7ff7", + "0x1", + "0xa0680017fff7ffa", + "0xc", + "0x48507ff87ffb8001", + "0x48507ff77ffc8001", + "0xa0680017fff8002", + "0x5", + "0x48307ffa7ff88000", + "0x90780017fff7fff", + "0x11", + "0x48127ff57fff8000", + "0x90780017fff7fff", + "0xe", + "0x48507ff97ffa8001", + "0x48507ff87ffb8001", + "0x480680017fff7ff9", + "0x0", + "0x480680017fff7ffa", + "0x0", + "0xa0680017fff8000", + "0x5", + "0x40307ff77ff57ffe", + "0x10780017fff7fff", + "0x3", + "0x40127ff47fff7ffe", + "0x482480017ffe8000", + "0xfffffffffffffffe0000000000000000", + "0x400080067feb7fff", + "0x40317ff97ffb7ffc", + "0x40307ffa7ffc7ff1", + "0x10780017fff7fff", + "0x37a", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080097fca8001", + "0x4800800a7fc97ffe", + "0x4000800b7fc87ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fcd", + "0x48507fd37ffc8000", + "0x48507fd27ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4800800c7fc48001", + "0x4800800d7fc37fff", + "0x4000800e7fc27ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4800800f7fbe7fff", + "0x480080107fbd7ffd", + "0x400080117fbc7fda", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fda7ffe7fff", + "0x40307ffc7ff77fdb", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080127fbb8001", + "0x480080137fba7ffe", + "0x400080147fb97ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fbe", + "0x48507fc37ffc8000", + "0x48507fc27ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080157fb58001", + "0x480080167fb47fff", + "0x400080177fb37ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080187faf7fff", + "0x480080197fae7ffd", + "0x4000801a7fad7fc9", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fc97ffe7fff", + "0x40307ffc7ff77fca", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4800801b7fac8001", + "0x4800801c7fab7ffe", + "0x4000801d7faa7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fae", + "0x48507fb57ffc8000", + "0x48507fb47ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4800801e7fa68001", + "0x4800801f7fa57fff", + "0x400080207fa47ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080217fa07fff", + "0x480080227f9f7ffd", + "0x400080237f9e7fb8", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fb87ffe7fff", + "0x40307ffc7ff77fb9", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080247f9d8001", + "0x480080257f9c7ffe", + "0x400080267f9b7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f9f", + "0x48507fa57ffc8000", + "0x48507fa47ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080277f978001", + "0x480080287f967fff", + "0x400080297f957ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4800802a7f917fff", + "0x4800802b7f907ffd", + "0x4000802c7f8f7fa7", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fa77ffe7fff", + "0x40307ffc7ff77fa8", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4800802d7f8e8001", + "0x4800802e7f8d7ffe", + "0x4000802f7f8c7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f95", + "0x48487ffc7ffc8000", + "0x48487ffc7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080307f888001", + "0x480080317f877fff", + "0x400080327f867ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080337f827fff", + "0x480080347f817ffd", + "0x400080357f807f96", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307f967ffe7fff", + "0x40307ffc7ff77f97", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080367f7f8001", + "0x480080377f7e7ffe", + "0x400080387f7d7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f86", + "0x48487ffb7ffc8000", + "0x48487ffb7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080397f798001", + "0x4800803a7f787fff", + "0x4000803b7f777ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4800803c7f737fff", + "0x4800803d7f727ffd", + "0x4000803e7f717f85", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307f857ffe7fff", + "0x40307ffc7ff77f86", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4800803f7f708001", + "0x480080407f6f7ffe", + "0x400080417f6e7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f76", + "0x48487ffc7ffc8000", + "0x48487ffc7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080427f6a8001", + "0x480080437f697fff", + "0x400080447f687ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080457f647fff", + "0x480080467f637ffd", + "0x400080477f627f74", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307f747ffe7fff", + "0x40307ffc7ff77f75", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080487f618001", + "0x480080497f607ffe", + "0x4000804a7f5f7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f67", + "0x48487ffb7ffc8000", + "0x48487ffb7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4800804b7f5b8001", + "0x4800804c7f5a7fff", + "0x4000804d7f597ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4800804e7f557fff", + "0x4800804f7f547ffd", + "0x400080507f537f63", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307f637ffe7fff", + "0x40307ffc7ff77f64", + "0x482480017f538000", + "0x51", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x48127f597fff8000", + "0x48127f597fff8000", + "0x1104800180018000", + "0xb33", + "0x480680017fff8000", + "0xbce6faada7179e84f3b9cac2fc632551", + "0x480680017fff8000", + "0xffffffff00000000ffffffffffffffff", + "0x480080007ff98000", + "0x480080017ff88000", + "0x480080027ff78000", + "0x480080037ff68000", + "0x480080047ff58000", + "0x480080057ff48000", + "0x48307fff80007ff9", + "0x40780017fff7fff", + "0xc", + "0x20680017fff7ff3", + "0x8", + "0x40307ff17ff47feb", + "0x402480017ff57ff4", + "0x1", + "0x400080067fe67ff5", + "0x10780017fff7fff", + "0x3", + "0x400080067fe67ff3", + "0x48307ff17ff68000", + "0x48307fe680007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x40507fff7fff7fff", + "0x48307ff47fff8000", + "0x48307ff47fff8000", + "0x48307ff57fff8000", + "0x48307fec7fff8000", + "0x48307fe180007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x400080077fdd7fff", + "0x482480017fff8000", + "0xfffffffffffffffffffffffffffffffc", + "0x400080087fdc7fff", + "0x48307fef7ffe8000", + "0x48307ff07fff8000", + "0x48307ff07fff8000", + "0x48307ff17fff8000", + "0x48307fdb80007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x400080097fd67fff", + "0x482480017fff8000", + "0xfffffffffffffffffffffffffffffffc", + "0x4000800a7fd57fff", + "0xa0680017fff7fdf", + "0xc", + "0xa0680017fff8001", + "0x6", + "0x48127fd97fff7ffe", + "0x40127fdb7fff7ffe", + "0x10780017fff7fff", + "0x10", + "0x48127fdc7fff7ffe", + "0x40127fd87fff7ffe", + "0x10780017fff7fff", + "0xc", + "0x480680017fff7fda", + "0x0", + "0xa0680017fff8000", + "0x6", + "0x40127fd77fff7ffd", + "0x40127fdc7fff7ffe", + "0x10780017fff7fff", + "0x4", + "0x40127fdc7fff7ffd", + "0x40127fd77fff7ffe", + "0x482480017ffd8000", + "0xffffffffffffffff0000000000000000", + "0x4000800b7fd17fff", + "0x48507ffd7ffc8000", + "0x48307fe97ff98000", + "0x48307fe67fff8000", + "0x40307ffd7fff7fd2", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4800800c7fcd8001", + "0x4800800d7fcc7ffe", + "0x4000800e7fcb7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fd3", + "0x48507fcf7ffc8000", + "0x48507fce7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4800800f7fc78001", + "0x480080107fc67fff", + "0x400080117fc57ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080127fc17fff", + "0x480080137fc07ffd", + "0x400080147fbf7fd7", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fd77ffe7fff", + "0x40307ffc7ff77fd8", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080157fbe8001", + "0x480080167fbd7ffe", + "0x400080177fbc7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fc3", + "0x48507fc17ffc8000", + "0x48507fc07ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080187fb88001", + "0x480080197fb77fff", + "0x4000801a7fb67ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4800801b7fb27fff", + "0x4800801c7fb17ffd", + "0x4000801d7fb07fc6", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fc67ffe7fff", + "0x40307ffc7ff77fc7", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4800801e7faf8001", + "0x4800801f7fae7ffe", + "0x400080207fad7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fb4", + "0x48507fb17ffc8000", + "0x48507fb07ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080217fa98001", + "0x480080227fa87fff", + "0x400080237fa77ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080247fa37fff", + "0x480080257fa27ffd", + "0x400080267fa17fb3", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fb37ffe7fff", + "0x40307ffc7ff77fb4", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080277fa08001", + "0x480080287f9f7ffe", + "0x400080297f9e7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fa4", + "0x48507fa37ffc8000", + "0x48507fa27ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4800802a7f9a8001", + "0x4800802b7f997fff", + "0x4000802c7f987ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4800802d7f947fff", + "0x4800802e7f937ffd", + "0x4000802f7f927fa6", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fa67ffe7fff", + "0x40307ffc7ff77fa7", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080307f918001", + "0x480080317f907ffe", + "0x400080327f8f7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f95", + "0x48507f937ffc8000", + "0x48507f927ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080337f8b8001", + "0x480080347f8a7fff", + "0x400080357f897ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080367f857fff", + "0x480080377f847ffd", + "0x400080387f837f93", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307f937ffe7fff", + "0x40307ffc7ff77f94", + "0x482480017f838000", + "0x39", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x48127e6d7fff8000", + "0x48127e6d7fff8000", + "0x1104800180018000", + "0xa47", + "0x480680017fff8000", + "0xbce6faada7179e84f3b9cac2fc632551", + "0x480680017fff8000", + "0xffffffff00000000ffffffffffffffff", + "0x480080007ff98000", + "0x480080017ff88000", + "0x480080027ff78000", + "0x480080037ff68000", + "0x480080047ff58000", + "0x480080057ff48000", + "0x48307fff80007ff9", + "0x40780017fff7fff", + "0xc", + "0x20680017fff7ff3", + "0x8", + "0x40307ff17ff47feb", + "0x402480017ff57ff4", + "0x1", + "0x400080067fe67ff5", + "0x10780017fff7fff", + "0x3", + "0x400080067fe67ff3", + "0x48307ff17ff68000", + "0x48307fe680007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x40507fff7fff7fff", + "0x48307ff47fff8000", + "0x48307ff47fff8000", + "0x48307ff57fff8000", + "0x48307fec7fff8000", + "0x48307fe180007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x400080077fdd7fff", + "0x482480017fff8000", + "0xfffffffffffffffffffffffffffffffc", + "0x400080087fdc7fff", + "0x48307fef7ffe8000", + "0x48307ff07fff8000", + "0x48307ff07fff8000", + "0x48307ff17fff8000", + "0x48307fdb80007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x400080097fd67fff", + "0x482480017fff8000", + "0xfffffffffffffffffffffffffffffffc", + "0x4000800a7fd57fff", + "0xa0680017fff7fdf", + "0xc", + "0xa0680017fff8001", + "0x6", + "0x48127fd97fff7ffe", + "0x40127fdb7fff7ffe", + "0x10780017fff7fff", + "0x10", + "0x48127fdc7fff7ffe", + "0x40127fd87fff7ffe", + "0x10780017fff7fff", + "0xc", + "0x480680017fff7fda", + "0x0", + "0xa0680017fff8000", + "0x6", + "0x40127fd77fff7ffd", + "0x40127fdc7fff7ffe", + "0x10780017fff7fff", + "0x4", + "0x40127fdc7fff7ffd", + "0x40127fd77fff7ffe", + "0x482480017ffd8000", + "0xffffffffffffffff0000000000000000", + "0x4000800b7fd17fff", + "0x48507ffd7ffc8000", + "0x48307fe97ff98000", + "0x48307fe67fff8000", + "0x40307ffd7fff7fd2", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4800800c7fcd8001", + "0x4800800d7fcc7ffe", + "0x4000800e7fcb7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fd3", + "0x48507fcf7ffc8000", + "0x48507fce7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4800800f7fc78001", + "0x480080107fc67fff", + "0x400080117fc57ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080127fc17fff", + "0x480080137fc07ffd", + "0x400080147fbf7fd7", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fd77ffe7fff", + "0x40307ffc7ff77fd8", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080157fbe8001", + "0x480080167fbd7ffe", + "0x400080177fbc7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fc3", + "0x48507fc17ffc8000", + "0x48507fc07ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080187fb88001", + "0x480080197fb77fff", + "0x4000801a7fb67ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4800801b7fb27fff", + "0x4800801c7fb17ffd", + "0x4000801d7fb07fc6", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fc67ffe7fff", + "0x40307ffc7ff77fc7", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4800801e7faf8001", + "0x4800801f7fae7ffe", + "0x400080207fad7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fb4", + "0x48507fb17ffc8000", + "0x48507fb07ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080217fa98001", + "0x480080227fa87fff", + "0x400080237fa77ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080247fa37fff", + "0x480080257fa27ffd", + "0x400080267fa17fb3", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fb37ffe7fff", + "0x40307ffc7ff77fb4", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080277fa08001", + "0x480080287f9f7ffe", + "0x400080297f9e7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fa4", + "0x48507fa37ffc8000", + "0x48507fa27ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4800802a7f9a8001", + "0x4800802b7f997fff", + "0x4000802c7f987ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4800802d7f947fff", + "0x4800802e7f937ffd", + "0x4000802f7f927fa6", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fa67ffe7fff", + "0x40307ffc7ff77fa7", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080307f918001", + "0x480080317f907ffe", + "0x400080327f8f7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f95", + "0x48507f937ffc8000", + "0x48507f927ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080337f8b8001", + "0x480080347f8a7fff", + "0x400080357f897ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080367f857fff", + "0x480080377f847ffd", + "0x400080387f837f93", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307f937ffe7fff", + "0x40307ffc7ff77f94", + "0x480680017fff8000", + "0x77037d812deb33a0f4a13945d898c296", + "0x480680017fff8000", + "0x6b17d1f2e12c4247f8bce6e563a440f2", + "0x480680017fff8000", + "0x2bce33576b315ececbb6406837bf51f5", + "0x480680017fff8000", + "0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e16", + "0x482480017f7f8000", + "0x39", + "0x480680017fff8000", + "0x5365637032353672314e6577", + "0x400280007ff67fff", + "0x400280017ff67d76", + "0x400280027ff67ffa", + "0x400280037ff67ffb", + "0x400280047ff67ffc", + "0x400280057ff67ffd", + "0x480280077ff68000", + "0x20680017fff7fff", + "0x92", + "0x480280087ff68000", + "0x480280097ff68000", + "0x480280067ff68000", + "0x482680017ff68000", + "0xa", + "0x20680017fff7ffc", + "0x7f", + "0x480680017fff8000", + "0x5365637032353672314d756c", + "0x400080007ffe7fff", + "0x400080017ffe7ffd", + "0x400080027ffe7ffc", + "0x400080037ffe7e96", + "0x400080047ffe7e97", + "0x480080067ffe8000", + "0x20680017fff7fff", + "0x6a", + "0x480080057ffd8000", + "0x480080077ffc8000", + "0x480680017fff8000", + "0x5365637032353672314d756c", + "0x400080087ffa7fff", + "0x400080097ffa7ffd", + "0x4001800a7ffa7ffd", + "0x4000800b7ffa7f7e", + "0x4000800c7ffa7f7f", + "0x4800800e7ffa8000", + "0x20680017fff7fff", + "0x53", + "0x4800800d7ff98000", + "0x4800800f7ff88000", + "0x480680017fff8000", + "0x536563703235367231416464", + "0x400080107ff67fff", + "0x400080117ff67ffd", + "0x400080127ff67ffa", + "0x400080137ff67ffe", + "0x480080157ff68000", + "0x20680017fff7fff", + "0x3d", + "0x480080147ff58000", + "0x480080167ff48000", + "0x480680017fff8000", + "0x5365637032353672314765745879", + "0x400080177ff27fff", + "0x400080187ff27ffd", + "0x400080197ff27ffe", + "0x4800801b7ff28000", + "0x20680017fff7fff", + "0x28", + "0x4800801c7ff18000", + "0x4800801d7ff08000", + "0x4800801a7fef8000", + "0x482480017fee8000", + "0x20", + "0x48287ff980007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa", + "0x40780017fff7fff", + "0x1", + "0x48127fe57fff8000", + "0x482480017ffb8000", + "0xbe", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0xa9", + "0x48287ffa80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7", + "0x48127fe57fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0x9f", + "0x48127fe57fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x6", + "0x48127fe57fff8000", + "0x4800801a7fea8000", + "0x482480017fe98000", + "0x1e", + "0x480680017fff8000", + "0x1", + "0x4800801c7fe78000", + "0x4800801d7fe68000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xa", + "0x48127fe57fff8000", + "0x480080147fea8000", + "0x482480017fe98000", + "0x18", + "0x480680017fff8000", + "0x1", + "0x480080167fe78000", + "0x480080177fe68000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xe", + "0x48127fe57fff8000", + "0x4800800d7fea8000", + "0x482480017fe98000", + "0x11", + "0x480680017fff8000", + "0x1", + "0x4800800f7fe78000", + "0x480080107fe68000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x12", + "0x48127fe57fff8000", + "0x480080057fea8000", + "0x482480017fe98000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480080077fe78000", + "0x480080087fe68000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xc", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffdf2f", + "0x48127fe57fff8000", + "0x48127fe97fff8000", + "0x48127fe97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x18", + "0x48127fe57fff8000", + "0x480280067ff68000", + "0x482680017ff68000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480280087ff68000", + "0x480280097ff68000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x271", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080077d798001", + "0x480080087d787ffe", + "0x400080097d777ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7d7d", + "0x48507d817ffc8000", + "0x48507d807ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4800800a7d738001", + "0x4800800b7d727fff", + "0x4000800c7d717ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4800800d7d6d7fff", + "0x4800800e7d6c7ffd", + "0x4000800f7d6b7d70", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307d707ffe7fff", + "0x40307ffc7ff77d7a", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080107d6a8001", + "0x480080117d697ffe", + "0x400080127d687ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7d6e", + "0x48507d707ffc8000", + "0x48507d6f7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080137d648001", + "0x480080147d637fff", + "0x400080157d627ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080167d5e7fff", + "0x480080177d5d7ffd", + "0x400180187d5c7ffb", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40287ffb7ffe7fff", + "0x40307ffc7ff77d6a", + "0x482480017d5c8000", + "0x19", + "0x482480017d5c8000", + "0x23f1e", + "0x480a7ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x29f", + "0x48127d5c7fff8000", + "0x482480017d5c8000", + "0x260ac", + "0x480a7ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x4469766973696f6e2062792030", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff540", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x7265637572736976655f6661696c", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff53b", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x416c6c20696e707574732068617665206265656e2066696c6c6564", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff536", + "0x208b7fff7fff7ffe", + "0x48297ffa80007ff6", + "0x20680017fff7fff", + "0x18", + "0x48297ffb80007ff7", + "0x20680017fff7fff", + "0x11", + "0x48297ffc80007ff8", + "0x20680017fff7fff", + "0xa", + "0x48297ffd80007ff9", + "0x20680017fff7fff", + "0x5", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x10780017fff7fff", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x2", + "0x10780017fff7fff", + "0x4", + "0x40780017fff7fff", + "0x3", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffd", + "0xc", + "0x40780017fff7fff", + "0x4b", + "0x480a7ff77fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x8", + "0x482a7ffd7ffb8000", + "0x4824800180007fff", + "0x100000000", + "0x400280007ff77fff", + "0x10780017fff7fff", + "0x12f", + "0x482a7ffd7ffb8001", + "0x4824800180007fff", + "0xffffffffffffffffffffffff00000000", + "0x400280007ff77ffe", + "0x480680017fff8000", + "0x1f", + "0x48307fff80017ffe", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280017ff77fff", + "0x10780017fff7fff", + "0x103", + "0x400280017ff77fff", + "0x480680017fff8000", + "0x1f", + "0x48287ffb80017fff", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280027ff77fff", + "0x10780017fff7fff", + "0xe9", + "0x400280027ff77fff", + "0x482680017ff78000", + "0x3", + "0x48127ffe7fff8000", + "0x1104800180018000", + "0x90b", + "0x20680017fff7ffd", + "0xd5", + "0x20680017fff7fe5", + "0x33", + "0x40780017fff7fff", + "0x21", + "0x48527fde7ffa8000", + "0x48327fff7ffc8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffe", + "0x100000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x7000000000000110000000000000000", + "0x48307ffe7fff8002", + "0x480080007fd57ffc", + "0x480080017fd47ffc", + "0x402480017ffb7ffd", + "0xf8ffffffffffffeeffffffffffffffff", + "0x400080027fd37ffd", + "0x10780017fff7fff", + "0x11", + "0x484480017fff8001", + "0x1000000000000000000000000000000", + "0x48307fff80007ffd", + "0x480080007fd67ffd", + "0x480080017fd57ffd", + "0x402480017ffc7ffe", + "0xff000000000000000000000000000000", + "0x400080027fd47ffe", + "0x40780017fff7fff", + "0x1", + "0x482480017fd38000", + "0x3", + "0x48127ff87fff8000", + "0x10780017fff7fff", + "0x6", + "0x482480017fd38000", + "0x3", + "0x480680017fff8000", + "0x42415f494c4c4547414c5f5553414745", + "0x400280007ff97fff", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ff87fff8000", + "0x482680017ff98000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x16", + "0x480080007ffb8003", + "0x480080017ffa8003", + "0x4844800180017ffe", + "0x100000000000000000000000000000000", + "0x483180017ffd7ffc", + "0x482480017fff7ffd", + "0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001", + "0x20680017fff7ffc", + "0x6", + "0x402480017fff7ffd", + "0xffffffffffffffffffffffffffffffff", + "0x10780017fff7fff", + "0x4", + "0x402480017ffe7ffd", + "0xf7ffffffffffffef0000000000000000", + "0x400080027ff67ffd", + "0x20680017fff7ffe", + "0xe", + "0x402780017fff7fff", + "0x1", + "0x400180007ffb7ffc", + "0x40780017fff7fff", + "0x5", + "0x482480017ff68000", + "0x1", + "0x480a7ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x6", + "0x482480017ff68000", + "0x3", + "0x48127ffe7fff8000", + "0x48127ffc7fff8000", + "0x48127ffd7fff8000", + "0x48127fdb7fff8000", + "0x1104800180018000", + "0x9b6", + "0x1137ffd7fff7fff", + "0x10780017fff7fff", + "0x69", + "0x10780017fff7fff", + "0x23", + "0x10780017fff7fff", + "0x9", + "0x40780017fff7fff", + "0x8", + "0x48127ff47fff8000", + "0x48127fe97fff8000", + "0x48127fe77fff8000", + "0x10780017fff7fff", + "0x31", + "0x480080007ffc8005", + "0x480080017ffb8005", + "0x4824800180047ffe", + "0x1", + "0x48307ffd7ffe7ffb", + "0x480080027ff87ffd", + "0xa0680017fff7ffd", + "0x6", + "0x482480017ff87ffd", + "0xffffffffffffffff0000000000000000", + "0x10780017fff7fff", + "0x4", + "0x482480017fff7ffd", + "0xffffffffffffffff0000000000000000", + "0x400080037ff57ffc", + "0x40507ffe7ff77ffd", + "0x40307fff7ffd7fea", + "0x48507ff87feb8000", + "0x482480017ff48000", + "0x4", + "0x48307ffc7ffe8000", + "0x48127ffc7fff8000", + "0x10780017fff7fff", + "0x19", + "0x480080007ffc8005", + "0x480080017ffb8005", + "0x4824800180047ffe", + "0x1", + "0x48307ffd7ffe7ffc", + "0x480080027ff87ffd", + "0xa0680017fff7ffd", + "0x6", + "0x482480017ff97ffd", + "0xffffffffffffffff0000000000000000", + "0x10780017fff7fff", + "0x4", + "0x482480017fff7ffd", + "0xffffffffffffffff0000000000000000", + "0x400080037ff57ffc", + "0x40507ffe7ff87ffd", + "0x40307fff7ffd7feb", + "0x484480017fff8000", + "0x100000000000000000000000000000000", + "0x482480017ff48000", + "0x4", + "0x48127ffc7fff8000", + "0x48307fe77ffd8000", + "0x48527fde7ffa8000", + "0x48307fff7ffd8000", + "0xa0680017fff8004", + "0xe", + "0x4824800180047ffe", + "0x100000000000000000000000000000000000000000000000000000000000000", + "0x484480017ffe8000", + "0x7000000000000110000000000000000", + "0x48307ffe7fff8002", + "0x480080007ff77ffc", + "0x480080017ff67ffc", + "0x402480017ffb7ffd", + "0xf8ffffffffffffeeffffffffffffffff", + "0x400080027ff57ffd", + "0x10780017fff7fff", + "0x11", + "0x484480017fff8001", + "0x1000000000000000000000000000000", + "0x48307fff80007ffd", + "0x480080007ff87ffd", + "0x480080017ff77ffd", + "0x402480017ffc7ffe", + "0xff000000000000000000000000000000", + "0x400080027ff67ffe", + "0x40780017fff7fff", + "0x1", + "0x482480017ff58000", + "0x3", + "0x48127ff87fff8000", + "0x10780017fff7fff", + "0x6", + "0x482480017ff58000", + "0x3", + "0x480680017fff8000", + "0x42415f494c4c4547414c5f5553414745", + "0x400280007ff97fff", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ff87fff8000", + "0x482680017ff98000", + "0x1", + "0x48127ff17fff8000", + "0x48127fb57fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xd", + "0x1104800180018000", + "0xa93", + "0x48127fe77fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2b", + "0x48127fd17fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127fcf7fff8000", + "0x48127fcf7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x39", + "0x1104800180018000", + "0x81", + "0x482680017ff78000", + "0x3", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2c", + "0x482680017ff78000", + "0x2", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x814", + "0x20680017fff7ffd", + "0xb", + "0x48527fff7ffa8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x48327ffb7ffc8000", + "0x48127fb27fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x40", + "0x1104800180018000", + "0x199", + "0x482680017ff78000", + "0x1", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x46a6158a16a947e5916b2a2ca68501a45e93d7110e81aa2d6438b1c57c879a3", + "0x400080007ffe7fff", + "0x48297ffa80007ffb", + "0x400080017ffd7fff", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x48127ff97fff8000", + "0x482480017ff88000", + "0x2", + "0x1104800180018000", + "0xa36", + "0x20680017fff7ffd", + "0xa", + "0x400180007fff7ffc", + "0x400180017fff7ffd", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x2", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x526573756c743a3a756e77726170206661696c65642e", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff3a4", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x4e6f7420616c6c20696e707574732068617665206265656e2066696c6c6564", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff39f", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x746573745f73746f726167655f7661725f6368616e6765642e", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff39a", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x636c61737320686173682073686f756c64206e6f74206368616e67652e", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff395", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x76616c7565732073686f756c64206e6f74206368616e67652e", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff390", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x57726f6e675f6572726f72", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff38b", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x57726f6e6720456e74727920506f696e74", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff386", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x556e6578706563746564206572726f72", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff381", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff37c", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x4b656363616b206c61737420696e70757420776f7264203e3762", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff377", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xfffffffffffffffffffffffffffff740", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x3d", + "0x4825800180007ffa", + "0x8c0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x4825800180007ffd", + "0x1", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x26", + "0x480680017fff8000", + "0x0", + "0x400280007ffc7fff", + "0x480680017fff8000", + "0x1", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x1", + "0x48317ffd80017ffd", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0xc", + "0x400080007ff87fff", + "0x482480017ff88000", + "0x1", + "0x48127ff67fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd8", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffcb", + "0x482480017fef8000", + "0x1", + "0x48127fed7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x8000000000000000", + "0x400280007ffc7fff", + "0x48127ffd7fff8000", + "0x482480017ffb8000", + "0xa50", + "0x480680017fff8000", + "0x0", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffdcae", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x3d", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400280007ffc7fff", + "0x4825800180007ffd", + "0x1", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x39", + "0x48127fc57fff8000", + "0x48127fc57fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0x2", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x35", + "0x48127fc97fff8000", + "0x48127fc97fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0x3", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x31", + "0x48127fcd7fff8000", + "0x48127fcd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0x4", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x2d", + "0x48127fd17fff8000", + "0x48127fd17fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0x5", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x29", + "0x48127fd57fff8000", + "0x48127fd57fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0x6", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x25", + "0x48127fd97fff8000", + "0x48127fd97fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0x7", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x21", + "0x48127fdd7fff8000", + "0x48127fdd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0x8", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x1d", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0x9", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x19", + "0x48127fe57fff8000", + "0x48127fe57fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0xa", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x15", + "0x48127fe97fff8000", + "0x48127fe97fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0xb", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x11", + "0x48127fed7fff8000", + "0x48127fed7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0xc", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0xd", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0xd", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x9", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0xe", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x5", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0xf", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x1", + "0x48127ffd7fff8000", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x48127ffd7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x7533325f616464204f766572666c6f77", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff237", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x7533325f6d756c204f766572666c6f77", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff232", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x536563703235366b31476574506f696e7446726f6d58", + "0x400280007ff67fff", + "0x400380017ff67ff5", + "0x400380027ff67ff9", + "0x400380037ff67ffa", + "0x400380047ff67ffd", + "0x480280067ff68000", + "0x20680017fff7fff", + "0x46d", + "0x480280077ff68000", + "0x480280087ff68000", + "0x480280057ff68000", + "0x482680017ff68000", + "0x9", + "0x20680017fff7ffc", + "0x459", + "0x480680017fff8000", + "0x29bfcdb2dce28d959f2815b16f81798", + "0x480680017fff8000", + "0x79be667ef9dcbbac55a06295ce870b07", + "0x480680017fff8000", + "0xfd17b448a68554199c47d08ffb10d4b8", + "0x480680017fff8000", + "0x483ada7726a3c4655da4fbfc0e1108a8", + "0x480680017fff8000", + "0x536563703235366b314e6577", + "0x400080007ffa7fff", + "0x400080017ffa7ff9", + "0x400080027ffa7ffb", + "0x400080037ffa7ffc", + "0x400080047ffa7ffd", + "0x400080057ffa7ffe", + "0x480080077ffa8000", + "0x20680017fff7fff", + "0x43b", + "0x480080087ff98000", + "0x480080097ff88000", + "0x480080067ff78000", + "0x482480017ff68000", + "0xa", + "0x20680017fff7ffc", + "0x428", + "0x480680017fff8000", + "0xbaaedce6af48a03bbfd25e8cd0364141", + "0x480680017fff8000", + "0xfffffffffffffffffffffffffffffffe", + "0xa0680017fff8000", + "0x37", + "0x480280007ff48001", + "0x480280017ff48001", + "0x480280027ff48001", + "0x480280037ff48001", + "0x48307ffe80017ffa", + "0x40780017fff7fff", + "0x12", + "0x20680017fff7fee", + "0x8", + "0x40307fea7fef7fe6", + "0x402480017ff07fef", + "0x1", + "0x400280047ff47ff0", + "0x10780017fff7fff", + "0x3", + "0x400280047ff47fee", + "0x482480017ff98001", + "0x1", + "0x48307ff080018000", + "0x4844800180018000", + "0x100000000000000000000000000000000", + "0x4850800080008000", + "0x48307fff7ff68000", + "0x48307ff67fff8000", + "0x48307ff77fff8000", + "0x48307feb80007fff", + "0x48307feb80007fff", + "0x48307fec80007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x4824800180007fff", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffff8001", + "0x400280057ff47fff", + "0x482480017ffe8000", + "0xffffffffffffffffffffffffffff8000", + "0x400280067ff47fff", + "0x48307ffd7fef8000", + "0x48307ff07fff8000", + "0x48307ff07fff8000", + "0x48307fe680007fff", + "0x48307fe380007fff", + "0x48307fe580007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x4824800180007fff", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffff8001", + "0x400280077ff47fff", + "0x482480017ffe8000", + "0xffffffffffffffffffffffffffff8000", + "0x400280087ff47fff", + "0x40307ffd7fea7fe2", + "0x10780017fff7fff", + "0x31", + "0x480280007ff47fff", + "0x480280017ff47fff", + "0x480280027ff47fff", + "0x480280037ff47fff", + "0x480280047ff47fff", + "0x400280057ff47fff", + "0xa0680017fff7ffb", + "0xa", + "0x402480017fff7ff9", + "0x1", + "0x20680017fff7fff", + "0x6", + "0x400680017fff7ff8", + "0x0", + "0x400680017fff7ff7", + "0x1", + "0xa0680017fff7ffa", + "0xc", + "0x48507ff87ffb8001", + "0x48507ff77ffc8001", + "0xa0680017fff8002", + "0x5", + "0x48307ffa7ff88000", + "0x90780017fff7fff", + "0x11", + "0x48127ff57fff8000", + "0x90780017fff7fff", + "0xe", + "0x48507ff97ffa8001", + "0x48507ff87ffb8001", + "0x480680017fff7ff9", + "0x0", + "0x480680017fff7ffa", + "0x0", + "0xa0680017fff8000", + "0x5", + "0x40307ff77ff57ffe", + "0x10780017fff7fff", + "0x3", + "0x40127ff47fff7ffe", + "0x482480017ffe8000", + "0xfffffffffffffffe0000000000000000", + "0x400280067ff47fff", + "0x40317ff97ffb7ffa", + "0x40307ffa7ffc7ff1", + "0x10780017fff7fff", + "0x375", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480280097ff48001", + "0x4802800a7ff47ffe", + "0x4002800b7ff47ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fcd", + "0x48507fd37ffc8000", + "0x48507fd27ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4802800c7ff48001", + "0x4802800d7ff47fff", + "0x4002800e7ff47ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4802800f7ff47fff", + "0x480280107ff47ffd", + "0x400280117ff47fda", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fda7ffe7fff", + "0x40307ffc7ff77fdb", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480280127ff48001", + "0x480280137ff47ffe", + "0x400280147ff47ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fbe", + "0x48507fc37ffc8000", + "0x48507fc27ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480280157ff48001", + "0x480280167ff47fff", + "0x400280177ff47ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480280187ff47fff", + "0x480280197ff47ffd", + "0x4002801a7ff47fc9", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fc97ffe7fff", + "0x40307ffc7ff77fca", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4802801b7ff48001", + "0x4802801c7ff47ffe", + "0x4002801d7ff47ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fae", + "0x48507fb57ffc8000", + "0x48507fb47ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4802801e7ff48001", + "0x4802801f7ff47fff", + "0x400280207ff47ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480280217ff47fff", + "0x480280227ff47ffd", + "0x400280237ff47fb8", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fb87ffe7fff", + "0x40307ffc7ff77fb9", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480280247ff48001", + "0x480280257ff47ffe", + "0x400280267ff47ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f9f", + "0x48507fa57ffc8000", + "0x48507fa47ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480280277ff48001", + "0x480280287ff47fff", + "0x400280297ff47ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4802802a7ff47fff", + "0x4802802b7ff47ffd", + "0x4002802c7ff47fa7", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fa77ffe7fff", + "0x40307ffc7ff77fa8", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4802802d7ff48001", + "0x4802802e7ff47ffe", + "0x4002802f7ff47ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f95", + "0x48487ffa7ffc8000", + "0x48487ffa7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480280307ff48001", + "0x480280317ff47fff", + "0x400280327ff47ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480280337ff47fff", + "0x480280347ff47ffd", + "0x400280357ff47f96", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307f967ffe7fff", + "0x40307ffc7ff77f97", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480280367ff48001", + "0x480280377ff47ffe", + "0x400280387ff47ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f86", + "0x48487ff97ffc8000", + "0x48487ff97ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480280397ff48001", + "0x4802803a7ff47fff", + "0x4002803b7ff47ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4802803c7ff47fff", + "0x4802803d7ff47ffd", + "0x4002803e7ff47f85", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307f857ffe7fff", + "0x40307ffc7ff77f86", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4802803f7ff48001", + "0x480280407ff47ffe", + "0x400280417ff47ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f76", + "0x48487ffa7ffc8000", + "0x48487ffa7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480280427ff48001", + "0x480280437ff47fff", + "0x400280447ff47ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480280457ff47fff", + "0x480280467ff47ffd", + "0x400280477ff47f74", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307f747ffe7fff", + "0x40307ffc7ff77f75", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480280487ff48001", + "0x480280497ff47ffe", + "0x4002804a7ff47ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f67", + "0x48487ff97ffc8000", + "0x48487ff97ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4802804b7ff48001", + "0x4802804c7ff47fff", + "0x4002804d7ff47ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4802804e7ff47fff", + "0x4802804f7ff47ffd", + "0x400280507ff47f63", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307f637ffe7fff", + "0x40307ffc7ff77f64", + "0x482680017ff48000", + "0x51", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x48127f597fff8000", + "0x48127f597fff8000", + "0x1104800180018000", + "0x3bc", + "0x480680017fff8000", + "0xbaaedce6af48a03bbfd25e8cd0364141", + "0x480680017fff8000", + "0xfffffffffffffffffffffffffffffffe", + "0x480080007ff98000", + "0x480080017ff88000", + "0x480080027ff78000", + "0x480080037ff68000", + "0x480080047ff58000", + "0x480080057ff48000", + "0x48307fff80007ff9", + "0x40780017fff7fff", + "0xc", + "0x20680017fff7ff3", + "0x8", + "0x40307ff17ff47feb", + "0x402480017ff57ff4", + "0x1", + "0x400080067fe67ff5", + "0x10780017fff7fff", + "0x3", + "0x400080067fe67ff3", + "0x48307ff17ff68000", + "0x48307fe680007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x40507fff7fff7fff", + "0x48307ff47fff8000", + "0x48307ff47fff8000", + "0x48307ff57fff8000", + "0x48307fec7fff8000", + "0x48307fe180007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x400080077fdd7fff", + "0x482480017fff8000", + "0xfffffffffffffffffffffffffffffffc", + "0x400080087fdc7fff", + "0x48307fef7ffe8000", + "0x48307ff07fff8000", + "0x48307ff07fff8000", + "0x48307ff17fff8000", + "0x48307fdb80007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x400080097fd67fff", + "0x482480017fff8000", + "0xfffffffffffffffffffffffffffffffc", + "0x4000800a7fd57fff", + "0xa0680017fff7fdf", + "0xc", + "0xa0680017fff8001", + "0x6", + "0x48127fd97fff7ffe", + "0x40127fdb7fff7ffe", + "0x10780017fff7fff", + "0x10", + "0x48127fdc7fff7ffe", + "0x40127fd87fff7ffe", + "0x10780017fff7fff", + "0xc", + "0x480680017fff7fda", + "0x0", + "0xa0680017fff8000", + "0x6", + "0x40127fd77fff7ffd", + "0x40127fdc7fff7ffe", + "0x10780017fff7fff", + "0x4", + "0x40127fdc7fff7ffd", + "0x40127fd77fff7ffe", + "0x482480017ffd8000", + "0xffffffffffffffff0000000000000000", + "0x4000800b7fd17fff", + "0x48507ffd7ffc8000", + "0x48307fe97ff98000", + "0x48307fe67fff8000", + "0x40307ffd7fff7fd2", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4800800c7fcd8001", + "0x4800800d7fcc7ffe", + "0x4000800e7fcb7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fd3", + "0x48507fcf7ffc8000", + "0x48507fce7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4800800f7fc78001", + "0x480080107fc67fff", + "0x400080117fc57ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080127fc17fff", + "0x480080137fc07ffd", + "0x400080147fbf7fd7", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fd77ffe7fff", + "0x40307ffc7ff77fd8", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080157fbe8001", + "0x480080167fbd7ffe", + "0x400080177fbc7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fc3", + "0x48507fc17ffc8000", + "0x48507fc07ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080187fb88001", + "0x480080197fb77fff", + "0x4000801a7fb67ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4800801b7fb27fff", + "0x4800801c7fb17ffd", + "0x4000801d7fb07fc6", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fc67ffe7fff", + "0x40307ffc7ff77fc7", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4800801e7faf8001", + "0x4800801f7fae7ffe", + "0x400080207fad7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fb4", + "0x48507fb17ffc8000", + "0x48507fb07ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080217fa98001", + "0x480080227fa87fff", + "0x400080237fa77ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080247fa37fff", + "0x480080257fa27ffd", + "0x400080267fa17fb3", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fb37ffe7fff", + "0x40307ffc7ff77fb4", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080277fa08001", + "0x480080287f9f7ffe", + "0x400080297f9e7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fa4", + "0x48507fa37ffc8000", + "0x48507fa27ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4800802a7f9a8001", + "0x4800802b7f997fff", + "0x4000802c7f987ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4800802d7f947fff", + "0x4800802e7f937ffd", + "0x4000802f7f927fa6", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fa67ffe7fff", + "0x40307ffc7ff77fa7", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080307f918001", + "0x480080317f907ffe", + "0x400080327f8f7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f95", + "0x48507f937ffc8000", + "0x48507f927ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080337f8b8001", + "0x480080347f8a7fff", + "0x400080357f897ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080367f857fff", + "0x480080377f847ffd", + "0x400080387f837f93", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307f937ffe7fff", + "0x40307ffc7ff77f94", + "0x480680017fff8000", + "0xfffffffffffffffffffffffffffffffe", + "0x48307f8e80017fff", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080397f7f7fff", + "0x10780017fff7fff", + "0xd", + "0x400080397f807fff", + "0x40780017fff7fff", + "0x1", + "0x482480017f7f8000", + "0x3a", + "0x48127e657fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x9", + "0x482480017f7f8000", + "0x3a", + "0x482480017e658000", + "0xa", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0xbaaedce6af48a03bbfd25e8cd0364141", + "0x48307f8580017fff", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff87fff", + "0x10780017fff7fff", + "0xd", + "0x400080007ff97fff", + "0x40780017fff7fff", + "0x4", + "0x482480017ff58000", + "0x1", + "0x482480017ff58000", + "0x1ae", + "0x48127ff97fff8000", + "0x48127ff47fff8000", + "0x10780017fff7fff", + "0x12", + "0x480680017fff8000", + "0x1", + "0x48307fff80017ff9", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080017ff47fff", + "0x10780017fff7fff", + "0x14e", + "0x400080017ff57fff", + "0x482480017ff58000", + "0x2", + "0x48127ff57fff8000", + "0x48127ffa7fff8000", + "0x48127ffc7fff8000", + "0x20680017fff7ff4", + "0x13f", + "0x48127ffc7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x48127e5a7fff8000", + "0x48127e5a7fff8000", + "0x1104800180018000", + "0x28e", + "0x480680017fff8000", + "0xbaaedce6af48a03bbfd25e8cd0364141", + "0x480680017fff8000", + "0xfffffffffffffffffffffffffffffffe", + "0x480080007ff98000", + "0x480080017ff88000", + "0x480080027ff78000", + "0x480080037ff68000", + "0x480080047ff58000", + "0x480080057ff48000", + "0x48307fff80007ff9", + "0x40780017fff7fff", + "0xc", + "0x20680017fff7ff3", + "0x8", + "0x40307ff17ff47feb", + "0x402480017ff57ff4", + "0x1", + "0x400080067fe67ff5", + "0x10780017fff7fff", + "0x3", + "0x400080067fe67ff3", + "0x48307ff17ff68000", + "0x48307fe680007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x40507fff7fff7fff", + "0x48307ff47fff8000", + "0x48307ff47fff8000", + "0x48307ff57fff8000", + "0x48307fec7fff8000", + "0x48307fe180007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x400080077fdd7fff", + "0x482480017fff8000", + "0xfffffffffffffffffffffffffffffffc", + "0x400080087fdc7fff", + "0x48307fef7ffe8000", + "0x48307ff07fff8000", + "0x48307ff07fff8000", + "0x48307ff17fff8000", + "0x48307fdb80007fff", + "0x4844800180007fff", + "0x100000000000000000000000000000000", + "0x400080097fd67fff", + "0x482480017fff8000", + "0xfffffffffffffffffffffffffffffffc", + "0x4000800a7fd57fff", + "0xa0680017fff7fdf", + "0xc", + "0xa0680017fff8001", + "0x6", + "0x48127fd97fff7ffe", + "0x40127fdb7fff7ffe", + "0x10780017fff7fff", + "0x10", + "0x48127fdc7fff7ffe", + "0x40127fd87fff7ffe", + "0x10780017fff7fff", + "0xc", + "0x480680017fff7fda", + "0x0", + "0xa0680017fff8000", + "0x6", + "0x40127fd77fff7ffd", + "0x40127fdc7fff7ffe", + "0x10780017fff7fff", + "0x4", + "0x40127fdc7fff7ffd", + "0x40127fd77fff7ffe", + "0x482480017ffd8000", + "0xffffffffffffffff0000000000000000", + "0x4000800b7fd17fff", + "0x48507ffd7ffc8000", + "0x48307fe97ff98000", + "0x48307fe67fff8000", + "0x40307ffd7fff7fd2", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4800800c7fcd8001", + "0x4800800d7fcc7ffe", + "0x4000800e7fcb7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fd3", + "0x48507fcf7ffc8000", + "0x48507fce7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4800800f7fc78001", + "0x480080107fc67fff", + "0x400080117fc57ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080127fc17fff", + "0x480080137fc07ffd", + "0x400080147fbf7fd7", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fd77ffe7fff", + "0x40307ffc7ff77fd8", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080157fbe8001", + "0x480080167fbd7ffe", + "0x400080177fbc7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fc3", + "0x48507fc17ffc8000", + "0x48507fc07ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080187fb88001", + "0x480080197fb77fff", + "0x4000801a7fb67ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4800801b7fb27fff", + "0x4800801c7fb17ffd", + "0x4000801d7fb07fc6", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fc67ffe7fff", + "0x40307ffc7ff77fc7", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x4800801e7faf8001", + "0x4800801f7fae7ffe", + "0x400080207fad7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fb4", + "0x48507fb17ffc8000", + "0x48507fb07ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080217fa98001", + "0x480080227fa87fff", + "0x400080237fa77ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080247fa37fff", + "0x480080257fa27ffd", + "0x400080267fa17fb3", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fb37ffe7fff", + "0x40307ffc7ff77fb4", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080277fa08001", + "0x480080287f9f7ffe", + "0x400080297f9e7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7fa4", + "0x48507fa37ffc8000", + "0x48507fa27ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4800802a7f9a8001", + "0x4800802b7f997fff", + "0x4000802c7f987ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4800802d7f947fff", + "0x4800802e7f937ffd", + "0x4000802f7f927fa6", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307fa67ffe7fff", + "0x40307ffc7ff77fa7", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080307f918001", + "0x480080317f907ffe", + "0x400080327f8f7ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7f95", + "0x48507f937ffc8000", + "0x48507f927ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080337f8b8001", + "0x480080347f8a7fff", + "0x400080357f897ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080367f857fff", + "0x480080377f847ffd", + "0x400080387f837f93", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307f937ffe7fff", + "0x40307ffc7ff77f94", + "0x48127f127fff8000", + "0x48127f127fff8000", + "0x482480017f818000", + "0x39", + "0x480680017fff8000", + "0x536563703235366b314d756c", + "0x400080007d687fff", + "0x400080017d687f0d", + "0x400080027d687d66", + "0x400080037d687ffc", + "0x400080047d687ffd", + "0x480080067d688000", + "0x20680017fff7fff", + "0x3b", + "0x480080057d678000", + "0x480080077d668000", + "0x480680017fff8000", + "0x536563703235366b314d756c", + "0x400080087d647fff", + "0x400080097d647ffd", + "0x4000800a7d647d58", + "0x4000800b7d647f86", + "0x4000800c7d647f87", + "0x4800800e7d648000", + "0x20680017fff7fff", + "0x24", + "0x4800800d7d638000", + "0x4800800f7d628000", + "0x480680017fff8000", + "0x536563703235366b31416464", + "0x400080107d607fff", + "0x400080117d607ffd", + "0x400080127d607ffa", + "0x400080137d607ffe", + "0x480080157d608000", + "0x20680017fff7fff", + "0xe", + "0x480080147d5f8000", + "0x48127ff47fff8000", + "0x482480017ffe8000", + "0xa", + "0x482480017d5c8000", + "0x17", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480080167d598000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x48127ff47fff8000", + "0x480080147d5d8000", + "0x482480017d5c8000", + "0x18", + "0x480680017fff8000", + "0x1", + "0x480080167d5a8000", + "0x480080177d598000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x5", + "0x48127ff47fff8000", + "0x4800800d7d5d8000", + "0x482480017d5c8000", + "0x11", + "0x480680017fff8000", + "0x1", + "0x4800800f7d5a8000", + "0x480080107d598000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x9", + "0x48127ff47fff8000", + "0x480080057d5d8000", + "0x482480017d5c8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480080077d5a8000", + "0x480080087d598000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xf0", + "0x48127f0c7fff8000", + "0x482480017f0c8000", + "0x10b26", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0xf3", + "0x482480017f018000", + "0x2", + "0x482480017f018000", + "0x10c98", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff418", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x48127d5c7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x26b", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480280077ff48001", + "0x480280087ff47ffe", + "0x400280097ff47ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7d83", + "0x48507d877ffc8000", + "0x48507d867ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4802800a7ff48001", + "0x4802800b7ff47fff", + "0x4002800c7ff47ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4802800d7ff47fff", + "0x4802800e7ff47ffd", + "0x4002800f7ff47d76", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307d767ffe7fff", + "0x40307ffc7ff77d80", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480280107ff48001", + "0x480280117ff47ffe", + "0x400280127ff47ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40307ffc7fff7d74", + "0x48507d767ffc8000", + "0x48507d757ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480280137ff48001", + "0x480280147ff47fff", + "0x400280157ff47ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480280167ff47fff", + "0x480280177ff47ffd", + "0x400380187ff47ff9", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40287ff97ffe7fff", + "0x40307ffc7ff77d70", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffd76a", + "0x482680017ff48000", + "0x19", + "0x48127d5c7fff8000", + "0x48127d5c7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x299", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffd75d", + "0x480a7ff47fff8000", + "0x48127d5c7fff8000", + "0x48127d5c7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2a5", + "0x480a7ff47fff8000", + "0x480080067d538000", + "0x482480017d528000", + "0xa", + "0x480680017fff8000", + "0x1", + "0x480080087d508000", + "0x480080097d4f8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2ab", + "0x480a7ff47fff8000", + "0x482480017d528000", + "0x23df2", + "0x48127d527fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2af", + "0x480a7ff47fff8000", + "0x480280057ff68000", + "0x482680017ff68000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ff68000", + "0x480280087ff68000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0x480680017fff8000", + "0x536563703235366b314765745879", + "0x400280007ffc7fff", + "0x400380017ffc7ffa", + "0x400380027ffc7ffd", + "0x480280047ffc8000", + "0x20680017fff7fff", + "0xb5", + "0x480280057ffc8000", + "0x480280067ffc8000", + "0x480280077ffc8000", + "0x480280087ffc8000", + "0x4800800080007ffc", + "0x400080017fff7ffc", + "0x400080027fff7ffd", + "0x400080037fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480a7ff97fff8000", + "0x480280037ffc8000", + "0x480a7ffb7fff8000", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x4", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x402780017ffc8001", + "0x9", + "0x1104800180018000", + "0x440", + "0x40137ffa7fff8000", + "0x20680017fff7ffb", + "0x93", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff036", + "0x20680017fff7ffd", + "0x7e", + "0x480680017fff8000", + "0x4b656363616b", + "0x4002800080017fff", + "0x4002800180017ffb", + "0x4002800280017ffd", + "0x4002800380017ffe", + "0x4802800580018000", + "0x20680017fff7fff", + "0x6b", + "0x4802800480018000", + "0x4802800780018000", + "0x4002800080007fff", + "0x480680017fff8000", + "0xff00ff00ff00ff00ff00ff00ff00ff", + "0x4002800180007fff", + "0x4802800280008000", + "0x484480017fff8000", + "0xffff", + "0x48307fff7ffc8000", + "0x4002800580007fff", + "0x480680017fff8000", + "0xffff0000ffff0000ffff0000ffff00", + "0x4002800680007fff", + "0x4802800780008000", + "0x484480017fff8000", + "0xffffffff", + "0x48307fff7ffc8000", + "0x4002800a80007fff", + "0x480680017fff8000", + "0xffffffff00000000ffffffff000000", + "0x4002800b80007fff", + "0x4802800c80008000", + "0x484480017fff8000", + "0xffffffffffffffff", + "0x48307fff7ffc8000", + "0x4002800f80007fff", + "0x480680017fff8000", + "0xffffffffffffffff00000000000000", + "0x4002801080007fff", + "0x4802801180008000", + "0x484480017fff8000", + "0xffffffffffffffffffffffffffffffff", + "0x48307fff7ffc8000", + "0x4802800680018000", + "0x4002801480007fff", + "0x480680017fff8000", + "0xff00ff00ff00ff00ff00ff00ff00ff", + "0x4002801580007fff", + "0x4802801680008000", + "0x484480017fff8000", + "0xffff", + "0x48307fff7ffc8000", + "0x4002801980007fff", + "0x480680017fff8000", + "0xffff0000ffff0000ffff0000ffff00", + "0x4002801a80007fff", + "0x4802801b80008000", + "0x484480017fff8000", + "0xffffffff", + "0x48307fff7ffc8000", + "0x4002801e80007fff", + "0x480680017fff8000", + "0xffffffff00000000ffffffff000000", + "0x4002801f80007fff", + "0x4802802080008000", + "0x484480017fff8000", + "0xffffffffffffffff", + "0x48307fff7ffc8000", + "0x4002802380007fff", + "0x480680017fff8000", + "0xffffffffffffffff00000000000000", + "0x4002802480007fff", + "0x4802802580008000", + "0x484480017fff8000", + "0xffffffffffffffffffffffffffffffff", + "0x48307fff7ffc8000", + "0x484480017fff8000", + "0x800000000000010fffffffffffffff7ffffffffffffef000000000000000001", + "0x480680017fff8000", + "0x100000000", + "0x480080007fd48005", + "0x480080017fd38005", + "0x4824800180047ffe", + "0x1", + "0x48307ffd7ffe7ffc", + "0x480080027fd07ffd", + "0xa0680017fff7ffd", + "0x6", + "0x482480017ff97ffd", + "0xffffffffffffffff0000000000000000", + "0x10780017fff7fff", + "0x4", + "0x482480017fff7ffd", + "0xffffffffffffffff0000000000000000", + "0x400080037fcd7ffc", + "0x40507ffe7ff87ffd", + "0x40307fff7ffd7ff7", + "0x484480017fff8000", + "0x100000000000000000000000000000000", + "0x484480017fe48000", + "0x800000000000010fffffffffffffff7ffffffffffffef000000000000000001", + "0x482480017fcb8000", + "0x4", + "0x48127fd17fff8000", + "0x4826800180008000", + "0x28", + "0x4826800180018000", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48307ff97ff88000", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x4802800480018000", + "0x480a80007fff8000", + "0x4826800180018000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x4802800680018000", + "0x4802800780018000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480a80007fff8000", + "0x480a80017fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480280037ffc8000", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x7", + "0x480680017fff8000", + "0x1", + "0x480280057ffc8000", + "0x480280067ffc8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480280007ff98001", + "0x480280017ff97ffe", + "0x400280027ff97ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40317ffc7fff7ffa", + "0x48487ffc7ffc8000", + "0x48487ffc7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480280037ff98001", + "0x480280047ff97fff", + "0x400280057ff97ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480280067ff97fff", + "0x480280077ff97ffd", + "0x400280087ff97ff0", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307ff07ffe7fff", + "0x40307ffc7ff77fef", + "0x40780017fff7fff", + "0x2", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480280097ff98001", + "0x4802800a7ff97ffe", + "0x4002800b7ff97ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40317ffc7fff7ffa", + "0x48487ffd7ffc8000", + "0x48487ffd7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x4802800c7ff98001", + "0x4802800d7ff97fff", + "0x4002800e7ff97ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x4802800f7ff97fff", + "0x480280107ff97ffd", + "0x400280117ff97ff0", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307ff07ffe7fff", + "0x40307ffc7ff77fef", + "0x48307ff07fde8001", + "0xa0680017fff7fff", + "0x7", + "0x4824800180007fff", + "0x100000000000000000000000000000000", + "0x400280127ff97fff", + "0x10780017fff7fff", + "0xc", + "0x400280127ff97fff", + "0x40780017fff7fff", + "0x1", + "0x482680017ff98000", + "0x13", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x7", + "0x482680017ff98000", + "0x13", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x1", + "0x40780017fff7fff", + "0x2", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080007ffa8001", + "0x480080017ff97ffe", + "0x400080027ff87ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40317ffc7fff7ffb", + "0x48487ffc7ffc8000", + "0x48487ffc7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080037ff48001", + "0x480080047ff37fff", + "0x400080057ff27ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080067fee7fff", + "0x480080077fed7ffd", + "0x400080087fec7ff0", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307ff07ffe7fff", + "0x40307ffc7ff77fef", + "0x48307ff07fed8001", + "0xa0680017fff7fff", + "0x7", + "0x4824800180007fff", + "0x100000000000000000000000000000000", + "0x400080097fe97fff", + "0x10780017fff7fff", + "0xc", + "0x400080097fea7fff", + "0x40780017fff7fff", + "0x1", + "0x482480017fe98000", + "0xa", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x7", + "0x482480017fe98000", + "0xa", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x1", + "0x48307fe97fd28001", + "0xa0680017fff7fff", + "0x7", + "0x4824800180007fff", + "0x100000000000000000000000000000000", + "0x400080007ffa7fff", + "0x10780017fff7fff", + "0xc", + "0x400080007ffb7fff", + "0x40780017fff7fff", + "0x1", + "0x482480017ffa8000", + "0x1", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x7", + "0x482480017ffa8000", + "0x1", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x1", + "0x40780017fff7fff", + "0x2", + "0x4824800180008002", + "0xffffffffffffffff0000000000000000", + "0x480080007ffa8001", + "0x480080017ff97ffe", + "0x400080027ff87ffe", + "0x484480017ffe8000", + "0x10000000000000000", + "0x40317ffc7fff7ffb", + "0x48487ffd7ffc8000", + "0x48487ffd7ffc8000", + "0x4824800180018002", + "0xffffffffffffffff0000000000000000", + "0x480080037ff48001", + "0x480080047ff37fff", + "0x400080057ff27ffd", + "0x484480017ffd8000", + "0x10000000000000000", + "0x40307ffd7fff7ffb", + "0x484480017ffd8000", + "0x10000000000000000", + "0x48307fff7ff98003", + "0x482480017fff8000", + "0xfffffffffffffffe0000000000000000", + "0x480080067fee7fff", + "0x480080077fed7ffd", + "0x400080087fec7ff0", + "0x404480017ffc7ffe", + "0x100000000000000000000000000000000", + "0x40307ff07ffe7fff", + "0x40307ffc7ff77fef", + "0x48307ff07fed8001", + "0xa0680017fff7fff", + "0x7", + "0x4824800180007fff", + "0x100000000000000000000000000000000", + "0x400080097fe97fff", + "0x10780017fff7fff", + "0xc", + "0x400080097fea7fff", + "0x40780017fff7fff", + "0x1", + "0x482480017fe98000", + "0xa", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x7", + "0x482480017fe98000", + "0xa", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x1", + "0x48307fe27fcb8000", + "0x48307fff7ffd8001", + "0xa0680017fff7fff", + "0x7", + "0x4824800180007fff", + "0x100000000000000000000000000000000", + "0x400080007ff97fff", + "0x10780017fff7fff", + "0xc", + "0x400080007ffa7fff", + "0x40780017fff7fff", + "0x1", + "0x482480017ff98000", + "0x1", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x7", + "0x482480017ff98000", + "0x1", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x1", + "0x48307ff87fe18000", + "0x48307ffe7fff8000", + "0x48307fff7fe08001", + "0xa0680017fff7fff", + "0x7", + "0x4824800180007fff", + "0x100000000000000000000000000000000", + "0x400080007ff87fff", + "0x10780017fff7fff", + "0xc", + "0x400080007ff97fff", + "0x40780017fff7fff", + "0x1", + "0x482480017ff88000", + "0x1", + "0x48127f987fff8000", + "0x48127fd37fff8000", + "0x48127ff67fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x482480017ff88000", + "0x1", + "0x48127f987fff8000", + "0x48127fd37fff8000", + "0x48127ff67fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x10", + "0x48317fff80017ffd", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280007ffc7fff", + "0x10780017fff7fff", + "0x80", + "0x400280007ffc7fff", + "0x40780017fff7fff", + "0x1", + "0xa0680017fff8000", + "0x7", + "0x4824800180007ffd", + "0x10", + "0x400280017ffc7fff", + "0x10780017fff7fff", + "0x72", + "0x482480017ffd8000", + "0xfffffffffffffffffffffffffffffff0", + "0x400280017ffc7fff", + "0x40780017fff7fff", + "0x5", + "0x4824800180007ff7", + "0x400000000000008800000000000000000000000000000000000000000000010", + "0x484480017fff8000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffff", + "0x482680017ffc8000", + "0x2", + "0x1137ffe7fff7fff", + "0x10780017fff7fff", + "0x5a", + "0x10780017fff7fff", + "0x54", + "0x10780017fff7fff", + "0x4e", + "0x10780017fff7fff", + "0x48", + "0x10780017fff7fff", + "0x42", + "0x10780017fff7fff", + "0x3c", + "0x10780017fff7fff", + "0x36", + "0x10780017fff7fff", + "0x30", + "0x10780017fff7fff", + "0x2a", + "0x10780017fff7fff", + "0x24", + "0x10780017fff7fff", + "0x1e", + "0x10780017fff7fff", + "0x18", + "0x10780017fff7fff", + "0x12", + "0x10780017fff7fff", + "0xc", + "0x10780017fff7fff", + "0x6", + "0x480680017fff8000", + "0x1", + "0x10780017fff7fff", + "0x3c", + "0x480680017fff8000", + "0x100", + "0x10780017fff7fff", + "0x38", + "0x480680017fff8000", + "0x10000", + "0x10780017fff7fff", + "0x34", + "0x480680017fff8000", + "0x1000000", + "0x10780017fff7fff", + "0x30", + "0x480680017fff8000", + "0x100000000", + "0x10780017fff7fff", + "0x2c", + "0x480680017fff8000", + "0x10000000000", + "0x10780017fff7fff", + "0x28", + "0x480680017fff8000", + "0x1000000000000", + "0x10780017fff7fff", + "0x24", + "0x480680017fff8000", + "0x100000000000000", + "0x10780017fff7fff", + "0x20", + "0x480680017fff8000", + "0x10000000000000000", + "0x10780017fff7fff", + "0x1c", + "0x480680017fff8000", + "0x1000000000000000000", + "0x10780017fff7fff", + "0x18", + "0x480680017fff8000", + "0x100000000000000000000", + "0x10780017fff7fff", + "0x14", + "0x480680017fff8000", + "0x10000000000000000000000", + "0x10780017fff7fff", + "0x10", + "0x480680017fff8000", + "0x1000000000000000000000000", + "0x10780017fff7fff", + "0xc", + "0x480680017fff8000", + "0x100000000000000000000000000", + "0x10780017fff7fff", + "0x8", + "0x480680017fff8000", + "0x10000000000000000000000000000", + "0x10780017fff7fff", + "0x4", + "0x480680017fff8000", + "0x1000000000000000000000000000000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x484480017ffc8000", + "0x100000000000000000000000000000000", + "0x208b7fff7fff7ffe", + "0x482680017ffc8000", + "0x2", + "0x10780017fff7fff", + "0x7a", + "0xa0680017fff8000", + "0x7", + "0x4825800180007ffd", + "0x10", + "0x400280017ffc7fff", + "0x10780017fff7fff", + "0x71", + "0x482680017ffd8000", + "0xfffffffffffffffffffffffffffffff0", + "0x400280017ffc7fff", + "0x40780017fff7fff", + "0x5", + "0x4825800180007ffd", + "0x400000000000008800000000000000000000000000000000000000000000010", + "0x484480017fff8000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffff", + "0x482680017ffc8000", + "0x2", + "0x1137ffe7fff7fff", + "0x10780017fff7fff", + "0x5a", + "0x10780017fff7fff", + "0x54", + "0x10780017fff7fff", + "0x4e", + "0x10780017fff7fff", + "0x48", + "0x10780017fff7fff", + "0x42", + "0x10780017fff7fff", + "0x3c", + "0x10780017fff7fff", + "0x36", + "0x10780017fff7fff", + "0x30", + "0x10780017fff7fff", + "0x2a", + "0x10780017fff7fff", + "0x24", + "0x10780017fff7fff", + "0x1e", + "0x10780017fff7fff", + "0x18", + "0x10780017fff7fff", + "0x12", + "0x10780017fff7fff", + "0xc", + "0x10780017fff7fff", + "0x6", + "0x480680017fff8000", + "0x1", + "0x10780017fff7fff", + "0x3c", + "0x480680017fff8000", + "0x100", + "0x10780017fff7fff", + "0x38", + "0x480680017fff8000", + "0x10000", + "0x10780017fff7fff", + "0x34", + "0x480680017fff8000", + "0x1000000", + "0x10780017fff7fff", + "0x30", + "0x480680017fff8000", + "0x100000000", + "0x10780017fff7fff", + "0x2c", + "0x480680017fff8000", + "0x10000000000", + "0x10780017fff7fff", + "0x28", + "0x480680017fff8000", + "0x1000000000000", + "0x10780017fff7fff", + "0x24", + "0x480680017fff8000", + "0x100000000000000", + "0x10780017fff7fff", + "0x20", + "0x480680017fff8000", + "0x10000000000000000", + "0x10780017fff7fff", + "0x1c", + "0x480680017fff8000", + "0x1000000000000000000", + "0x10780017fff7fff", + "0x18", + "0x480680017fff8000", + "0x100000000000000000000", + "0x10780017fff7fff", + "0x14", + "0x480680017fff8000", + "0x10000000000000000000000", + "0x10780017fff7fff", + "0x10", + "0x480680017fff8000", + "0x1000000000000000000000000", + "0x10780017fff7fff", + "0xc", + "0x480680017fff8000", + "0x100000000000000000000000000", + "0x10780017fff7fff", + "0x8", + "0x480680017fff8000", + "0x10000000000000000000000000000", + "0x10780017fff7fff", + "0x4", + "0x480680017fff8000", + "0x1000000000000000000000000000000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x482680017ffc8000", + "0x2", + "0x1104800180018000", + "0x232", + "0x48127ff77fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x4825800180007ffd", + "0x1f", + "0x400280007ffc7fff", + "0x10780017fff7fff", + "0x13b", + "0x482680017ffd8000", + "0xffffffffffffffffffffffffffffffe1", + "0x400280007ffc7fff", + "0x4825800180007ffd", + "0x40000000000000880000000000000000000000000000000000000000000001f", + "0x484480017fff8000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffff", + "0x482680017ffc8000", + "0x1", + "0x1137ffe7fff7fff", + "0x10780017fff7fff", + "0x127", + "0x10780017fff7fff", + "0x11d", + "0x10780017fff7fff", + "0x113", + "0x10780017fff7fff", + "0x109", + "0x10780017fff7fff", + "0xff", + "0x10780017fff7fff", + "0xf5", + "0x10780017fff7fff", + "0xeb", + "0x10780017fff7fff", + "0xe1", + "0x10780017fff7fff", + "0xd7", + "0x10780017fff7fff", + "0xcd", + "0x10780017fff7fff", + "0xc3", + "0x10780017fff7fff", + "0xb9", + "0x10780017fff7fff", + "0xaf", + "0x10780017fff7fff", + "0xa5", + "0x10780017fff7fff", + "0x9b", + "0x10780017fff7fff", + "0x91", + "0x10780017fff7fff", + "0x87", + "0x10780017fff7fff", + "0x7d", + "0x10780017fff7fff", + "0x73", + "0x10780017fff7fff", + "0x69", + "0x10780017fff7fff", + "0x5f", + "0x10780017fff7fff", + "0x55", + "0x10780017fff7fff", + "0x4b", + "0x10780017fff7fff", + "0x41", + "0x10780017fff7fff", + "0x37", + "0x10780017fff7fff", + "0x2d", + "0x10780017fff7fff", + "0x23", + "0x10780017fff7fff", + "0x19", + "0x10780017fff7fff", + "0xf", + "0x10780017fff7fff", + "0x5", + "0x48127fff7fff8000", + "0x10780017fff7fff", + "0xf6", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x100", + "0x480680017fff8000", + "0x1000000000000000000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x10000", + "0x480680017fff8000", + "0x10000000000000000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x1000000", + "0x480680017fff8000", + "0x100000000000000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x100000000", + "0x480680017fff8000", + "0x1000000000000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x10000000000", + "0x480680017fff8000", + "0x10000000000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x1000000000000", + "0x480680017fff8000", + "0x100000000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x100000000000000", + "0x480680017fff8000", + "0x1000000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x10000000000000000", + "0x480680017fff8000", + "0x10000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x1000000000000000000", + "0x480680017fff8000", + "0x100000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x100000000000000000000", + "0x480680017fff8000", + "0x1000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x10000000000000000000000", + "0x480680017fff8000", + "0x10000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x1000000000000000000000000", + "0x480680017fff8000", + "0x100000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x100000000000000000000000000", + "0x480680017fff8000", + "0x1000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x10000000000000000000000000000", + "0x480680017fff8000", + "0x10000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x5", + "0x480680017fff8000", + "0x1000000000000000000000000000000", + "0x480680017fff8000", + "0x100", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x100", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x10000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x100000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x10000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x100000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x10000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1000000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x100000000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x10000000000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1000000000000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x100000000000000000000000000", + "0x208b7fff7fff7ffe", + "0x48127fff7fff8000", + "0x480680017fff8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x10000000000000000000000000000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x3", + "0x482680017ffc8000", + "0x1", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x62616420617070656e64206c656e", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffe984", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff98000", + "0xfffffffffffffffffffffffffffff97a", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0x21", + "0x4825800180007ff9", + "0x686", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48297ffa80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xf", + "0x480280007ffa8000", + "0x400280007ffd7fff", + "0x48127ffd7fff8000", + "0x48127ffb7fff8000", + "0x482680017ffa8000", + "0x1", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe6", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x482480017ffc8000", + "0x8de", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffd2d7", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0xcb", + "0x482480017fff8000", + "0xca", + "0x480080007fff8000", + "0x480080017fff8000", + "0x484480017fff8000", + "0x8", + "0x482480017fff8000", + "0x26a2", + "0xa0680017fff8000", + "0x8", + "0x48317ffe80007ff8", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280007ff77fff", + "0x10780017fff7fff", + "0x8b", + "0x48317ffe80007ff8", + "0x400280007ff77fff", + "0x482680017ff78000", + "0x1", + "0x48297ffa80007ffb", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6e", + "0x480280017ffa8000", + "0x400280007ff97fff", + "0x480680017fff8000", + "0xff00ff00ff00ff00ff00ff00ff00ff", + "0x400280017ff97fff", + "0x480280027ff98000", + "0x484480017fff8000", + "0xffff", + "0x48307fff7ffc8000", + "0x400280057ff97fff", + "0x480680017fff8000", + "0xffff0000ffff0000ffff0000ffff00", + "0x400280067ff97fff", + "0x480280077ff98000", + "0x484480017fff8000", + "0xffffffff", + "0x48307fff7ffc8000", + "0x4002800a7ff97fff", + "0x480680017fff8000", + "0xffffffff00000000ffffffff000000", + "0x4002800b7ff97fff", + "0x4802800c7ff98000", + "0x484480017fff8000", + "0xffffffffffffffff", + "0x48307fff7ffc8000", + "0x4002800f7ff97fff", + "0x480680017fff8000", + "0xffffffffffffffff00000000000000", + "0x400280107ff97fff", + "0x480280117ff98000", + "0x484480017fff8000", + "0xffffffffffffffffffffffffffffffff", + "0x48307fff7ffc8000", + "0x484480017fff8000", + "0x800000000000010fffffffffffffff7ffffffffffffef000000000000000001", + "0x480680017fff8000", + "0x10000000000000000", + "0x480080007feb8004", + "0x4824800180037fff", + "0x1", + "0x48307ffe7fff7ffd", + "0x480080017fe87ffe", + "0x480080027fe77fff", + "0x40507ffe7ffa7ffd", + "0x40307fff7ffd7ff9", + "0x400280007ffd7fff", + "0x400280017ffd7ffe", + "0x480280007ffa8000", + "0x400280147ff97fff", + "0x480680017fff8000", + "0xff00ff00ff00ff00ff00ff00ff00ff", + "0x400280157ff97fff", + "0x480280167ff98000", + "0x484480017fff8000", + "0xffff", + "0x48307fff7ffc8000", + "0x400280197ff97fff", + "0x480680017fff8000", + "0xffff0000ffff0000ffff0000ffff00", + "0x4002801a7ff97fff", + "0x4802801b7ff98000", + "0x484480017fff8000", + "0xffffffff", + "0x48307fff7ffc8000", + "0x4002801e7ff97fff", + "0x480680017fff8000", + "0xffffffff00000000ffffffff000000", + "0x4002801f7ff97fff", + "0x480280207ff98000", + "0x484480017fff8000", + "0xffffffffffffffff", + "0x48307fff7ffc8000", + "0x400280237ff97fff", + "0x480680017fff8000", + "0xffffffffffffffff00000000000000", + "0x400280247ff97fff", + "0x480280257ff98000", + "0x484480017fff8000", + "0xffffffffffffffffffffffffffffffff", + "0x48307fff7ffc8000", + "0x484480017fff8000", + "0x800000000000010fffffffffffffff7ffffffffffffef000000000000000001", + "0x480680017fff8000", + "0x10000000000000000", + "0x480080037fd38004", + "0x4824800180037fff", + "0x1", + "0x48307ffe7fff7ffd", + "0x480080047fd07ffe", + "0x480080057fcf7fff", + "0x40507ffe7ffa7ffd", + "0x40307fff7ffd7ff9", + "0x400280027ffd7fff", + "0x400280037ffd7ffe", + "0x482480017fce8000", + "0x6", + "0x48127fcc7fff8000", + "0x482680017ff98000", + "0x28", + "0x482680017ffa8000", + "0x2", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x4", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff7d", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x44", + "0x482480017fff8000", + "0x43", + "0x480080007fff8000", + "0x480080017fff8000", + "0x484480017fff8000", + "0x8", + "0x482480017fff8000", + "0x26a2", + "0x48127ff77fff8000", + "0x48307ffe7ff58000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffd232", + "0x482680017ff78000", + "0x1", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x6e5f627974657320746f6f20626967", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffe8a5", + "0x208b7fff7fff7ffe", + "0x208b7fff7fff7ffe", + "0x6a09e667", + "0xbb67ae85", + "0x3c6ef372", + "0xa54ff53a", + "0x510e527f", + "0x9b05688c", + "0x1f83d9ab", + "0x5be0cd19", + "0x208b7fff7fff7ffe", + "0xc", + "0x10", + "0x14", + "0x1c", + "0x10", + "0x18", + "0x0", + "0x4", + "0xc", + "0x0", + "0x8", + "0x10", + "0x18", + "0x14", + "0x0", + "0x18", + "0x1c", + "0x20" + ], + "bytecode_segment_lengths": [ + 194, + 160, + 216, + 224, + 421, + 176, + 103, + 196, + 221, + 246, + 215, + 150, + 338, + 216, + 209, + 147, + 165, + 96, + 251, + 146, + 90, + 90, + 98, + 90, + 90, + 132, + 142, + 75, + 110, + 110, + 209, + 161, + 224, + 275, + 96, + 119, + 127, + 111, + 108, + 214, + 97, + 76, + 76, + 87, + 87, + 94, + 123, + 140, + 115, + 190, + 187, + 142, + 5, + 5, + 5, + 5, + 5, + 76, + 5, + 48, + 48, + 5, + 5, + 5, + 128, + 117, + 99, + 5, + 711, + 369, + 76, + 190, + 170, + 176, + 76, + 341, + 408, + 336, + 5, + 255, + 5, + 40, + 41, + 195, + 302, + 299, + 295, + 419, + 33, + 340, + 126, + 5, + 7, + 5, + 5, + 150, + 183, + 97, + 124, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 79, + 234, + 5, + 5, + 5, + 5, + 212, + 79, + 5, + 5, + 266, + 5, + 1235, + 5, + 5, + 5, + 30, + 336, + 31, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 5, + 76, + 239, + 5, + 5, + 1152, + 199, + 271, + 264, + 331, + 5, + 48, + 170, + 5, + 9, + 19 + ], + "hints": [ + [ + 0, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 21, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 25, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 35, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 74, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x4042" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 97, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 109, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -5 + }, + "b": { + "Immediate": "0x7" + } + } + } + } + } + ] + ], + [ + 113, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 194, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 226, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x3cbe" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 240, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 244, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 254, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 275, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 290, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -5 + }, + "b": { + "Immediate": "0x7" + } + } + } + } + } + ] + ], + [ + 294, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 356, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 377, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": 1 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 381, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 391, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "FP", + "offset": 1 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 415, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 451, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x22d8" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -12 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 473, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 572, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 593, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": 1 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 597, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 607, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "FP", + "offset": 1 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 622, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 658, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x2e0e" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -12 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 682, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 685, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 796, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x13a6" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 817, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": 3 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 821, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 831, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "FP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 855, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 882, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": 7 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 886, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 896, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "FP", + "offset": 7 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 920, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 956, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x7454" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -12 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 978, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 992, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -5 + }, + "b": { + "Immediate": "0xa" + } + } + } + } + } + ] + ], + [ + 995, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1021, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1215, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1236, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 1240, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1250, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1301, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0xafc8" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1325, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1391, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1423, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0xdd4" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1450, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 1454, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1494, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1515, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 1519, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1529, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1548, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 1552, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1562, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1592, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x7c10" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -27 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1614, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1692, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1713, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": 1 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 1717, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 1727, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "FP", + "offset": 1 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1751, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1787, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x23a0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -12 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1809, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 1812, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1913, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x848" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1934, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": 2 + }, + "b": { + "Immediate": "0x0" + } + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1938, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "scalar": { + "Immediate": "0x8000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": 0 + }, + "y": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 1963, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 1986, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2022, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x74e" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -12 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2049, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2157, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2178, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 2182, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 2192, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2211, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 2215, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 2225, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2255, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x1c5c" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -27 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2274, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 2284, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2372, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2393, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -3 + }, + "b": { + "Immediate": "0x0" + } + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2397, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "scalar": { + "Immediate": "0x8000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": 0 + }, + "y": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 2437, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x111c" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -14 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2456, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 2460, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2524, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x7710" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2545, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": 1 + }, + "b": { + "Immediate": "0x0" + } + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2549, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "scalar": { + "Immediate": "0x8000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": 0 + }, + "y": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 2578, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": 2 + }, + "b": { + "Immediate": "0x0" + } + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2582, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "scalar": { + "Immediate": "0x8000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": 0 + }, + "y": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 2611, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 2615, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 2625, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "FP", + "offset": 0 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2691, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x88a4" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -39 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2734, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2862, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2883, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": 1 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 2887, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 2897, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "FP", + "offset": 1 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2921, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2957, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x22d8" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -12 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2979, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 3076, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3097, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 3101, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 3111, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3177, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x50b4" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -33 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3285, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3306, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 3310, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 3320, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3350, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x11c6" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -17 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3369, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 3373, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3434, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3460, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3496, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x1cf2" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -12 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3517, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 3521, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3597, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3630, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x41a" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3642, + [ + { + "AllocFelt252Dict": { + "segment_arena_ptr": { + "Deref": { + "register": "FP", + "offset": -7 + } + } + } + } + ] + ], + [ + 3661, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3695, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x78" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3716, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": 1 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 3720, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 3730, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "FP", + "offset": 1 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3754, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3810, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x2774" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3836, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 3840, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3944, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3965, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3967, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 4010, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -13 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4030, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4090, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4122, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x7ad0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4142, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4180, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4212, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x4362" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4232, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4270, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4308, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -10 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4327, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4368, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4400, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0xe010" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4420, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4458, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4490, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x36682" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4510, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4548, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4598, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -15 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4615, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4680, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4697, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4733, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -12 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4755, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4822, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4854, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4897, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4938, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -11 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 4958, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5007, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5048, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -11 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5068, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5117, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5138, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 5142, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 5152, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5200, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x1ac2" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -25 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5223, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5241, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 5248, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5326, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5391, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -22 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5413, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5487, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5517, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5519, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 5551, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5553, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 5607, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -29 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5630, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5711, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5732, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 5736, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 5746, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5774, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5776, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 5808, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5810, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 5853, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x1f9a" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -33 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5865, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5888, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 5892, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 5986, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6022, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -9 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6041, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6082, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6129, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -14 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6149, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6201, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6242, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x1158" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -11 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6254, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6274, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 6278, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6328, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6372, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -13 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6392, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6439, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6472, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6496, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6549, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6570, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": 1 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 6574, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 6584, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "FP", + "offset": 1 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6608, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6644, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x10f36" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -12 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6668, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6761, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6802, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -11 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6814, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6858, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6890, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6902, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6934, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6966, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 6978, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7010, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7046, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -9 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7062, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7097, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7133, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -9 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7149, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7184, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7220, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -9 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7243, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7278, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7314, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -9 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7339, + [ + { + "RandomEcPoint": { + "x": { + "register": "AP", + "offset": 4 + }, + "y": { + "register": "AP", + "offset": 5 + } + } + }, + { + "AllocConstantSize": { + "size": { + "Immediate": "0x2" + }, + "dst": { + "register": "AP", + "offset": 6 + } + } + } + ] + ], + [ + 7356, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7401, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7457, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7482, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7541, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7590, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -14 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7602, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7656, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7685, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 7689, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 7699, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7738, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x16da" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -24 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7761, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 7765, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7846, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7875, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 7879, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 7889, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7928, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x1932" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -24 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 7951, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 8033, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8083, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x1220" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -15 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8109, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 8113, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8200, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x74e" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -8 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8281, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x686" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8329, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x686" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8392, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8408, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 8417, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -5 + }, + "b": { + "Immediate": "0x8" + } + } + } + } + } + ] + ], + [ + 8430, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -5 + }, + "b": { + "Immediate": "0xd" + } + } + } + } + } + ] + ], + [ + 8447, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -5 + }, + "b": { + "Immediate": "0x14" + } + } + } + } + } + ] + ], + [ + 8467, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8520, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8532, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 8535, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8555, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -5 + }, + "b": { + "Immediate": "0xa" + } + } + } + } + } + ] + ], + [ + 8560, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8585, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -5 + }, + "b": { + "Immediate": "0x14" + } + } + } + } + } + ] + ], + [ + 8637, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x3480" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -10 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8662, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -9 + } + } + } + } + ] + ], + [ + 8670, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -8 + }, + "b": { + "Deref": { + "register": "AP", + "offset": -3 + } + } + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8761, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 8765, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 8775, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "FP", + "offset": 2 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8794, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8796, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "FP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 8861, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8886, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8888, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 8928, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -3 + }, + "b": { + "Immediate": "0x0" + } + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8932, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "scalar": { + "Immediate": "0x8000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": 0 + }, + "y": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 8961, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -3 + }, + "b": { + "Immediate": "0x0" + } + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8965, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "scalar": { + "Immediate": "0x8000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": 0 + }, + "y": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 9458, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -26 + } + } + } + } + ] + ], + [ + 9821, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 9845, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -8 + } + } + } + } + ] + ], + [ + 9848, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 9864, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -8 + }, + "b": { + "Immediate": "0xa" + } + } + } + } + } + ] + ], + [ + 9905, + [ + { + "GetSegmentArenaIndex": { + "dict_end_ptr": { + "Deref": { + "register": "FP", + "offset": -3 + } + }, + "dict_index": { + "register": "FP", + "offset": 0 + } + } + } + ] + ], + [ + 9946, + [ + { + "AllocSegment": { + "dst": { + "register": "FP", + "offset": 3 + } + } + } + ] + ], + [ + 9954, + [ + { + "InitSquashData": { + "dict_accesses": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "ptr_diff": { + "Deref": { + "register": "FP", + "offset": 0 + } + }, + "n_accesses": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "big_keys": { + "register": "FP", + "offset": 2 + }, + "first_key": { + "register": "FP", + "offset": 1 + } + } + } + ] + ], + [ + 9973, + [ + { + "GetCurrentAccessIndex": { + "range_check_ptr": { + "Deref": { + "register": "FP", + "offset": -9 + } + } + } + } + ] + ], + [ + 9986, + [ + { + "ShouldSkipSquashLoop": { + "should_skip_loop": { + "register": "AP", + "offset": -4 + } + } + } + ] + ], + [ + 9988, + [ + { + "GetCurrentAccessDelta": { + "index_delta_minus1": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 9999, + [ + { + "ShouldContinueSquashLoop": { + "should_continue": { + "register": "AP", + "offset": -4 + } + } + } + ] + ], + [ + 10013, + [ + { + "GetNextDictKey": { + "next_key": { + "register": "FP", + "offset": 0 + } + } + } + ] + ], + [ + 10032, + [ + { + "AssertLeFindSmallArcs": { + "range_check_ptr": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -4 + }, + "b": { + "Immediate": "0x1" + } + } + }, + "a": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "b": { + "Deref": { + "register": "FP", + "offset": 0 + } + } + } + } + ] + ], + [ + 10044, + [ + { + "AssertLeIsFirstArcExcluded": { + "skip_exclude_a_flag": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 10056, + [ + { + "AssertLeIsSecondArcExcluded": { + "skip_exclude_b_minus_a": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 10089, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x2706" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 10102, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 10122, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 10140, + [ + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "high": { + "register": "AP", + "offset": 0 + }, + "low": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 10142, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 10152, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 10163, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -13 + } + } + } + ] + ], + [ + 10177, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 10257, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 10265, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 10296, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -3 + } + } + } + } + ] + ], + [ + 10334, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 10348, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -9 + } + } + } + } + ] + ], + [ + 10433, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 10525, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -3 + } + } + } + } + ] + ], + [ + 10562, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -6 + } + } + } + } + ] + ], + [ + 10608, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -9 + } + } + } + } + ] + ], + [ + 10623, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -2 + } + } + } + } + ] + ], + [ + 10863, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -3 + } + } + } + } + ] + ], + [ + 10898, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -5 + } + } + } + } + ] + ], + [ + 10921, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -5 + } + } + } + } + ] + ], + [ + 10936, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -2 + } + } + } + } + ] + ], + [ + 11005, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 11035, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 11056, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 11076, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -29 + } + } + } + } + ] + ], + [ + 11274, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -3 + } + } + } + } + ] + ], + [ + 11312, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -6 + } + } + } + } + ] + ], + [ + 11359, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -9 + } + } + } + } + ] + ], + [ + 11374, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -2 + } + } + } + } + ] + ], + [ + 11456, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -12 + } + } + } + } + ] + ], + [ + 11599, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x350c" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 11613, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 11652, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -9 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 11656, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 11666, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -10 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 11684, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 11714, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -10 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 11718, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 11728, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -11 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 11746, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 11859, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x42e" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 11899, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x42e" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 11945, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, + "dst": { + "register": "AP", + "offset": 5 + } + } + } + ] + ], + [ + 11949, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 4 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 11960, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 11986, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -6 + } + } + } + } + ] + ], + [ + 12001, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -6 + }, + "b": { + "Immediate": "0x7" + } + } + } + } + } + ] + ], + [ + 12009, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, + "dst": { + "register": "AP", + "offset": 5 + } + } + } + ] + ], + [ + 12013, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 4 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 12024, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 12054, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -6 + }, + "b": { + "Immediate": "0xe" + } + } + } + } + } + ] + ], + [ + 12070, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -6 + }, + "b": { + "Immediate": "0x15" + } + } + } + } + } + ] + ], + [ + 12140, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, + "dst": { + "register": "AP", + "offset": 5 + } + } + } + ] + ], + [ + 12144, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 4 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 12155, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 12181, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -6 + } + } + } + } + ] + ], + [ + 12196, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -6 + }, + "b": { + "Immediate": "0x7" + } + } + } + } + } + ] + ], + [ + 12203, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -6 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 12205, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 12226, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 12228, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 12260, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, + "dst": { + "register": "AP", + "offset": 5 + } + } + } + ] + ], + [ + 12264, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 4 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 12275, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 12306, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -21 + } + } + } + } + ] + ], + [ + 12321, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -26 + }, + "b": { + "Immediate": "0x7" + } + } + } + } + } + ] + ], + [ + 12485, + [ + { + "RandomEcPoint": { + "x": { + "register": "AP", + "offset": 4 + }, + "y": { + "register": "AP", + "offset": 5 + } + } + }, + { + "AllocConstantSize": { + "size": { + "Immediate": "0x2" + }, + "dst": { + "register": "AP", + "offset": 6 + } + } + } + ] + ], + [ + 12556, + [ + { + "RandomEcPoint": { + "x": { + "register": "AP", + "offset": 4 + }, + "y": { + "register": "AP", + "offset": 5 + } + } + }, + { + "AllocConstantSize": { + "size": { + "Immediate": "0x2" + }, + "dst": { + "register": "AP", + "offset": 6 + } + } + } + ] + ], + [ + 12645, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -3 + } + } + } + } + ] + ], + [ + 12662, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -3 + }, + "b": { + "Immediate": "0x7" + } + } + } + } + } + ] + ], + [ + 12740, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -4 + } + } + } + } + ] + ], + [ + 12750, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, + "dst": { + "register": "AP", + "offset": 5 + } + } + } + ] + ], + [ + 12754, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 4 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 12765, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 12809, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -4 + }, + "b": { + "Immediate": "0x5" + } + } + } + } + } + ] + ], + [ + 12824, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -4 + }, + "b": { + "Immediate": "0xc" + } + } + } + } + } + ] + ], + [ + 12840, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 12856, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, + "dst": { + "register": "AP", + "offset": 5 + } + } + } + ] + ], + [ + 12860, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 4 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 12871, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 4 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 12900, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -25 + } + } + } + } + ] + ], + [ + 12916, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -31 + }, + "b": { + "Immediate": "0x7" + } + } + } + } + } + ] + ], + [ + 13142, + [ + { + "EvalCircuit": { + "n_add_mods": { + "Deref": { + "register": "AP", + "offset": -6 + } + }, + "add_mod_builtin": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "n_mul_mods": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "mul_mod_builtin": { + "Deref": { + "register": "FP", + "offset": -5 + } + } + } + } + ] + ], + [ + 13205, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 13350, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 13488, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -7 + } + } + } + } + ] + ], + [ + 13506, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -7 + }, + "b": { + "Immediate": "0x6" + } + } + } + } + } + ] + ], + [ + 13518, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -7 + }, + "b": { + "Immediate": "0xd" + } + } + } + } + } + ] + ], + [ + 13523, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 13628, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -16 + } + } + } + } + ] + ], + [ + 13643, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -22 + }, + "b": { + "Immediate": "0x6" + } + } + } + } + } + ] + ], + [ + 13665, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -5 + } + } + } + } + ] + ], + [ + 13869, + [ + { + "RandomEcPoint": { + "x": { + "register": "AP", + "offset": 4 + }, + "y": { + "register": "AP", + "offset": 5 + } + } + }, + { + "AllocConstantSize": { + "size": { + "Immediate": "0x2" + }, + "dst": { + "register": "AP", + "offset": 6 + } + } + } + ] + ], + [ + 13954, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 13980, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -3 + }, + "b": { + "Immediate": "0x0" + } + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 13984, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "scalar": { + "Immediate": "0x8000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": 0 + }, + "y": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 14006, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 14020, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 14030, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 14121, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x1180" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -8 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 14165, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -3 + }, + "b": { + "Immediate": "0x0" + } + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 14169, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "scalar": { + "Immediate": "0x8000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { + "register": "AP", + "offset": 0 + }, + "y": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 14198, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 14200, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 14304, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x9a6" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 14401, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0xd8e" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 14565, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0xffa" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 14585, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 14598, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 14647, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 14770, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 14778, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -6 + }, + "b": { + "Deref": { + "register": "AP", + "offset": -1 + } + } + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 14807, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 14836, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -1 + }, + "b": { + "Deref": { + "register": "AP", + "offset": -3 + } + } + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 14948, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 14957, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 14967, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -3 + }, + "b": { + "Deref": { + "register": "AP", + "offset": -9 + } + } + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 14988, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -2 + }, + "b": { + "Deref": { + "register": "AP", + "offset": -1 + } + } + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15002, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 15019, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15031, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15041, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -6 + }, + "b": { + "Deref": { + "register": "AP", + "offset": -3 + } + } + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15110, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x30fc" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15120, + [ + { + "TestLessThanOrEqualAddress": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -5 + }, + "b": { + "Immediate": "0x10" + } + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15140, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -6 + } + } + } + } + ] + ], + [ + 15225, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 15258, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 15316, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 15349, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 15489, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 15515, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 15562, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 15588, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 15628, + [ + { + "U256InvModN": { + "b0": { + "Deref": { + "register": "FP", + "offset": -5 + } + }, + "b1": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "n0": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "n1": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "g0_or_no_inv": { + "register": "AP", + "offset": 0 + }, + "g1_option": { + "register": "AP", + "offset": 1 + }, + "s_or_r0": { + "register": "AP", + "offset": 2 + }, + "s_or_r1": { + "register": "AP", + "offset": 3 + }, + "t_or_k0": { + "register": "AP", + "offset": 4 + }, + "t_or_k1": { + "register": "AP", + "offset": 5 + } + } + } + ] + ], + [ + 15646, + [ + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -22 + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -5 + } + }, + "high": { + "register": "AP", + "offset": -14 + }, + "low": { + "register": "AP", + "offset": -15 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -22 + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "high": { + "register": "AP", + "offset": -12 + }, + "low": { + "register": "AP", + "offset": -13 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -5 + } + }, + "high": { + "register": "AP", + "offset": -10 + }, + "low": { + "register": "AP", + "offset": -11 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "high": { + "register": "AP", + "offset": -8 + }, + "low": { + "register": "AP", + "offset": -9 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -26 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -20 + } + }, + "high": { + "register": "AP", + "offset": -6 + }, + "low": { + "register": "AP", + "offset": -7 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -26 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -19 + } + }, + "high": { + "register": "AP", + "offset": -4 + }, + "low": { + "register": "AP", + "offset": -5 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -25 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -20 + } + }, + "high": { + "register": "AP", + "offset": -2 + }, + "low": { + "register": "AP", + "offset": -3 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -25 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -19 + } + }, + "high": { + "register": "AP", + "offset": 0 + }, + "low": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 15699, + [ + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -5 + } + }, + "high": { + "register": "AP", + "offset": 0 + }, + "low": { + "register": "FP", + "offset": -5 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "high": { + "register": "AP", + "offset": 1 + }, + "low": { + "register": "AP", + "offset": -9 + } + } + } + ] + ], + [ + 15703, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -10 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": 2 + } + } + } + ] + ], + [ + 15717, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -11 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15730, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -47 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15740, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 15751, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -35 + } + } + } + ] + ], + [ + 15760, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -62 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15770, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 15781, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -52 + } + } + } + ] + ], + [ + 15790, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -78 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15800, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 15811, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -69 + } + } + } + ] + ], + [ + 15820, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -93 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15830, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 15841, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -86 + } + } + } + ] + ], + [ + 15850, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -103 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15860, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 15871, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -103 + } + } + } + ] + ], + [ + 15880, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -118 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15890, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 15901, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -120 + } + } + } + ] + ], + [ + 15910, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -134 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15920, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 15931, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -137 + } + } + } + ] + ], + [ + 15940, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -149 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 15950, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 15961, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -154 + } + } + } + ] + ], + [ + 15982, + [ + { + "Uint512DivModByUint256": { + "dividend0": { + "Deref": { + "register": "AP", + "offset": -6 + } + }, + "dividend1": { + "Deref": { + "register": "AP", + "offset": -5 + } + }, + "dividend2": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "dividend3": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "divisor0": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "divisor1": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient0": { + "register": "AP", + "offset": 0 + }, + "quotient1": { + "register": "AP", + "offset": 1 + }, + "quotient2": { + "register": "AP", + "offset": 2 + }, + "quotient3": { + "register": "AP", + "offset": 3 + }, + "remainder0": { + "register": "AP", + "offset": 4 + }, + "remainder1": { + "register": "AP", + "offset": 5 + } + } + } + ] + ], + [ + 16000, + [ + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -19 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "high": { + "register": "AP", + "offset": -9 + }, + "low": { + "register": "AP", + "offset": -10 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -18 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "high": { + "register": "AP", + "offset": -7 + }, + "low": { + "register": "AP", + "offset": -8 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -19 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -20 + } + }, + "high": { + "register": "AP", + "offset": -5 + }, + "low": { + "register": "AP", + "offset": -6 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -18 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -20 + } + }, + "high": { + "register": "AP", + "offset": -3 + }, + "low": { + "register": "AP", + "offset": -4 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -17 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "high": { + "register": "AP", + "offset": -1 + }, + "low": { + "register": "AP", + "offset": -2 + } + } + } + ] + ], + [ + 16029, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -35 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -38 + } + }, + "dst": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16041, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -35 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -40 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16056, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -41 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16066, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16077, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -38 + } + } + } + ] + ], + [ + 16086, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -57 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16096, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16107, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -55 + } + } + } + ] + ], + [ + 16116, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -72 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16126, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16137, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -74 + } + } + } + ] + ], + [ + 16146, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -88 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16156, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16167, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -87 + } + } + } + ] + ], + [ + 16176, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -103 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16186, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16197, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -106 + } + } + } + ] + ], + [ + 16218, + [ + { + "Uint512DivModByUint256": { + "dividend0": { + "Deref": { + "register": "AP", + "offset": -6 + } + }, + "dividend1": { + "Deref": { + "register": "AP", + "offset": -5 + } + }, + "dividend2": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "dividend3": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "divisor0": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "divisor1": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient0": { + "register": "AP", + "offset": 0 + }, + "quotient1": { + "register": "AP", + "offset": 1 + }, + "quotient2": { + "register": "AP", + "offset": 2 + }, + "quotient3": { + "register": "AP", + "offset": 3 + }, + "remainder0": { + "register": "AP", + "offset": 4 + }, + "remainder1": { + "register": "AP", + "offset": 5 + } + } + } + ] + ], + [ + 16236, + [ + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -19 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "high": { + "register": "AP", + "offset": -9 + }, + "low": { + "register": "AP", + "offset": -10 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -18 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "high": { + "register": "AP", + "offset": -7 + }, + "low": { + "register": "AP", + "offset": -8 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -19 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -20 + } + }, + "high": { + "register": "AP", + "offset": -5 + }, + "low": { + "register": "AP", + "offset": -6 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -18 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -20 + } + }, + "high": { + "register": "AP", + "offset": -3 + }, + "low": { + "register": "AP", + "offset": -4 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -17 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "high": { + "register": "AP", + "offset": -1 + }, + "low": { + "register": "AP", + "offset": -2 + } + } + } + ] + ], + [ + 16265, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -35 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -38 + } + }, + "dst": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16277, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -35 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -40 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16292, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -41 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16302, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16313, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -38 + } + } + } + ] + ], + [ + 16322, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -57 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16332, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16343, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -55 + } + } + } + ] + ], + [ + 16352, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -72 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16362, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16373, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -74 + } + } + } + ] + ], + [ + 16382, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -88 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16392, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16403, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -87 + } + } + } + ] + ], + [ + 16412, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -103 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16422, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16433, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -106 + } + } + } + ] + ], + [ + 16460, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -10 + } + } + } + } + ] + ], + [ + 16477, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -2 + } + } + } + } + ] + ], + [ + 16489, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -6 + }, + "b": { + "Immediate": "0x8" + } + } + } + } + } + ] + ], + [ + 16500, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -10 + }, + "b": { + "Immediate": "0x10" + } + } + } + } + } + ] + ], + [ + 16510, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -14 + }, + "b": { + "Immediate": "0x17" + } + } + } + } + } + ] + ], + [ + 16620, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -639 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16630, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16641, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -653 + } + } + } + ] + ], + [ + 16650, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -654 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16660, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 16671, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "FP", + "offset": -5 + } + } + } + ] + ], + [ + 16762, + [ + { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -5 + }, + "b": { + "Deref": { + "register": "FP", + "offset": -3 + } + } + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16777, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 16788, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 16809, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 16813, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x7000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 16823, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "scalar": { + "Immediate": "0x1000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16854, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 16856, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 16908, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -15 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "quotient": { + "register": "AP", + "offset": 5 + }, + "remainder": { + "register": "AP", + "offset": 6 + } + } + } + ] + ], + [ + 16914, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": -3 + } + } + } + ] + ], + [ + 16932, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -14 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient": { + "register": "AP", + "offset": 5 + }, + "remainder": { + "register": "AP", + "offset": 6 + } + } + } + ] + ], + [ + 16938, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": -3 + } + } + } + ] + ], + [ + 16957, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 16961, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x7000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 16971, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "scalar": { + "Immediate": "0x1000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17086, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17167, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x8c0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17194, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 17499, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -10 + } + } + } + } + ] + ], + [ + 17525, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -6 + } + } + } + } + ] + ], + [ + 17539, + [ + { + "U256InvModN": { + "b0": { + "Deref": { + "register": "FP", + "offset": -7 + } + }, + "b1": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "n0": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "n1": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "g0_or_no_inv": { + "register": "AP", + "offset": 0 + }, + "g1_option": { + "register": "AP", + "offset": 1 + }, + "s_or_r0": { + "register": "AP", + "offset": 2 + }, + "s_or_r1": { + "register": "AP", + "offset": 3 + }, + "t_or_k0": { + "register": "AP", + "offset": 4 + }, + "t_or_k1": { + "register": "AP", + "offset": 5 + } + } + } + ] + ], + [ + 17557, + [ + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -22 + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -7 + } + }, + "high": { + "register": "AP", + "offset": -14 + }, + "low": { + "register": "AP", + "offset": -15 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -22 + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "high": { + "register": "AP", + "offset": -12 + }, + "low": { + "register": "AP", + "offset": -13 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -7 + } + }, + "high": { + "register": "AP", + "offset": -10 + }, + "low": { + "register": "AP", + "offset": -11 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "high": { + "register": "AP", + "offset": -8 + }, + "low": { + "register": "AP", + "offset": -9 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -26 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -20 + } + }, + "high": { + "register": "AP", + "offset": -6 + }, + "low": { + "register": "AP", + "offset": -7 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -26 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -19 + } + }, + "high": { + "register": "AP", + "offset": -4 + }, + "low": { + "register": "AP", + "offset": -5 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -25 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -20 + } + }, + "high": { + "register": "AP", + "offset": -2 + }, + "low": { + "register": "AP", + "offset": -3 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -25 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -19 + } + }, + "high": { + "register": "AP", + "offset": 0 + }, + "low": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 17610, + [ + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -5 + } + }, + "high": { + "register": "AP", + "offset": 0 + }, + "low": { + "register": "FP", + "offset": -7 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "high": { + "register": "AP", + "offset": 1 + }, + "low": { + "register": "AP", + "offset": -9 + } + } + } + ] + ], + [ + 17614, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -10 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": 2 + } + } + } + ] + ], + [ + 17628, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -11 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17641, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -47 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17651, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 17662, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -35 + } + } + } + ] + ], + [ + 17671, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -62 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17681, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 17692, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -52 + } + } + } + ] + ], + [ + 17701, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -78 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17711, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 17722, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -69 + } + } + } + ] + ], + [ + 17731, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -93 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17741, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 17752, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -86 + } + } + } + ] + ], + [ + 17761, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -103 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17771, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 17782, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -103 + } + } + } + ] + ], + [ + 17791, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -118 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17801, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 17812, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -120 + } + } + } + ] + ], + [ + 17821, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -134 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17831, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 17842, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -137 + } + } + } + ] + ], + [ + 17851, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -149 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17861, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 17872, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -154 + } + } + } + ] + ], + [ + 17893, + [ + { + "Uint512DivModByUint256": { + "dividend0": { + "Deref": { + "register": "AP", + "offset": -6 + } + }, + "dividend1": { + "Deref": { + "register": "AP", + "offset": -5 + } + }, + "dividend2": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "dividend3": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "divisor0": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "divisor1": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient0": { + "register": "AP", + "offset": 0 + }, + "quotient1": { + "register": "AP", + "offset": 1 + }, + "quotient2": { + "register": "AP", + "offset": 2 + }, + "quotient3": { + "register": "AP", + "offset": 3 + }, + "remainder0": { + "register": "AP", + "offset": 4 + }, + "remainder1": { + "register": "AP", + "offset": 5 + } + } + } + ] + ], + [ + 17911, + [ + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -19 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "high": { + "register": "AP", + "offset": -9 + }, + "low": { + "register": "AP", + "offset": -10 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -18 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "high": { + "register": "AP", + "offset": -7 + }, + "low": { + "register": "AP", + "offset": -8 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -19 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -20 + } + }, + "high": { + "register": "AP", + "offset": -5 + }, + "low": { + "register": "AP", + "offset": -6 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -18 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -20 + } + }, + "high": { + "register": "AP", + "offset": -3 + }, + "low": { + "register": "AP", + "offset": -4 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -17 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "high": { + "register": "AP", + "offset": -1 + }, + "low": { + "register": "AP", + "offset": -2 + } + } + } + ] + ], + [ + 17940, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -35 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -38 + } + }, + "dst": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 17952, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -35 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -40 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17967, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -41 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 17977, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 17988, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -38 + } + } + } + ] + ], + [ + 17997, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -57 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18007, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18018, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -55 + } + } + } + ] + ], + [ + 18027, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -72 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18037, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18048, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -74 + } + } + } + ] + ], + [ + 18057, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -88 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18067, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18078, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -87 + } + } + } + ] + ], + [ + 18087, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -103 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18097, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18108, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -106 + } + } + } + ] + ], + [ + 18120, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 18148, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 18169, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 18195, + [ + { + "Uint512DivModByUint256": { + "dividend0": { + "Deref": { + "register": "AP", + "offset": -6 + } + }, + "dividend1": { + "Deref": { + "register": "AP", + "offset": -5 + } + }, + "dividend2": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "dividend3": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "divisor0": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "divisor1": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient0": { + "register": "AP", + "offset": 0 + }, + "quotient1": { + "register": "AP", + "offset": 1 + }, + "quotient2": { + "register": "AP", + "offset": 2 + }, + "quotient3": { + "register": "AP", + "offset": 3 + }, + "remainder0": { + "register": "AP", + "offset": 4 + }, + "remainder1": { + "register": "AP", + "offset": 5 + } + } + } + ] + ], + [ + 18213, + [ + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -19 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "high": { + "register": "AP", + "offset": -9 + }, + "low": { + "register": "AP", + "offset": -10 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -18 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "high": { + "register": "AP", + "offset": -7 + }, + "low": { + "register": "AP", + "offset": -8 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -19 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -20 + } + }, + "high": { + "register": "AP", + "offset": -5 + }, + "low": { + "register": "AP", + "offset": -6 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -18 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -20 + } + }, + "high": { + "register": "AP", + "offset": -3 + }, + "low": { + "register": "AP", + "offset": -4 + } + } + }, + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -17 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -21 + } + }, + "high": { + "register": "AP", + "offset": -1 + }, + "low": { + "register": "AP", + "offset": -2 + } + } + } + ] + ], + [ + 18242, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -35 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -38 + } + }, + "dst": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18254, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -35 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -40 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18269, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -41 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18279, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18290, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -38 + } + } + } + ] + ], + [ + 18299, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -57 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18309, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18320, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -55 + } + } + } + ] + ], + [ + 18329, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -72 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18339, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18350, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -74 + } + } + } + ] + ], + [ + 18359, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -88 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18369, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18380, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -87 + } + } + } + ] + ], + [ + 18389, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -103 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18399, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18410, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -106 + } + } + } + ] + ], + [ + 18430, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -664 + } + } + } + } + ] + ], + [ + 18442, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -668 + }, + "b": { + "Immediate": "0x8" + } + } + } + } + } + ] + ], + [ + 18453, + [ + { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -672 + }, + "b": { + "Immediate": "0x10" + } + } + } + } + } + ] + ], + [ + 18526, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -633 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18536, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18547, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -647 + } + } + } + ] + ], + [ + 18556, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -648 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18566, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18577, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "FP", + "offset": -7 + } + } + } + ] + ], + [ + 18651, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -4 + } + } + } + } + ] + ], + [ + 18658, + [ + { + "AllocConstantSize": { + "size": { + "Immediate": "0x4" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18662, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18697, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": 1 + } + } + } + } + ] + ], + [ + 18771, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient": { + "register": "AP", + "offset": 5 + }, + "remainder": { + "register": "AP", + "offset": 6 + } + } + } + ] + ], + [ + 18777, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": -3 + } + } + } + ] + ], + [ + 18843, + [ + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "high": { + "register": "AP", + "offset": 0 + }, + "low": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18845, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18855, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18866, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -13 + } + } + } + ] + ], + [ + 18875, + [ + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -3 + } + }, + "high": { + "register": "AP", + "offset": 0 + }, + "low": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18877, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18887, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18898, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -13 + } + } + } + ] + ], + [ + 18908, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 18930, + [ + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -5 + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "high": { + "register": "AP", + "offset": 0 + }, + "low": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18932, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -5 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 18942, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 18953, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -13 + } + } + } + ] + ], + [ + 18963, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 18986, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 19008, + [ + { + "WideMul128": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -5 + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -3 + } + }, + "high": { + "register": "AP", + "offset": 0 + }, + "low": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 19010, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -5 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 1 + }, + "remainder": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 19020, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "quotient": { + "register": "AP", + "offset": 0 + }, + "remainder": { + "register": "AP", + "offset": 1 + } + } + } + ] + ], + [ + 19031, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { + "register": "AP", + "offset": -1 + }, + "remainder": { + "register": "AP", + "offset": -13 + } + } + } + ] + ], + [ + 19041, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 19065, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 19090, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 19117, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 19127, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Immediate": "0x10" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 19250, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x10" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 19378, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x1f" + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 19714, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x686" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 19772, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -8 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 19826, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 19873, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ] + ], + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x1143aa89c8e3ebf8ed14df2a3606c1cd2dd513fac8040b0f8ab441f5c52fe4", + "offset": 5007, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x3541591104188daef4379e06e92ecce09094a3b381da2e654eb041d00566d8", + "offset": 6439, + "builtins": [ + "range_check", + "range_check96" + ] + }, + { + "selector": "0x3c118a68e16e12e97ed25cb4901c12f4d3162818669cc44c391d8049924c14", + "offset": 2522, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x5562b3e932b4d139366854d5a2e578382e6a3b6572ac9943d55e7efbe43d00", + "offset": 4548, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x600c98a299d72ef1e09a2e1503206fbc76081233172c65f7e2438ef0069d8d", + "offset": 5117, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x62c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5", + "offset": 4680, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x679c22735055a10db4f275395763a3752a1e3a3043c192299ab6b574fba8d6", + "offset": 5986, + "builtins": [ + "range_check", + "ec_op" + ] + }, + { + "selector": "0x7772be8b80a8a33dc6c1f9a6ab820c02e537c73e859de67f288c70f92571bb", + "offset": 5487, + "builtins": [ + "pedersen", + "range_check", + "bitwise" + ] + }, + { + "selector": "0xb0ee07785692bd1fcda9089aadef94621bfa2ac0e849504ca54f05a3689f8e", + "offset": 570, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0xca779dd628d0206eda15b718936109101fcdee458be409b230a64462c4bf23", + "offset": 7278, + "builtins": [ + "range_check", + "ec_op" + ] + }, + { + "selector": "0xd47144c49bce05b6de6bce9d5ff0cc8da9420f8945453e20ef779cbea13ad4", + "offset": 194, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0xe7510edcf6e9f1b70f7bd1f488767b50f0363422f3c563160ab77adf62467b", + "offset": 3285, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0xf818e4530ec36b83dfe702489b4df537308c3b798b0cc120e32c2056d68b7d", + "offset": 4090, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x10d2fede95e3ec06a875a67219425c27c5bd734d57f1b221d729a2337b6b556", + "offset": 3597, + "builtins": [ + "range_check", + "segment_arena" + ] + }, + { + "selector": "0x12ead94ae9d3f9d2bdb6b847cf255f1f398193a1f88884a0ae8e18f24a037b6", + "offset": 6201, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x1469798554697a4c50c64f933147bd163500204d4ae206eee1a9b9bf6c228de", + "offset": 3944, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x14dae1999ae9ab799bc72def6dc6e90890cf8ac0d64525021b7e71d05cb13e8", + "offset": 1911, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x169f135eddda5ab51886052d777a57f2ea9c162d713691b5e04a6d4ed71d47f", + "offset": 3693, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x1995689b6aedab51ad67bc2ae0b0ee3fe1ffc433f96179953e6a6b7210b9e13", + "offset": 2157, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x1ae1a515cf2d214b29bdf63a79ee2d490efd4dd1acc99d383a8e549c3cecb5d", + "offset": 6082, + "builtins": [ + "pedersen", + "range_check" + ] + }, + { + "selector": "0x1d631b26d3a3451b1549a7af739c359f1ecc9dc96be949da3a2267f206c7b94", + "offset": 7401, + "builtins": [ + "pedersen", + "range_check", + "bitwise", + "ec_op", + "poseidon", + "range_check96", + "add_mod", + "mul_mod" + ] + }, + { + "selector": "0x1e4089d1f1349077b1970f9937c904e27c4582b49a60b6078946dba95bc3c08", + "offset": 1215, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x227ac0f3ce8083231605cb10be915be2004456b618e44b56067e27fc6f8c84f", + "offset": 6858, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x23039bef544cff56442d9f61ae9b13cf9e36fcce009102c5b678aac93f37b36", + "offset": 2372, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x25ff849c52d40a7f29c9849fbe0064575d61c84ddc0ef562bf05bc599abe0ae", + "offset": 1391, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x27c3334165536f239cfd400ed956eabff55fc60de4fb56728b6a4f6b87db01c", + "offset": 354, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x298e03955860424b6a946506da72353a645f653dc1879f6b55fd756f3d20a59", + "offset": 794, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x2d7cf5d5a324a320f9f37804b1615a533fde487400b41af80f13f7ac5581325", + "offset": 3432, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x2f8b66957adc4564548f3832947bf264a065874e087c21b9e7cf969e2874c0c", + "offset": 1494, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x30f842021fbf02caf80d09a113997c1e00a32870eee0c6136bed27acb348bea", + "offset": 5711, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x311fb2a7f01403971aca6ae0a12b8ad0602e7a5ec48ad48951969942e99d788", + "offset": 1690, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x31401f504973a5e8e1bb41e9c592519e3aa0b8cf6bbfb9c91b532aab8db54b0", + "offset": 6547, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x317eb442b72a9fae758d4fb26830ed0d9f31c8e7da4dbff4e8c59ea6a158e7f", + "offset": 5326, + "builtins": [ + "pedersen", + "range_check" + ] + }, + { + "selector": "0x3184d290daa006fc3944f993771ad568c935c7e35d09af15de36d79668acec9", + "offset": 6934, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x32564d7e0fe091d49b4c20f4632191e4ed6986bf993849879abfef9465def25", + "offset": 4822, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x3502249e98d12b6c72951d280360de19ac166d0f18c620addb78491a669c826", + "offset": 7184, + "builtins": [ + "range_check", + "poseidon" + ] + }, + { + "selector": "0x3555d7ef6849c9f3e3c3b07e7b36395a40bba49ef095d4a8c41467b76a03501", + "offset": 7097, + "builtins": [ + "pedersen", + "range_check" + ] + }, + { + "selector": "0x3604cea1cdb094a73a31144f14a3e5861613c008e1e879939ebc4827d10cd50", + "offset": 2860, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x382be990ca34815134e64a9ac28f41a907c62e5ad10547f97174362ab94dc89", + "offset": 4180, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x38be5d5f7bf135b52888ba3e440a457d11107aca3f6542e574b016bf3f074d8", + "offset": 4270, + "builtins": [ + "range_check", + "bitwise" + ] + }, + { + "selector": "0x39a1491f76903a16feed0a6433bec78de4c73194944e1118e226820ad479701", + "offset": 6761, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x3a6a8bae4c51d5959683ae246347ffdd96aa5b2bfa68cc8c3a6a7c2ed0be331", + "offset": 3076, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x3b097c62d3e4b85742aadd0dfb823f96134b886ec13bda57b68faf86f294d97", + "offset": 0, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x3b756ccfc32a375b48e673ccd8447bcb3fc271415d0b92a7fb837747606c1f8", + "offset": 7010, + "builtins": [ + "range_check", + "bitwise" + ] + }, + { + "selector": "0x3d3da80997f8be5d16e9ae7ee6a4b5f7191d60765a1a6c219ab74269c85cf97", + "offset": 6328, + "builtins": [ + "range_check", + "range_check96", + "add_mod", + "mul_mod" + ] + }, + { + "selector": "0x3d95049b565ec2d4197a55108ef03996381d31c84acf392a0a42b28163d69d1", + "offset": 4458, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x3eb640b15f75fcc06d43182cdb94ed38c8e71755d5fb57c16dd673b466db1d4", + "offset": 4897, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x3ec18b82340569b7fafd0a83a195034c54a53e9f5f079b57ffef56915d38437", + "offset": 4368, + "builtins": [ + "range_check" + ] + } + ], + "L1_HANDLER": [ + { + "selector": "0x205500a208d0d49d79197fea83cc3f5fde99ac2e1909ae0a5d9f394c0c52ed0", + "offset": 7656, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x217f044c1e5a6a595b43251dac7903d76ca187b95dd40991b767800f8aeb9c7", + "offset": 7846, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x39edbbb129ad752107a94d40c3873cae369a46fd2fc578d075679aa67e85d12", + "offset": 7541, + "builtins": [ + "range_check" + ] + } + ], + "CONSTRUCTOR": [ + { + "selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194", + "offset": 8033, + "builtins": [ + "range_check" + ] + } + ] + } +} diff --git a/__tests__/WebSocketChannel.test.ts b/__tests__/WebSocketChannel.test.ts index 565564405..a73bd1879 100644 --- a/__tests__/WebSocketChannel.test.ts +++ b/__tests__/WebSocketChannel.test.ts @@ -1,14 +1,17 @@ /* eslint-disable no-underscore-dangle */ -import { Provider, Subscription, WebSocketChannel } from '../src'; +import { Provider, Subscription, SubscriptionNewHeadsEvent, WebSocketChannel } from '../src'; import { logger } from '../src/global/logger'; import { StarknetChainId } from '../src/global/constants'; -import { getTestAccount, getTestProvider, STRKtokenAddress, TEST_WS_URL } from './config/fixtures'; +import { getTestProvider, TEST_WS_URL } from './config/fixtures'; +import { getTestAccount, STRKtokenAddress } from './config/fixturesInit'; const describeIfWs = TEST_WS_URL ? describe : describe.skip; const NODE_URL = TEST_WS_URL!; describeIfWs('E2E WebSocket Tests', () => { describe('websocket specific endpoints', () => { + // Updated for RPC 0.9: removed subscribePendingTransaction (not available in 0.9) + // Added subscribeNewTransactionReceipts and subscribeNewTransactions (new in 0.9) // account provider const provider = new Provider(getTestProvider()); const account = getTestAccount(provider); @@ -62,7 +65,8 @@ describeIfWs('E2E WebSocket Tests', () => { }); test('Test subscribeNewHeads', async () => { - const sub = await webSocketChannel.subscribeNewHeads(); + // type not required, here I just test type availability + const sub: SubscriptionNewHeadsEvent = await webSocketChannel.subscribeNewHeads(); expect(sub).toBeInstanceOf(Subscription); let i = 0; @@ -86,6 +90,7 @@ describeIfWs('E2E WebSocket Tests', () => { sub.on(async (result) => { i += 1; expect(result).toBeDefined(); + expect(result).toHaveProperty('event'); if (i === 5) { const status = await sub.unsubscribe(); expect(status).toBe(true); @@ -95,19 +100,99 @@ describeIfWs('E2E WebSocket Tests', () => { await webSocketChannel.waitForUnsubscription(sub.id); }); - test('Test subscribePendingTransaction', async () => { - const sub = await webSocketChannel.subscribePendingTransaction(true); + test('Test subscribeEvents with finality status filter', async () => { + const sub = await webSocketChannel.subscribeEvents({ + finalityStatus: 'ACCEPTED_ON_L2', + }); expect(sub).toBeInstanceOf(Subscription); let i = 0; sub.on(async (result) => { i += 1; expect(result).toBeDefined(); - if (i === 5) { + expect(result).toHaveProperty('event'); + if (i === 2) { const status = await sub.unsubscribe(); expect(status).toBe(true); } }); + + await webSocketChannel.waitForUnsubscription(sub.id); + }); + + test('Test subscribeNewTransactionReceipts', async () => { + const sub = await webSocketChannel.subscribeNewTransactionReceipts(); + expect(sub).toBeInstanceOf(Subscription); + + let i = 0; + sub.on(async (result) => { + i += 1; + expect(result).toBeDefined(); + expect(result).toHaveProperty('transaction_receipt'); + if (i === 2) { + const status = await sub.unsubscribe(); + expect(status).toBe(true); + } + }); + + await webSocketChannel.waitForUnsubscription(sub.id); + }); + + test('Test subscribeNewTransactionReceipts with finality status filter', async () => { + const sub = await webSocketChannel.subscribeNewTransactionReceipts({ + finalityStatus: ['ACCEPTED_ON_L2'], + }); + expect(sub).toBeInstanceOf(Subscription); + + let i = 0; + sub.on(async (result) => { + i += 1; + expect(result).toBeDefined(); + expect(result).toHaveProperty('transaction_receipt'); + if (i === 1) { + const status = await sub.unsubscribe(); + expect(status).toBe(true); + } + }); + + await webSocketChannel.waitForUnsubscription(sub.id); + }); + + test('Test subscribeNewTransactions', async () => { + const sub = await webSocketChannel.subscribeNewTransactions(); + expect(sub).toBeInstanceOf(Subscription); + + let i = 0; + sub.on(async (result) => { + i += 1; + expect(result).toBeDefined(); + expect(result).toHaveProperty('transaction'); + if (i === 2) { + const status = await sub.unsubscribe(); + expect(status).toBe(true); + } + }); + + await webSocketChannel.waitForUnsubscription(sub.id); + }); + + test('Test subscribeNewTransactions with finality status filter', async () => { + const sub = await webSocketChannel.subscribeNewTransactions({ + finalityStatus: ['ACCEPTED_ON_L2'], + }); + expect(sub).toBeInstanceOf(Subscription); + + let i = 0; + sub.on(async (result) => { + i += 1; + expect(result).toBeDefined(); + expect(result).toHaveProperty('transaction'); + if (i === 1) { + const status = await sub.unsubscribe(); + expect(status).toBe(true); + } + }); + await webSocketChannel.waitForUnsubscription(sub.id); }); @@ -118,7 +203,9 @@ describeIfWs('E2E WebSocket Tests', () => { calldata: [account.address, '10', '0'], }); - const sub = await webSocketChannel.subscribeTransactionStatus(transaction_hash); + const sub = await webSocketChannel.subscribeTransactionStatus({ + transactionHash: transaction_hash, + }); expect(sub).toBeInstanceOf(Subscription); let i = 0; @@ -326,7 +413,12 @@ describe('Unit Test: WebSocketChannel Buffering', () => { // Manually create the subscription, bypassing the network. const subId = 'mock_sub_id_buffer'; - sub = new Subscription(webSocketChannel, 'starknet_subscribeNewHeads', {}, subId, 1000); + sub = new Subscription({ + channel: webSocketChannel, + method: 'starknet_subscribeNewHeads', + id: subId, + maxBufferSize: 1000, + }); (webSocketChannel as any).activeSubscriptions.set(subId, sub); const mockNewHeadsResult1 = { block_number: 1 }; @@ -361,7 +453,12 @@ describe('Unit Test: WebSocketChannel Buffering', () => { // Manually create subscription with a buffer size of 2. const subId = 'mock_sub_id_drop'; - sub = new Subscription(webSocketChannel, 'starknet_subscribeNewHeads', {}, subId, 2); + sub = new Subscription({ + channel: webSocketChannel, + method: 'starknet_subscribeNewHeads', + id: subId, + maxBufferSize: 2, + }); (webSocketChannel as any).activeSubscriptions.set(subId, sub); const warnSpy = jest.spyOn(logger, 'warn').mockImplementation(() => {}); @@ -397,7 +494,12 @@ describe('Unit Test: Subscription Class', () => { mockChannel.unsubscribe = jest.fn().mockResolvedValue(true); mockChannel.removeSubscription = jest.fn(); - subscription = new Subscription(mockChannel, 'test_method', {}, 'sub_123', 100); + subscription = new Subscription({ + channel: mockChannel, + method: 'test_method', + id: 'sub_123', + maxBufferSize: 100, + }); }); test('should throw an error if .on() is called more than once', () => { diff --git a/__tests__/account.outsideExecution.test.ts b/__tests__/account.outsideExecution.test.ts index ea40c51b3..8d1d51049 100644 --- a/__tests__/account.outsideExecution.test.ts +++ b/__tests__/account.outsideExecution.test.ts @@ -27,7 +27,14 @@ import { } from '../src'; import { getSelectorFromName } from '../src/utils/hash'; import { getDecimalString } from '../src/utils/num'; -import { contracts, createTestProvider, getTestAccount, STRKtokenAddress } from './config/fixtures'; +import { contracts } from './config/fixtures'; +import { + adaptAccountIfDevnet, + createTestProvider, + getTestAccount, + STRKtokenAddress, +} from './config/fixturesInit'; +import { initializeMatcher } from './config/schema'; describe('Account and OutsideExecution', () => { let provider: Provider; @@ -48,12 +55,17 @@ describe('Account and OutsideExecution', () => { const hour_ago = (now_seconds - 3600).toString(); const hour_later = (now_seconds + 3600).toString(); + initializeMatcher(expect); + beforeAll(async () => { provider = new Provider(await createTestProvider()); executorAccount = getTestAccount(provider); recipientAccount = executorAccount; - strkContract = new Contract(contracts.Erc20OZ.sierra.abi, STRKtokenAddress, provider); - + strkContract = new Contract({ + abi: contracts.Erc20OZ.sierra.abi, + address: STRKtokenAddress, + providerOrAccount: provider, + }); call1 = { contractAddress: STRKtokenAddress, entrypoint: 'transfer', @@ -86,7 +98,13 @@ describe('Account and OutsideExecution', () => { constructorCalldata: constructorAXCallData, }); const targetAddress = response.deploy.contract_address; - signerAccount = new Account(provider, targetAddress, targetPK); + signerAccount = adaptAccountIfDevnet( + new Account({ + provider, + address: targetAddress, + signer: targetPK, + }) + ); // Transfer dust of STRK token to the signer account const transferCall = { @@ -381,21 +399,8 @@ describe('Account and OutsideExecution', () => { ); const outsideExecutionCall: Call[] = outsideExecution.buildExecuteFromOutsideCall(outsideTransaction); - const estimateFee = await executorAccount.estimateFee(outsideExecutionCall); - expect(Object.keys(estimateFee).sort()).toEqual( - [ - 'overall_fee', - 'unit', - 'suggestedMaxFee', - 'resourceBounds', - 'l1_gas_consumed', - 'l1_data_gas_consumed', - 'l1_data_gas_price', - 'l1_gas_price', - 'l2_gas_consumed', - 'l2_gas_price', - ].sort() - ); + const estimateFee = await executorAccount.estimateInvokeFee(outsideExecutionCall); + expect(estimateFee).toMatchSchemaRef('EstimateFeeResponseOverhead'); const invocations: Invocations = [ { @@ -404,14 +409,7 @@ describe('Account and OutsideExecution', () => { }, ]; const responseSimulate = await executorAccount.simulateTransaction(invocations); - expect(Object.keys(responseSimulate[0]).sort()).toEqual( - Object.keys({ - transaction_trace: 0, - fee_estimation: 0, - suggestedMaxFee: 0, - resourceBounds: 0, - }).sort() - ); + expect(responseSimulate).toMatchSchemaRef('SimulateTransactionOverheadResponse'); }); test('ERC165 introspection', async () => { diff --git a/__tests__/account.starknetId.test.ts b/__tests__/account.starknetId.test.ts index 40360cbdf..28edd1ab4 100644 --- a/__tests__/account.starknetId.test.ts +++ b/__tests__/account.starknetId.test.ts @@ -1,5 +1,6 @@ import { Account, Provider, num, shortString } from '../src'; -import { contracts, createTestProvider, getTestAccount, STRKtokenAddress } from './config/fixtures'; +import { contracts } from './config/fixtures'; +import { createTestProvider, getTestAccount, STRKtokenAddress } from './config/fixturesInit'; const { hexToDecimalString } = num; diff --git a/__tests__/account.test.ts b/__tests__/account.test.ts index 47127449f..7e1c708a1 100644 --- a/__tests__/account.test.ts +++ b/__tests__/account.test.ts @@ -9,26 +9,36 @@ import { TransactionType, cairo, ec, - events, num, hash, stark, type Calldata, type InvokeTransactionReceiptResponse, + Deployer, + RPC, + RpcProvider, + BlockTag, + type Call, } from '../src'; import { C1v2ClassHash, - TEST_TX_VERSION, contracts, - createTestProvider, describeIfDevnet, - devnetFeeTokenAddress, + describeIfNotDevnet, erc20ClassHash, - getTestAccount, + getTestProvider, } from './config/fixtures'; +import { + createTestProvider, + getTestAccount, + devnetFeeTokenAddress, + adaptAccountIfDevnet, + TEST_TX_VERSION, + STRKtokenAddress, +} from './config/fixturesInit'; import { initializeMatcher } from './config/schema'; -const { cleanHex, hexToDecimalString, toBigInt } = num; +const { toHex, hexToDecimalString, toBigInt } = num; const { randomAddress } = stark; const { Signature } = ec.starkCurve; @@ -65,7 +75,11 @@ describe('deploy and test Account', () => { constructorCalldata: erc20Constructor, }); erc20Address = dd.deploy.contract_address; - erc20 = new Contract(contracts.Erc20OZ.sierra.abi, erc20Address, provider); + erc20 = new Contract({ + abi: contracts.Erc20OZ.sierra.abi, + address: erc20Address, + providerOrAccount: provider, + }); const balance = await erc20.balanceOf(account.address); expect(balance).toStrictEqual(1000n); @@ -75,10 +89,19 @@ describe('deploy and test Account', () => { casm: contracts.C1v2.casm, }); - dapp = new Contract(contracts.C1v2.sierra.abi, dappResponse.deploy.contract_address, provider); + dapp = new Contract({ + abi: contracts.C1v2.sierra.abi, + address: dappResponse.deploy.contract_address, + providerOrAccount: provider, + }); dappClassHash = num.toHex(dappResponse.declare.class_hash); }); + test('declare and deploy', async () => { + expect(dd.declare).toMatchSchemaRef('DeclareContractResponse'); + expect(dd.deploy).toMatchSchemaRef('DeployContractUDCResponse'); + }); + describeIfDevnet('Test on Devnet', () => { test('deployAccount with rawArgs - test on devnet', async () => { const privKey = stark.randomAddress(); @@ -111,12 +134,13 @@ describe('deploy and test Account', () => { await account.waitForTransaction(transaction_hash); // deploy account - const accountOZ = new Account( - provider, - toBeAccountAddress, - privKey, - undefined, - TEST_TX_VERSION + const accountOZ = adaptAccountIfDevnet( + new Account({ + provider, + address: toBeAccountAddress, + signer: privKey, + transactionVersion: TEST_TX_VERSION, + }) ); const deployed = await accountOZ.deploySelf({ classHash: accountClassHash, @@ -287,7 +311,13 @@ describe('deploy and test Account', () => { { publicKey: starkKeyPub }, 0 ); - const newAccount = new Account(provider, precalculatedAddress, privateKey); + const newAccount = adaptAccountIfDevnet( + new Account({ + provider, + address: precalculatedAddress, + signer: privateKey, + }) + ); const res = await newAccount.simulateTransaction([ { @@ -360,6 +390,61 @@ describe('deploy and test Account', () => { expect(after - before).toStrictEqual(57n); }); + describe('fastExecute()', () => { + test('Only Rpc0.9', async () => { + const provider08 = new RpcProvider({ + nodeUrl: 'dummy', + blockIdentifier: BlockTag.PRE_CONFIRMED, + specVersion: '0.8.1', + }); + const testAccount = new Account({ + provider: provider08, + address: '0x123', + signer: '0x456', + }); + const myCall: Call = { contractAddress: '0x036', entrypoint: 'withdraw', calldata: [] }; + await expect(testAccount.fastExecute(myCall)).rejects.toThrow( + 'Wrong Rpc version in Provider. At least Rpc v0.9 required.' + ); + }); + + test('Only provider with PRE_CONFIRMED blockIdentifier', async () => { + const providerLatest = new RpcProvider({ + nodeUrl: 'dummy', + blockIdentifier: BlockTag.LATEST, + specVersion: '0.9.0', + }); + const testAccount = new Account({ + provider: providerLatest, + address: '0x123', + signer: '0x456', + }); + const myCall: Call = { contractAddress: '0x036', entrypoint: 'withdraw', calldata: [] }; + await expect(testAccount.fastExecute(myCall)).rejects.toThrow( + 'Provider needs to be initialized with `pre_confirmed` blockIdentifier option.' + ); + }); + + test('fast consecutive txs', async () => { + const testProvider = getTestProvider(false, { + blockIdentifier: BlockTag.PRE_CONFIRMED, + }); + const testAccount = getTestAccount(testProvider); + const myCall: Call = { + contractAddress: STRKtokenAddress, + entrypoint: 'transfer', + calldata: [testAccount.address, cairo.uint256(100)], + }; + const tx1 = await testAccount.fastExecute(myCall); + expect(tx1.isReady).toBe(true); + expect(tx1.txResult.transaction_hash).toMatch(/^0x/); + const tx2 = await testAccount.fastExecute(myCall); + await provider.waitForTransaction(tx2.txResult.transaction_hash); // to be sure to have the right nonce in `provider`, that is set with BlockTag.LATEST (otherwise next tests will fail) + expect(tx2.isReady).toBe(true); + expect(tx2.txResult.transaction_hash).toMatch(/^0x/); + }); + }); + describe('EIP712 verification', () => { // currently only in Starknet-Devnet, because can fail in Sepolia. test('sign and verify EIP712 message fail', async () => { @@ -379,13 +464,12 @@ describe('deploy and test Account', () => { ); expect(verifyMessageResponse).toBe(false); - const wrongAccount = new Account( + const wrongAccount = new Account({ provider, - '0x037891', - '0x026789', - undefined, - TEST_TX_VERSION - ); // non existing account + address: '0x037891', + signer: '0x026789', + transactionVersion: TEST_TX_VERSION, + }); // non existing account await expect( wrongAccount.verifyMessageInStarknet(typedDataExample, signature2, wrongAccount.address) ).rejects.toThrow(); @@ -417,7 +501,7 @@ describe('deploy and test Account', () => { test('change from provider to account', async () => { expect(erc20.providerOrAccount).toBeInstanceOf(Provider); - erc20.connect(account); + erc20.providerOrAccount = account; expect(erc20.providerOrAccount).toBeInstanceOf(Account); }); @@ -452,8 +536,7 @@ describe('deploy and test Account', () => { expect(declareTx).toMatchSchemaRef('DeclareContractResponse'); expect(hexToDecimalString(declareTx.class_hash)).toEqual(hexToDecimalString(erc20ClassHash)); }); - - test('UDC DeployContract', async () => { + test('UDC DeployContract - on default ACCEPTED_ON_L2', async () => { const deployResponse = await account.deployContract({ classHash: erc20ClassHash, constructorCalldata: erc20Constructor, @@ -474,8 +557,10 @@ describe('deploy and test Account', () => { // check pre-calculated address const txReceipt = await provider.waitForTransaction(deployment.transaction_hash); - const udcEvent = events.parseUDCEvent(txReceipt.value as InvokeTransactionReceiptResponse); - expect(cleanHex(deployment.contract_address[0])).toBe(cleanHex(udcEvent.contract_address)); + const udcEvent = account.deployer.parseDeployerEvent( + txReceipt.value as InvokeTransactionReceiptResponse + ); + expect(toHex(deployment.contract_address[0])).toBe(toHex(udcEvent.contract_address)); }); test('UDC Deploy non-unique', async () => { @@ -491,8 +576,10 @@ describe('deploy and test Account', () => { // check pre-calculated address const txReceipt = await provider.waitForTransaction(deployment.transaction_hash); - const udcEvent = events.parseUDCEvent(txReceipt.value as InvokeTransactionReceiptResponse); - expect(cleanHex(deployment.contract_address[0])).toBe(cleanHex(udcEvent.contract_address)); + const udcEvent = account.deployer.parseDeployerEvent( + txReceipt.value as InvokeTransactionReceiptResponse + ); + expect(toHex(deployment.contract_address[0])).toBe(toHex(udcEvent.contract_address)); }); test('UDC multi Deploy', async () => { @@ -534,7 +621,13 @@ describe('deploy and test Account', () => { { publicKey: starkKeyPub }, 0 ); - newAccount = new Account(provider, precalculatedAddress, privateKey); + newAccount = adaptAccountIfDevnet( + new Account({ + provider, + address: precalculatedAddress, + signer: privateKey, + }) + ); }); test('estimateAccountDeployFee Cairo 1', async () => { @@ -544,7 +637,7 @@ describe('deploy and test Account', () => { addressSalt: starkKeyPub, contractAddress: precalculatedAddress, }); - expect(result).toMatchSchemaRef('EstimateFee'); + expect(result).toMatchSchemaRef('EstimateFeeResponseOverhead'); }); test('estimate fee bulk on empty invocations', async () => { @@ -574,7 +667,7 @@ describe('deploy and test Account', () => { ]); estimatedFeeBulk.forEach((value) => { - expect(value).toMatchSchemaRef('EstimateFee'); + expect(value).toMatchSchemaRef('EstimateFeeResponseOverhead'); }); expect(estimatedFeeBulk.length).toEqual(2); // expect(innerInvokeEstFeeSpy.mock.calls[0][1].version).toBe(feeTransactionVersion); @@ -617,7 +710,7 @@ describe('deploy and test Account', () => { ]); expect(res).toHaveLength(2); res.forEach((value) => { - expect(value).toMatchSchemaRef('EstimateFee'); + expect(value).toMatchSchemaRef('EstimateFeeResponseOverhead'); }); }); @@ -672,7 +765,7 @@ describe('deploy and test Account', () => { const res = await account.estimateFeeBulk(invocations); res.forEach((value) => { - expect(value).toMatchSchemaRef('EstimateFee'); + expect(value).toMatchSchemaRef('EstimateFeeResponseOverhead'); }); }); @@ -713,7 +806,7 @@ describe('deploy and test Account', () => { const res = await account.estimateFeeBulk(invocations); res.forEach((value) => { - expect(value).toMatchSchemaRef('EstimateFee'); + expect(value).toMatchSchemaRef('EstimateFeeResponseOverhead'); }); }); }); @@ -721,23 +814,92 @@ describe('deploy and test Account', () => { // Order is important, declare c1 must be last else estimate and simulate will error // with contract already declared test('estimateInvokeFee Cairo 1', async () => { - // TODO @dhruvkelawala check expectation for feeTransactionVersion // Cairo 1 contract const ddc1: DeclareDeployUDCResponse = await account.declareAndDeploy({ contract: contracts.C260.sierra, casm: contracts.C260.casm, }); + const latestBlock = await provider.getBlock('latest'); + // const innerInvokeEstFeeSpy = jest.spyOn(account.signer, 'signTransaction'); - const result = await account.estimateInvokeFee({ - contractAddress: ddc1.deploy.address, - entrypoint: 'set_name', - calldata: ['Hello'], + const result = account.estimateInvokeFee( + { + contractAddress: ddc1.deploy.address, // 0x630f529021f2686e9869b83121ca36f4cbb2b1d617d29d5b079c765f4ef409e + entrypoint: 'set_name', + calldata: ['Hello'], + }, + { + tip: 0, + blockIdentifier: latestBlock.block_number, + } + ); + + const result1 = account.estimateInvokeFee( + { + contractAddress: ddc1.deploy.address, + entrypoint: 'set_name', + calldata: ['Hello'], + }, + { + tip: 1000000000000000000, + blockIdentifier: latestBlock.block_number, + } + ); + + const [resolvedResult, resolvedResult1] = await Promise.all([result, result1]); + expect(resolvedResult).toMatchSchemaRef('EstimateFeeResponseOverhead'); + + // TODO: Different tips should produce different fees on estimate Fee. + expect(resolvedResult.resourceBounds.l2_gas.max_price_per_unit).toBe( + resolvedResult1.resourceBounds.l2_gas.max_price_per_unit + ); + expect(resolvedResult.overall_fee).toBe(resolvedResult1.overall_fee); + }); + }); + describe('Custom Cairo 1 Deployer', () => { + let accountCustomDeployer: Account; + beforeAll(async () => { + const deployerResponse = await account.declareAndDeploy({ + contract: contracts.deployer.sierra, + casm: contracts.deployer.casm, + }); + const customDeployer = new Deployer( + deployerResponse.deploy.contract_address, + 'deploy_contract' + ); + accountCustomDeployer = new Account({ + address: account.address, + provider, + signer: account.signer, + deployer: customDeployer, + }); + }); + test('Deploy contract', async () => { + const deployResponse = await accountCustomDeployer.deployContract({ + classHash: erc20ClassHash, + constructorCalldata: erc20Constructor, }); + expect(deployResponse).toMatchSchemaRef('DeployContractUDCResponse'); + }); + }); - expect(result).toMatchSchemaRef('EstimateFee'); - // expect(innerInvokeEstFeeSpy.mock.calls[0][1].version).toBe(feeTransactionVersion); - // innerInvokeEstFeeSpy.mockClear(); + describeIfNotDevnet('Not Devnet', () => { + test('UDC DeployContract - on PRE_CONFIRMED', async () => { + const deployResponse = await account.deployContract( + { + classHash: erc20ClassHash, + constructorCalldata: erc20Constructor, + }, + { + successStates: [ + RPC.ETransactionFinalityStatus.ACCEPTED_ON_L2, + RPC.ETransactionFinalityStatus.ACCEPTED_ON_L1, + RPC.ETransactionFinalityStatus.PRE_CONFIRMED, + ], + } + ); + expect(deployResponse).toMatchSchemaRef('DeployContractUDCResponse'); }); }); }); diff --git a/__tests__/accountPaymaster.test.ts b/__tests__/accountPaymaster.test.ts index 8642a6b2d..259b91eb8 100644 --- a/__tests__/accountPaymaster.test.ts +++ b/__tests__/accountPaymaster.test.ts @@ -1,13 +1,13 @@ -import { OutsideCallV2, OutsideExecutionTypedDataV2 } from '@starknet-io/starknet-types-08'; +import type { OutsideCallV2, OutsideExecutionTypedDataV2 } from '../src/types/api'; import { Account, - Signature, - Call, - PaymasterDetails, OutsideExecutionVersion, logger, + hash, + type Call, + type PaymasterDetails, + type Signature, } from '../src'; -import { getSelectorFromName } from '../src/utils/hash'; jest.mock('../src/paymaster/rpc'); logger.setLogLevel('ERROR'); @@ -30,7 +30,7 @@ describe('Account - Paymaster integration', () => { const originalCallsAsOutsideCalls: OutsideCallV2[] = [ { To: '0x123', - Selector: getSelectorFromName('transfer'), + Selector: hash.getSelectorFromName('transfer'), Calldata: [], }, ]; @@ -48,7 +48,7 @@ describe('Account - Paymaster integration', () => { ...originalCallsAsOutsideCalls, { To: '0x456', - Selector: getSelectorFromName('transfer'), + Selector: hash.getSelectorFromName('transfer'), Calldata: ['0xcaller', '1200', '0'], }, ], @@ -79,7 +79,7 @@ describe('Account - Paymaster integration', () => { ...originalCallsAsOutsideCalls, { To: '0x4567', - Selector: getSelectorFromName('transfer'), + Selector: hash.getSelectorFromName('transfer'), Calldata: ['0xcaller', '1200', '0'], }, ], @@ -94,7 +94,7 @@ describe('Account - Paymaster integration', () => { ...originalCallsAsOutsideCalls, { To: '0x456', - Selector: getSelectorFromName('transfer'), + Selector: hash.getSelectorFromName('transfer'), Calldata: ['0xcaller', '13000', '0'], }, ], @@ -109,12 +109,12 @@ describe('Account - Paymaster integration', () => { ...originalCallsAsOutsideCalls, { To: '0x456', - Selector: getSelectorFromName('transfer'), + Selector: hash.getSelectorFromName('transfer'), Calldata: ['0xcaller', '13000', '0'], }, { To: '0x456', - Selector: getSelectorFromName('transfer'), + Selector: hash.getSelectorFromName('transfer'), Calldata: ['0xcaller', '13000', '0'], }, ], @@ -136,14 +136,11 @@ describe('Account - Paymaster integration', () => { const getAccount = () => { if (!account) { - account = new Account( - {}, - '0xabc', - { signMessage: mockSignMessage.mockResolvedValue(fakeSignature) } as any, - undefined, - undefined, - undefined - ); + account = new Account({ + provider: {}, + address: '0xabc', + signer: { signMessage: mockSignMessage.mockResolvedValue(fakeSignature) } as any, + }); // account object is instanciate in the constructor, we need to mock the paymaster methods after paymaster object is instanciate account.paymaster.buildTransaction = mockBuildTransaction; account.paymaster.executeTransaction = mockExecuteTransaction; diff --git a/__tests__/cairo1v2.test.ts b/__tests__/cairo1v2.test.ts index c170a8f2f..d3130e9c7 100644 --- a/__tests__/cairo1v2.test.ts +++ b/__tests__/cairo1v2.test.ts @@ -13,7 +13,7 @@ import { Calldata, CompiledSierra, Contract, - DeclareDeployUDCResponse, + ParsedEvents, ProviderInterface, RawArgsArray, RawArgsObject, @@ -23,10 +23,11 @@ import { num, selector, shortString, - types, } from '../src'; -import { contracts, createTestProvider, getTestAccount } from './config/fixtures'; +import { contracts } from './config/fixtures'; import { initializeMatcher } from './config/schema'; +import { createTestProvider, getTestAccount } from './config/fixturesInit'; +import { createAbiParser } from '../src/utils/calldata/parser'; const { uint256, tuple, isCairo1Abi } = cairo; const { toHex } = num; @@ -42,33 +43,28 @@ describe('Cairo 1', () => { }); describe('API & Contract interactions', () => { - let dd: DeclareDeployUDCResponse; let cairo1Contract: Contract; - let dd2: DeclareDeployUDCResponse; let cairo210Contract: Contract; initializeMatcher(expect); beforeAll(async () => { - dd = await account.declareAndDeploy({ + // dd + cairo1Contract = await Contract.factory({ contract: contracts.C1v2.sierra, casm: contracts.C1v2.casm, + account, }); - cairo1Contract = new Contract(contracts.C1v2.sierra.abi, dd.deploy.contract_address, account); - dd2 = await account.declareAndDeploy({ + // dd2 + cairo210Contract = await Contract.factory({ + abi: contracts.C210.sierra.abi, // optional contract: contracts.C210.sierra, casm: contracts.C210.casm, + account, }); - cairo210Contract = new Contract( - contracts.C210.sierra.abi, - dd2.deploy.contract_address, - account - ); }); test('Declare & deploy v2 - Hello Cairo 1 contract', async () => { - expect(dd.declare).toMatchSchemaRef('DeclareContractResponse'); - expect(dd.deploy).toMatchSchemaRef('DeployContractUDCResponse'); expect(cairo1Contract).toBeInstanceOf(Contract); expect(cairo210Contract).toBeInstanceOf(Contract); }); @@ -82,8 +78,8 @@ describe('Cairo 1', () => { }); xtest('validate TS for redeclare - skip testing', async () => { - const cc0 = await account.getClassAt(dd.deploy.address); - const cc0_1 = await account.getClassByHash(toHex(dd.declare.class_hash)); + const cc0 = await account.getClassAt(cairo1Contract.address); + const cc0_1 = await account.getClassByHash(toHex(cairo1Contract.classHash!)); await account.declare({ contract: cc0 as CompiledSierra, @@ -98,18 +94,18 @@ describe('Cairo 1', () => { test('deployContract Cairo1', async () => { const deploy = await account.deployContract({ - classHash: dd.deploy.classHash, + classHash: cairo1Contract.classHash!, }); expect(deploy).toHaveProperty('address'); }); test('GetClassByHash', async () => { - const classResponse = await provider.getClassByHash(dd.deploy.classHash); + const classResponse = await provider.getClassByHash(cairo1Contract.classHash!); expect(classResponse).toMatchSchemaRef('SierraContractClass'); }); test('GetClassAt', async () => { - const classResponse = await provider.getClassAt(dd.deploy.contract_address); + const classResponse = await provider.getClassAt(cairo1Contract.address); expect(classResponse).toMatchSchemaRef('SierraContractClass'); }); @@ -796,7 +792,11 @@ describe('Cairo 1', () => { casm: contracts.C1v2.casm, }); - eventContract = new Contract(contracts.C1v2.sierra.abi, deploy.contract_address!, account); + eventContract = new Contract({ + abi: contracts.C1v2.sierra.abi, + address: deploy.contract_address, + providerOrAccount: account, + }); }); test('parse event returning a regular struct', async () => { @@ -808,7 +808,7 @@ describe('Cairo 1', () => { simpleDataStruct, simpleDataArray ); - const shouldBe: types.ParsedEvents = [ + const shouldBe: ParsedEvents = [ { 'hello_res_events_newTypes::hello_res_events_newTypes::HelloStarknet::EventRegular': { simpleKeyVariable, @@ -830,7 +830,7 @@ describe('Cairo 1', () => { nestedKeyStruct, nestedDataStruct ); - const shouldBe: types.ParsedEvents = [ + const shouldBe: ParsedEvents = [ { 'hello_res_events_newTypes::hello_res_events_newTypes::HelloStarknet::EventNested': { nestedKeyStruct, @@ -845,7 +845,7 @@ describe('Cairo 1', () => { test('parse tx returning multiple similar events', async () => { const anotherKeyVariable = 100n; - const shouldBe: types.ParsedEvents = [ + const shouldBe: ParsedEvents = [ { 'hello_res_events_newTypes::hello_res_events_newTypes::HelloStarknet::EventRegular': { simpleKeyVariable, @@ -890,7 +890,7 @@ describe('Cairo 1', () => { expect(myEvents[1]).toMatchEventStructure(shouldBe[1]); }); test('parse tx returning multiple different events', async () => { - const shouldBe: types.ParsedEvents = [ + const shouldBe: ParsedEvents = [ { 'hello_res_events_newTypes::hello_res_events_newTypes::HelloStarknet::EventRegular': { simpleKeyVariable, @@ -940,6 +940,7 @@ describe('Cairo 1', () => { const abiEvents = events.getAbiEvents(abi); const abiStructs = CallData.getAbiStruct(abi); const abiEnums = CallData.getAbiEnum(abi); + const parser = createAbiParser(abi); const rawEventNested = { block_hash: '0x39f27ab4cd508ab99e818512b261a7e4ae01072eb4ec8bb86aeb64755f99f2c', block_number: 69198, @@ -969,7 +970,13 @@ describe('Cairo 1', () => { ], transaction_hash: '0x4e38fcce79c115b6fe2c486e3514efc1bd4da386b91c104e97230177d0bf181', }; - const parsedEvent = events.parseEvents([rawEventNested], abiEvents, abiStructs, abiEnums); + const parsedEvent = events.parseEvents( + [rawEventNested], + abiEvents, + abiStructs, + abiEnums, + parser + ); expect(parsedEvent).toEqual([ { 'kurosawa_akira::ExchangeBalanceComponent::exchange_balance_logic_component::Trade': { @@ -1038,7 +1045,8 @@ describe('Cairo 1', () => { [rawEventNestedDeposit1], abiEvents, abiStructs, - abiEnums + abiEnums, + parser ); expect(parsedEventNestedDeposit1).toEqual([ { @@ -1057,7 +1065,8 @@ describe('Cairo 1', () => { [rawEventNestedDeposit2], abiEvents, abiStructs, - abiEnums + abiEnums, + parser ); expect(parsedEventNestedDeposit2).toEqual([ { @@ -1086,7 +1095,13 @@ describe('Cairo 1', () => { ], transaction_hash: '0x2da31a929a9848e9630906275a75a531e1718d4830501e10b0bccacd55f6fe0', }; - const parsedEventFlat = events.parseEvents([rawEventFlat], abiEvents, abiStructs, abiEnums); + const parsedEventFlat = events.parseEvents( + [rawEventFlat], + abiEvents, + abiStructs, + abiEnums, + parser + ); expect(parsedEventFlat).toEqual([ { 'openzeppelin::token::erc20::erc20::ERC20Component::Transfer': { diff --git a/__tests__/cairo1v2_typed.test.ts b/__tests__/cairo1v2_typed.test.ts index 451316f59..861ce3c8e 100644 --- a/__tests__/cairo1v2_typed.test.ts +++ b/__tests__/cairo1v2_typed.test.ts @@ -12,7 +12,7 @@ import { Calldata, CompiledSierra, Contract, - DeclareDeployUDCResponse, + ParsedEvents, ProviderInterface, RawArgsArray, RawArgsObject, @@ -25,18 +25,19 @@ import { selector, shortString, stark, - types, + type DeclareDeployUDCResponse, } from '../src'; import { hexToDecimalString } from '../src/utils/num'; import { encodeShortString } from '../src/utils/shortString'; import { isString } from '../src/utils/typed'; +import { contracts } from './config/fixtures'; import { - contracts, createTestProvider, getTestAccount, STRKtokenAddress, + adaptAccountIfDevnet, TEST_TX_VERSION, -} from './config/fixtures'; +} from './config/fixturesInit'; import { initializeMatcher } from './config/schema'; const { uint256, tuple, isCairo1Abi } = cairo; @@ -64,21 +65,21 @@ describe('Cairo 1', () => { contract: contracts.C1v2.sierra, casm: contracts.C1v2.casm, }); - cairo1Contract = new Contract( - contracts.C1v2.sierra.abi, - dd.deploy.contract_address, - account - ).typedv2(tAbi); + cairo1Contract = new Contract({ + abi: contracts.C1v2.sierra.abi, + address: dd.deploy.contract_address, + providerOrAccount: account, + }).typedv2(tAbi); dd2 = await account.declareAndDeploy({ contract: contracts.C210.sierra, casm: contracts.C210.casm, }); - cairo210Contract = new Contract( - contracts.C210.sierra.abi, - dd2.deploy.contract_address, - account - ).typedv2(tAbi); + cairo210Contract = new Contract({ + abi: contracts.C210.sierra.abi, + address: dd2.deploy.contract_address, + providerOrAccount: account, + }).typedv2(tAbi); }); test('Declare & deploy v2 - Hello Cairo 1 contract', async () => { @@ -743,7 +744,14 @@ describe('Cairo 1', () => { await account.waitForTransaction(transaction_hash); // deploy account - accountC1 = new Account(provider, toBeAccountAddress, priKey, '1', TEST_TX_VERSION); + accountC1 = adaptAccountIfDevnet( + new Account({ + provider, + address: toBeAccountAddress, + signer: priKey, + transactionVersion: TEST_TX_VERSION, + }) + ); const deployed = await accountC1.deploySelf({ classHash: accountClassHash, constructorCalldata: calldata, @@ -792,11 +800,11 @@ describe('Cairo 1', () => { casm: contracts.C1v2.casm, }); - eventContract = new Contract( - contracts.C1v2.sierra.abi, - deploy.contract_address!, - account - ).typedv2(tAbi); + eventContract = new Contract({ + abi: contracts.C1v2.sierra.abi, + address: deploy.contract_address, + providerOrAccount: account, + }).typedv2(tAbi); }); test('parse event returning a regular struct', async () => { @@ -808,7 +816,7 @@ describe('Cairo 1', () => { simpleDataStruct, simpleDataArray ); - const shouldBe: types.ParsedEvents = [ + const shouldBe: ParsedEvents = [ { 'hello_res_events_newTypes::hello_res_events_newTypes::HelloStarknet::EventRegular': { simpleKeyVariable, @@ -830,7 +838,7 @@ describe('Cairo 1', () => { nestedKeyStruct, nestedDataStruct ); - const shouldBe: types.ParsedEvents = [ + const shouldBe: ParsedEvents = [ { 'hello_res_events_newTypes::hello_res_events_newTypes::HelloStarknet::EventNested': { nestedKeyStruct, @@ -845,7 +853,7 @@ describe('Cairo 1', () => { test('parse tx returning multiple similar events', async () => { const anotherKeyVariable = 100n; - const shouldBe: types.ParsedEvents = [ + const shouldBe: ParsedEvents = [ { 'hello_res_events_newTypes::hello_res_events_newTypes::HelloStarknet::EventRegular': { simpleKeyVariable, @@ -890,7 +898,7 @@ describe('Cairo 1', () => { expect(events[1]).toMatchEventStructure(shouldBe[1]); }); test('parse tx returning multiple different events', async () => { - const shouldBe: types.ParsedEvents = [ + const shouldBe: ParsedEvents = [ { 'hello_res_events_newTypes::hello_res_events_newTypes::HelloStarknet::EventRegular': { simpleKeyVariable, @@ -937,11 +945,11 @@ describe('Cairo 1', () => { casm: contracts.C240.casm, }); - stringContract = new Contract( - contracts.C240.sierra.abi, - deploy.contract_address, - account - ).typedv2(StringABI); + stringContract = new Contract({ + abi: contracts.C240.sierra.abi, + address: deploy.contract_address, + providerOrAccount: account, + }).typedv2(StringABI); }); test('bytes31', async () => { diff --git a/__tests__/cairoByteArrayContract.test.ts b/__tests__/cairoByteArrayContract.test.ts new file mode 100644 index 000000000..be000ae11 --- /dev/null +++ b/__tests__/cairoByteArrayContract.test.ts @@ -0,0 +1,578 @@ +import * as fs from 'fs'; +import * as path from 'path'; +import { + Account, + Contract, + ProviderInterface, + CairoByteArray, + hdParsingStrategy, + ParsingStrategy, + BigNumberish, + logger, +} from '../src'; +import { contracts } from './config/fixtures'; +import { createTestProvider, getTestAccount } from './config/fixturesInit'; +import { toHex } from '../src/utils/num'; + +describe('CairoByteArray Manual Integration Tests', () => { + let provider: ProviderInterface; + let account: Account; + let byteArrayContract: Contract; + + beforeAll(async () => { + // Setup provider and account + provider = await createTestProvider(); + account = await getTestAccount(provider); + + // Deploy ByteArrayStorage contract using Contract.factory + byteArrayContract = await Contract.factory({ + contract: contracts.CairoByteArray.sierra, + casm: contracts.CairoByteArray.casm, + account, + constructorCalldata: [], + }); + }, 60000); + + describe('Contract with disabled request and response parsers', () => { + test('should demonstrate CairoByteArray usage with disabled parsers', () => { + // This test demonstrates how to use CairoByteArray when contract parsers are disabled + const testMessage = 'Hello, Starknet!'; + const byteArray = new CairoByteArray(testMessage); + + // When using parseRequest: false, you need to provide raw calldata + const rawCalldata = byteArray.toApiRequest(); + + // Verify the raw calldata format + expect(rawCalldata).toBeInstanceOf(Array); + expect(rawCalldata.length).toBeGreaterThanOrEqual(3); + expect(typeof rawCalldata[0]).toBe('string'); // data length + expect(typeof rawCalldata[1]).toBe('string'); // pending_word + expect(typeof rawCalldata[2]).toBe('string'); // pending_word_len + + // When using parseResponse: false, you receive raw response data + // that needs to be parsed back to CairoByteArray + const rawResponse = rawCalldata; // Simulate contract returning the same data + const iterator = rawResponse[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the reconstruction worked correctly + expect(reconstructedByteArray.decodeUtf8()).toBe(testMessage); + expect(reconstructedByteArray.toBigInt()).toBe(byteArray.toBigInt()); + expect(reconstructedByteArray.toHexString()).toBe(byteArray.toHexString()); + }); + + test('should store and read short CairoByteArray', async () => { + const testMessage = 'Hello, Starknet!'; + const byteArray = new CairoByteArray(testMessage); + + // Send CairoByteArray to contract with parseRequest disabled + const storeResult = await byteArrayContract + .withOptions({ parseRequest: false }) + .store_message(byteArray.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract + .withOptions({ parseResponse: false }) + .read_message(); + + // Reconstruct CairoByteArray from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly stored and retrieved + expect(reconstructedByteArray.decodeUtf8()).toBe(testMessage); + }); + + test('should store and read long CairoByteArray (> 31 bytes)', async () => { + const testMessage = + 'This is a very long message that exceeds 31 bytes and will be split into multiple chunks!'; + const byteArray = new CairoByteArray(testMessage); + + // Send CairoByteArray to contract with parseRequest disabled + const storeResult = await byteArrayContract + .withOptions({ parseRequest: false }) + .store_message(byteArray.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract + .withOptions({ parseResponse: false }) + .read_message(); + + // Reconstruct CairoByteArray from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly stored and retrieved + expect(reconstructedByteArray.decodeUtf8()).toBe(testMessage); + }); + + test('should store and read empty CairoByteArray', async () => { + const testMessage = ''; + const byteArray = new CairoByteArray(testMessage); + + // Send CairoByteArray to contract with parseRequest disabled + const storeResult = await byteArrayContract + .withOptions({ parseRequest: false }) + .store_message(byteArray.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract + .withOptions({ parseResponse: false }) + .read_message(); + + // Reconstruct CairoByteArray from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly stored and retrieved + expect(reconstructedByteArray.decodeUtf8()).toBe(testMessage); + }); + + test('should store and read CairoByteArray with exactly 31 bytes', async () => { + const testMessage = 'This is exactly 31 bytes long!!'; // 31 characters + const byteArray = new CairoByteArray(testMessage); + + // Send CairoByteArray to contract with parseRequest disabled + const storeResult = await byteArrayContract + .withOptions({ parseRequest: false }) + .store_message(byteArray.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract + .withOptions({ parseResponse: false }) + .read_message(); + + // Reconstruct CairoByteArray from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly stored and retrieved + expect(reconstructedByteArray.decodeUtf8()).toBe(testMessage); + }); + + test('should store and read CairoByteArray with special characters', async () => { + const testMessage = 'Special chars: !@#$%^&*()_+-=[]{}|;:\'",.<>/?`~'; + const byteArray = new CairoByteArray(testMessage); + + // Send CairoByteArray to contract with parseRequest disabled + const storeResult = await byteArrayContract + .withOptions({ parseRequest: false }) + .store_message(byteArray.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract + .withOptions({ parseResponse: false }) + .read_message(); + + // Reconstruct CairoByteArray from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly stored and retrieved + expect(reconstructedByteArray.decodeUtf8()).toBe(testMessage); + }); + + test('should store and read CairoByteArray with unicode characters', async () => { + const testMessage = 'Unicode test: émojis 🚀 and 中文字符'; + const byteArray = new CairoByteArray(testMessage); + + // Send CairoByteArray to contract with parseRequest disabled + const storeResult = await byteArrayContract + .withOptions({ parseRequest: false }) + .store_message(byteArray.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract + .withOptions({ parseResponse: false }) + .read_message(); + + // Reconstruct CairoByteArray from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly stored and retrieved + expect(reconstructedByteArray.decodeUtf8()).toBe(testMessage); + }); + + test('should handle CairoByteArray created from Uint8Array', async () => { + const testData = new Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]); // "Hello World" + const byteArray = new CairoByteArray(testData); + + // Send CairoByteArray to contract with parseRequest disabled + const storeResult = await byteArrayContract + .withOptions({ parseRequest: false }) + .store_message(byteArray.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract + .withOptions({ parseResponse: false }) + .read_message(); + + // Reconstruct CairoByteArray from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly stored and retrieved + expect(reconstructedByteArray.decodeUtf8()).toBe('Hello World'); + expect(reconstructedByteArray.toBigInt()).toBe(byteArray.toBigInt()); + }); + + test('should handle CairoByteArray created from BigInt', async () => { + const testBigInt = 0x48656c6c6f20576f726c64n; // "Hello World" as bigint + const byteArray = new CairoByteArray(testBigInt); + + // Send CairoByteArray to contract with parseRequest disabled + const storeResult = await byteArrayContract + .withOptions({ parseRequest: false }) + .store_message(byteArray.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract + .withOptions({ parseResponse: false }) + .read_message(); + + // Reconstruct CairoByteArray from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly stored and retrieved + expect(reconstructedByteArray.toBigInt()).toBe(testBigInt); + expect(reconstructedByteArray.toHexString()).toBe('0x48656c6c6f20576f726c64'); + }); + + test('should handle CairoByteArray created from Buffer', async () => { + const testBuffer = Buffer.from('Hello Buffer World!', 'utf8'); + const byteArray = new CairoByteArray(testBuffer); + + // Send CairoByteArray to contract with parseRequest disabled + const storeResult = await byteArrayContract + .withOptions({ parseRequest: false }) + .store_message(byteArray.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract + .withOptions({ parseResponse: false }) + .read_message(); + + // Reconstruct CairoByteArray from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly stored and retrieved + expect(reconstructedByteArray.decodeUtf8()).toBe('Hello Buffer World!'); + expect(reconstructedByteArray.toBigInt()).toBe(byteArray.toBigInt()); + expect(reconstructedByteArray.toHexString()).toBe(byteArray.toHexString()); + }); + + test('should handle CairoByteArray created from hex number', async () => { + const testNumber = 0x48656c6c6f; // "Hello" as hex number + const byteArray = new CairoByteArray(testNumber); + + // Send CairoByteArray to contract with parseRequest disabled + const storeResult = await byteArrayContract + .withOptions({ parseRequest: false }) + .store_message(byteArray.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract + .withOptions({ parseResponse: false }) + .read_message(); + + // Reconstruct CairoByteArray from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly stored and retrieved + expect(reconstructedByteArray.decodeUtf8()).toBe('Hello'); + expect(reconstructedByteArray.toBigInt()).toBe(BigInt(testNumber)); + expect(reconstructedByteArray.toHexString()).toBe('0x48656c6c6f'); + }); + + test('should handle CairoByteArray created from decimal number', async () => { + const testNumber = 1415934836; // "Test" as decimal number (0x54657374) + const byteArray = new CairoByteArray(testNumber); + + // Send CairoByteArray to contract with parseRequest disabled + const storeResult = await byteArrayContract + .withOptions({ parseRequest: false }) + .store_message(byteArray.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract + .withOptions({ parseResponse: false }) + .read_message(); + + // Reconstruct CairoByteArray from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly stored and retrieved + expect(reconstructedByteArray.decodeUtf8()).toBe('Test'); + expect(reconstructedByteArray.toBigInt()).toBe(BigInt(testNumber)); + expect(reconstructedByteArray.toHexString()).toBe('0x54657374'); + }); + + test('should preserve data integrity across multiple store/read cycles', async () => { + const testMessages = [ + 'First message', + 'Second message with numbers 12345', + 'Third message with symbols !@#$%', + '', + 'Final message after empty', + ]; + + // Process messages sequentially - each overwrites the previous + // eslint-disable-next-line no-restricted-syntax + for (const message of testMessages) { + const byteArray = new CairoByteArray(message); + + // Store message + // eslint-disable-next-line no-await-in-loop + const storeResult = await byteArrayContract + .withOptions({ parseRequest: false }) + .store_message(byteArray.toApiRequest()); + + // eslint-disable-next-line no-await-in-loop + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read message + // eslint-disable-next-line no-await-in-loop + const readResult = await byteArrayContract + .withOptions({ parseResponse: false }) + .read_message(); + + // Reconstruct and verify + const iterator = readResult[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + expect(reconstructedByteArray.decodeUtf8()).toBe(message); + } + }); + + test('should correctly serialize and deserialize complex byte patterns', async () => { + // Test with a message that includes various byte patterns + const complexBytes = new Uint8Array([ + 0x00, + 0x01, + 0x02, + 0x03, // Low bytes + 0x41, + 0x42, + 0x43, + 0x44, // ASCII letters + 0x7e, + 0x7f, + 0x80, + 0x81, // Boundary bytes + 0xfe, + 0xff, // High bytes + ]); + const byteArray = new CairoByteArray(complexBytes); + + // Send CairoByteArray to contract with parseRequest disabled + const storeResult = await byteArrayContract + .withOptions({ parseRequest: false }) + .store_message(byteArray.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract + .withOptions({ parseResponse: false }) + .read_message(); + + // Reconstruct CairoByteArray from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the bigint representation matches + expect(reconstructedByteArray.toBigInt()).toBe(byteArray.toBigInt()); + expect(reconstructedByteArray.toHexString()).toBe(byteArray.toHexString()); + }); + }); + + describe('Contract with enabled parsers (for comparison)', () => { + test('should store and read with automatic parsing', async () => { + const testMessage = 'Auto-parsed message'; + + // Store with automatic parsing + const storeResult = await byteArrayContract.store_message(testMessage); + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read with automatic parsing + const readResult = await byteArrayContract.read_message(); + + // The result should be automatically parsed to a string + expect(readResult).toBe(testMessage); + }); + }); +}); + +describe('CairoByteArray Contract Integration Tests', () => { + let provider: ProviderInterface; + let account: Account; + let byteArrayContract: Contract; + + beforeAll(async () => { + // Setup provider and account + provider = await createTestProvider(); + account = await getTestAccount(provider); + + // Deploy ByteArrayStorage contract using Contract.factory + byteArrayContract = await Contract.factory({ + contract: contracts.CairoByteArray.sierra, + casm: contracts.CairoByteArray.casm, + account, + constructorCalldata: [], + parsingStrategy: hdParsingStrategy, + }); + }, 60000); + + test('should store and read short CairoByteArray', async () => { + const testMessage = 'Hello, Starknet!'; + + // Send CairoByteArray to contract with parseRequest disabled + await byteArrayContract.withOptions({ waitForTransaction: true }).store_message(testMessage); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract.read_message(); + + // Verify the message is correctly stored and retrieved + expect(readResult).toBe(testMessage); + }); + + test('should store and read long CairoByteArray (> 31 bytes)', async () => { + const testMessage = 'Unicode test: émojis 🚀 and 中文字符 {}[]. 🇦🇺🇦🇺🇦🇺'; + + // Send CairoByteArray to contract with parseRequest disabled + await byteArrayContract.withOptions({ waitForTransaction: true }).store_message(testMessage); + + // Read CairoByteArray from contract with parseResponse disabled + const readResult = await byteArrayContract.read_message(); + + // Verify the message is correctly stored and retrieved + expect(readResult).toBe(testMessage); + }); + + test('should store and read Buffer file, custom response parsing strategy', async () => { + // Create custom parsing strategy that extends hdParsingStrategy + const customParsingStrategy: ParsingStrategy = { + request: hdParsingStrategy.request, + response: { + ...hdParsingStrategy.response, + [CairoByteArray.abiSelector]: (responseIterator: Iterator) => { + return CairoByteArray.factoryFromApiResponse(responseIterator).toBuffer(); + }, + }, + }; + + const customByteArrayContract = new Contract({ + abi: contracts.CairoByteArray.sierra.abi, + address: byteArrayContract.address, + providerOrAccount: account, + parsingStrategy: customParsingStrategy, + }); + + // (under 300 byte limit) for tx Emitted Event (https://github.com/starkware-libs/cairo-lang/blob/66355d7d99f1962ff9ccba8d0dbacbce3bd79bf8/src/starkware/starknet/definitions/versioned_constants.json#L491C10-L491C25) + const mockFilePath = path.resolve(__dirname, '../__mocks__/cairo/byteArray/src/lib.cairo'); + const originalBuffer = fs.readFileSync(mockFilePath); + + // Pass Buffer directly to store_message + await customByteArrayContract + .withOptions({ waitForTransaction: true }) + .store_message(originalBuffer); + + // Read it back + const retrievedData = await customByteArrayContract.read_message(); + + // Verify the round-trip worked correctly + expect(retrievedData).toEqual(originalBuffer); + }); + + xtest('should store and read large Buffer file without event, custom response parsing strategy', async () => { + // Create custom parsing strategy that extends hdParsingStrategy + const customParsingStrategy: ParsingStrategy = { + request: hdParsingStrategy.request, + response: { + ...hdParsingStrategy.response, + [CairoByteArray.abiSelector]: (responseIterator: Iterator) => { + return CairoByteArray.factoryFromApiResponse(responseIterator).toBuffer(); + }, + }, + }; + + // increase tip to avoid transaction evicted from mempool + account.defaultTipType = 'p95Tip'; + + // info logger to see failed tx life status + logger.setLogLevel('INFO'); + + const customByteArrayContract = new Contract({ + abi: contracts.CairoByteArray.sierra.abi, + address: byteArrayContract.address, + providerOrAccount: account, + parsingStrategy: customParsingStrategy, + }); + + // "execution error" :"Transaction size exceeds the maximum block capacity" + const mockFilePath = path.resolve( + __dirname, + '../__mocks__/cairo/byteArray/target/dev/test_ByteArrayStorage.sierra.json' + ); + const originalBuffer = fs.readFileSync(mockFilePath); + + // Pass Buffer directly to store_message + await customByteArrayContract + .withOptions({ waitForTransaction: true }) + .store_message_noevent(originalBuffer); + + // Read it back + const retrievedData = await customByteArrayContract.read_message(); + + // Verify the round-trip worked correctly + expect(retrievedData).toEqual(originalBuffer); + }); + + test('should receive and parse MessageStored event with ByteArray message', async () => { + const testMessage = '🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀'; + + // Send CairoByteArray to contract with parseRequest disabled + const txReceipt = await byteArrayContract + .withOptions({ waitForTransaction: true }) + .store_message(testMessage); + + // Parse events from transaction receipt + const events = byteArrayContract.parseEvents(txReceipt); + + // Use the new getByPath helper method (most convenient) + const messageStored = events.getByPath?.('MessageStored'); + if (!messageStored) throw new Error('MessageStored event not found'); + + // Verify all event return proper data + expect(toHex(messageStored.caller as BigNumberish)).toEqual(account.address); + expect(messageStored).toBeDefined(); + expect(messageStored.message).toEqual(testMessage); + }); +}); diff --git a/__tests__/cairov24onward.test.ts b/__tests__/cairov24onward.test.ts index 576eefa59..4b93ab785 100644 --- a/__tests__/cairov24onward.test.ts +++ b/__tests__/cairov24onward.test.ts @@ -19,7 +19,8 @@ import { } from '../src'; import { hexToDecimalString } from '../src/utils/num'; import { encodeShortString } from '../src/utils/shortString'; -import { contracts, createTestProvider, getTestAccount } from './config/fixtures'; +import { contracts } from './config/fixtures'; +import { createTestProvider, getTestAccount } from './config/fixturesInit'; describe('Cairo v2.4 onwards', () => { let provider: ProviderInterface; @@ -39,7 +40,11 @@ describe('Cairo v2.4 onwards', () => { casm: contracts.C240.casm, }); - stringContract = new Contract(contracts.C240.sierra.abi, deploy.contract_address, account); + stringContract = new Contract({ + abi: contracts.C240.sierra.abi, + address: deploy.contract_address, + providerOrAccount: account, + }); }); test('bytes31', async () => { @@ -50,9 +55,11 @@ describe('Cairo v2.4 onwards', () => { expect(callD1).toEqual([hexToDecimalString(encodeShortString(str))]); const callD2 = CallData.compile({ str }); expect(callD2).toEqual([hexToDecimalString(encodeShortString(str))]); + const myCallData = new CallData(contracts.C240.sierra.abi); const myCalldata1 = myCallData.compile('proceed_bytes31', [str]); expect(myCalldata1).toEqual([encodeShortString(str)]); + const myCalldata2 = myCallData.compile('proceed_bytes31', { str }); expect(myCalldata2).toEqual([encodeShortString(str)]); const myCall1 = stringContract.populate('proceed_bytes31', [str]); @@ -107,7 +114,11 @@ describe('Cairo v2.4 onwards', () => { casm: contracts.Tuple.casm, }); - tupleContract = new Contract(contracts.Tuple.sierra.abi, deploy.contract_address, account); + tupleContract = new Contract({ + abi: contracts.Tuple.sierra.abi, + address: deploy.contract_address, + providerOrAccount: account, + }); myCallData = new CallData(tupleContract.abi); }); @@ -246,7 +257,11 @@ describe('Cairo v2.4 onwards', () => { casm: contracts.U512.casm, }); - u512Contract = new Contract(contracts.U512.sierra.abi, deploy.contract_address, account); + u512Contract = new Contract({ + abi: contracts.U512.sierra.abi, + address: deploy.contract_address, + providerOrAccount: account, + }); }); test('u512 compile', async () => { @@ -321,11 +336,11 @@ describe('Cairo v2.4 onwards', () => { contract: contracts.NonZero.sierra, casm: contracts.NonZero.casm, }); - nonZeroContract = new Contract( - contracts.NonZero.sierra.abi, - deploy.contract_address, - account - ); + nonZeroContract = new Contract({ + abi: contracts.NonZero.sierra.abi, + address: deploy.contract_address, + providerOrAccount: account, + }); }); test('NonZero helpers', async () => { @@ -392,7 +407,11 @@ describe('Cairo v2.4 onwards', () => { contract: contracts.U96.sierra, casm: contracts.U96.casm, }); - u96Contract = new Contract(contracts.U96.sierra.abi, deploy.contract_address, account); + u96Contract = new Contract({ + abi: contracts.U96.sierra.abi, + address: deploy.contract_address, + providerOrAccount: account, + }); }); test('u96 compile', async () => { @@ -427,11 +446,11 @@ describe('Cairo v2.4 onwards', () => { contract: contracts.fixedArray.sierra, casm: contracts.fixedArray.casm, }); - fixedArrayContract = new Contract( - contracts.fixedArray.sierra.abi, - deploy.contract_address, - account - ); + fixedArrayContract = new Contract({ + abi: contracts.fixedArray.sierra.abi, + address: deploy.contract_address, + providerOrAccount: account, + }); }); test('Fixed array compile [core::integer::u32; 8]', async () => { diff --git a/__tests__/config/fixtures.ts b/__tests__/config/fixtures.ts index d34ed6217..227338f22 100644 --- a/__tests__/config/fixtures.ts +++ b/__tests__/config/fixtures.ts @@ -1,18 +1,17 @@ import fs from 'node:fs'; import path from 'node:path'; - -import { Account, Provider, ProviderInterface, RpcProvider, config, hash, json } from '../../src'; +import { DevnetProvider } from 'starknet-devnet'; +import { Provider, ProviderInterface, RpcProvider, config, hash, json } from '../../src'; import { CompiledSierra, CompiledSierraCasm, LegacyCompiledContract, RpcProviderOptions, } from '../../src/types'; -import { toHex } from '../../src/utils/num'; import { wait } from '../../src/utils/provider'; import { isString } from '../../src/utils/typed'; import './customMatchers'; // ensures TS traversal -import { SupportedRpcVersion, SupportedTransactionVersion } from '../../src/global/constants'; +import { SupportedRpcVersion } from '../../src/global/constants'; const readFile = (subpath: string) => fs.readFileSync(path.resolve(__dirname, subpath)); @@ -27,6 +26,10 @@ const readContractSet = (name: string, pathPrefix: string = 'cairo') => ({ casm: readContractSierraCasm(`${pathPrefix}/${name}`), }); +const readContractCasmOnly = (name: string, pathPrefix: string = 'cairo') => ({ + casm: readContractSierraCasm(`${pathPrefix}/${name}`), +}); + const mapContractSets = >( contractRecord: T, pathPrefix?: string @@ -72,6 +75,11 @@ const compiledContracts = { fixedArray: 'cairo292/fixed_array', TypeTransformation: 'cairo2114/contract', echo: 'cairo2114/echo', + deployer: 'cairo2100/deployer', + CairoByteArray: 'byteArray/target/dev/test_ByteArrayStorage', + IntegerTypes: 'integerTypes/target/dev/test_IntegerTypesStorage', + // CASM-only contracts (used for Blake2s hash verification against Rust implementation) + Blake2sVerificationContract: readContractCasmOnly('test_contract_rust'), }; export const contracts = mapContractSets(compiledContracts); @@ -101,58 +109,12 @@ export function getTestProvider( return isProvider ? new Provider(providerOptions) : new RpcProvider(providerOptions); } -export async function createTestProvider( - isProvider?: true, - setProviderOptions?: RpcProviderOptions -): Promise; -export async function createTestProvider( - isProvider?: false, - setProviderOptions?: RpcProviderOptions -): Promise; -export async function createTestProvider( - isProvider: boolean = true, - setProviderOptions?: RpcProviderOptions -): Promise { - const isDevnet = process.env.IS_DEVNET === 'true'; - - const providerOptions: RpcProviderOptions = { - ...setProviderOptions, - nodeUrl: process.env.TEST_RPC_URL, - specVersion: process.env.RPC_SPEC_VERSION as SupportedRpcVersion, - // accelerate the tests when running locally - ...(isDevnet && { transactionRetryIntervalFallback: 1000 }), - }; - return isProvider ? Provider.create(providerOptions) : RpcProvider.create(providerOptions); -} - -export const TEST_TX_VERSION = process.env.TX_VERSION as SupportedTransactionVersion; export const { TEST_WS_URL } = process.env; -export const getTestAccount = ( - provider: ProviderInterface, - txVersion?: SupportedTransactionVersion -) => { - return new Account( - provider, - toHex(process.env.TEST_ACCOUNT_ADDRESS || ''), - process.env.TEST_ACCOUNT_PRIVATE_KEY || '', - undefined, - txVersion ?? TEST_TX_VERSION - ); -}; - export const createBlockForDevnet = async (): Promise => { if (!(process.env.IS_DEVNET === 'true')) return; - const response = await fetch(new URL('/create_block', process.env.TEST_RPC_URL), { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: '{}', - }); - - if (!response.ok) { - const errorText = await response.text(); - throw new Error(`DEVNET status ${response.status}: ${errorText}`); - } + const devnet = new DevnetProvider({ url: process.env.TEST_RPC_URL }); + await devnet.createBlock(); }; export async function waitNextBlock(provider: RpcProvider, delay: number) { @@ -177,11 +139,7 @@ export const describeIfNotDevnet = describeIf(process.env.IS_DEVNET === 'false') export const describeIfDevnet = describeIf(process.env.IS_DEVNET === 'true'); export const describeIfTestnet = describeIf(process.env.IS_TESTNET === 'true'); export const describeIfRpc081 = describeIf(process.env.RPC_SPEC_VERSION === '0.8.1'); -export const describeIfRpc071 = describeIf(process.env.RPC_SPEC_VERSION === '0.7.1'); +export const describeIfRpc09 = describeIf(process.env.RPC_SPEC_VERSION === '0.9.0'); export const erc20ClassHash: string = hash.computeContractClassHash(contracts.Erc20OZ.sierra); // Cairo 1 export const C1v2ClassHash: string = hash.computeContractClassHash(contracts.C1v2.sierra); // Cairo 1 export const wrongClassHash = '0x000000000000000000000000000000000000000000000000000000000000000'; -export const ETHtokenAddress = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7'; -export const STRKtokenAddress = - '0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d'; -export const devnetFeeTokenAddress = TEST_TX_VERSION === '0x3' ? STRKtokenAddress : ETHtokenAddress; diff --git a/__tests__/config/fixturesInit.ts b/__tests__/config/fixturesInit.ts new file mode 100644 index 000000000..00c1c7f79 --- /dev/null +++ b/__tests__/config/fixturesInit.ts @@ -0,0 +1,76 @@ +import { + Account, + Provider, + ProviderInterface, + RpcProvider, + config, + getTipStatsFromBlocks, + type TipAnalysisOptions, +} from '../../src'; +import { RpcProviderOptions, type BlockIdentifier } from '../../src/types'; +import { toHex } from '../../src/utils/num'; +import './customMatchers'; // ensures TS traversal +import { SupportedRpcVersion, SupportedTransactionVersion } from '../../src/global/constants'; + +config.set('logLevel', 'ERROR'); + +export async function createTestProvider( + isProvider?: true, + setProviderOptions?: RpcProviderOptions +): Promise; +export async function createTestProvider( + isProvider?: false, + setProviderOptions?: RpcProviderOptions +): Promise; +export async function createTestProvider( + isProvider: boolean = true, + setProviderOptions?: RpcProviderOptions +): Promise { + const isDevnet = process.env.IS_DEVNET === 'true'; + const providerOptions: RpcProviderOptions = { + ...setProviderOptions, + nodeUrl: process.env.TEST_RPC_URL, + specVersion: process.env.RPC_SPEC_VERSION as SupportedRpcVersion, + // accelerate the tests when running locally + ...(isDevnet && { transactionRetryIntervalFallback: 1000 }), + }; + return isProvider ? Provider.create(providerOptions) : RpcProvider.create(providerOptions); +} + +export const TEST_TX_VERSION = process.env.TX_VERSION as SupportedTransactionVersion; +export function adaptAccountIfDevnet(account: Account): Account { + const isDevnet = process.env.IS_DEVNET === 'true'; + if (isDevnet) { + // eslint-disable-next-line no-param-reassign + account.getEstimateTip = function async( + blockIdentifier?: BlockIdentifier, + options: TipAnalysisOptions = {} + ) { + return getTipStatsFromBlocks(this, blockIdentifier, { + ...options, + minTxsNecessary: options.minTxsNecessary ?? 3, + maxBlocks: options.maxBlocks ?? 10, + }); + }; + } + return account; +} + +export const getTestAccount = ( + provider: ProviderInterface, + txVersion?: SupportedTransactionVersion +) => { + return adaptAccountIfDevnet( + new Account({ + provider, + address: toHex(process.env.TEST_ACCOUNT_ADDRESS || ''), + signer: process.env.TEST_ACCOUNT_PRIVATE_KEY || '', + transactionVersion: txVersion ?? TEST_TX_VERSION, + }) + ); +}; + +export const ETHtokenAddress = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7'; +export const STRKtokenAddress = + '0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d'; +export const devnetFeeTokenAddress = TEST_TX_VERSION === '0x3' ? STRKtokenAddress : ETHtokenAddress; diff --git a/__tests__/config/helpers/accountResolver.ts b/__tests__/config/helpers/accountResolver.ts index 72ce83a1c..5a48cd295 100644 --- a/__tests__/config/helpers/accountResolver.ts +++ b/__tests__/config/helpers/accountResolver.ts @@ -1,4 +1,5 @@ /* eslint-disable no-console */ +import { DevnetProvider } from 'starknet-devnet'; import { GS_DEFAULT_TEST_PROVIDER_URL } from '../constants'; class AccountResolver { @@ -15,9 +16,8 @@ class AccountResolver { } private async fetchAccount(url: string) { - const response = await fetch(`${url}predeployed_accounts`); - const [account] = await response.json(); - const { address, private_key, initial_balance } = account; + const devnet = new DevnetProvider({ url }); + const [{ address, private_key, initial_balance }] = await devnet.getPredeployedAccounts(); process.env.TEST_ACCOUNT_ADDRESS = address; process.env.TEST_ACCOUNT_PRIVATE_KEY = private_key; process.env.INITIAL_BALANCE = initial_balance; diff --git a/__tests__/config/helpers/initDevnetHistory.ts b/__tests__/config/helpers/initDevnetHistory.ts new file mode 100644 index 000000000..bb4ebbc38 --- /dev/null +++ b/__tests__/config/helpers/initDevnetHistory.ts @@ -0,0 +1,35 @@ +/* eslint-disable no-await-in-loop */ +import { cairo } from '../../../src'; +import { createTestProvider, devnetFeeTokenAddress, getTestAccount } from '../fixturesInit'; + +/** Create in Devnet 3 transactions to initiate tip history */ +export async function InitDevnetHistory() { + // It has been checked previously that we are using Devnet + const provider = await createTestProvider(); + const account = getTestAccount(provider); + const nbBlocks = await provider.getBlockNumber(); + if (nbBlocks < 3) { + // eslint-disable-next-line no-console + console.log('Init Devnet...'); + // eslint-disable-next-line no-plusplus + for (let i = 1n; i <= 3n; i++) { + try { + const { transaction_hash } = await account.execute( + { + contractAddress: devnetFeeTokenAddress, + entrypoint: 'transfer', + calldata: { + recipient: account.address, + amount: cairo.uint256(1n * 10n ** 3n), + }, + }, + { tip: i * 10n ** 6n } + ); + await account.waitForTransaction(transaction_hash); + } catch (error: any) { + // eslint-disable-next-line no-console + console.error('Error in Devnet initialization.', error); + } + } + } +} diff --git a/__tests__/config/helpers/strategyResolver.ts b/__tests__/config/helpers/strategyResolver.ts index baeb65bc2..562a5ceea 100644 --- a/__tests__/config/helpers/strategyResolver.ts +++ b/__tests__/config/helpers/strategyResolver.ts @@ -28,7 +28,7 @@ class StrategyResolver { return !!(TEST_ACCOUNT_PRIVATE_KEY && TEST_ACCOUNT_ADDRESS); } - private async isRsDevnet(): Promise { + private async isStarknetDevnet(): Promise { const response = await fetch(GS_DEFAULT_TEST_PROVIDER_URL, { method: 'POST', headers: { Accept: 'application/json', 'Content-Type': 'application/json' }, @@ -39,10 +39,10 @@ class StrategyResolver { } async detectDevnet(): Promise { - // if on base url RPC endpoint work it is devnet-rs else it devnet-py + // if on base url RPC endpoint work it is Starknet-devnet else it devnet-py try { - this.isDevnet = await this.isRsDevnet(); - if (this.isDevnet) console.log('Detected Devnet-RS'); + this.isDevnet = await this.isStarknetDevnet(); + if (this.isDevnet) console.log('Detected Starknet-devnet'); } catch (error) { console.log('\x1b[36m%s\x1b[0m', LOCAL_DEVNET_NOT_RUNNING_MESSAGE); throw new Error( diff --git a/__tests__/config/jestGlobalSetup.ts b/__tests__/config/jestGlobalSetup.ts index c804681c7..de29722a8 100644 --- a/__tests__/config/jestGlobalSetup.ts +++ b/__tests__/config/jestGlobalSetup.ts @@ -5,6 +5,7 @@ * ref: order of execution jestGlobalSetup.ts -> jest.setup.ts -> fixtures.ts */ +import { InitDevnetHistory } from './helpers/initDevnetHistory'; import strategyResolver from './helpers/strategyResolver'; /** @@ -13,4 +14,7 @@ import strategyResolver from './helpers/strategyResolver'; export default async (_globalConfig: any, _projectConfig: any) => { await strategyResolver.execute(); + if (process.env.IS_DEVNET === 'true') { + await InitDevnetHistory(); + } }; diff --git a/__tests__/config/schema.ts b/__tests__/config/schema.ts index 8dca2d223..c7f5330cc 100644 --- a/__tests__/config/schema.ts +++ b/__tests__/config/schema.ts @@ -2,7 +2,7 @@ import ajvKeywords from 'ajv-keywords'; import { matchersWithOptions } from 'jest-json-schema'; import starknet_api_openrpc from 'starknet_specs/api/starknet_api_openrpc.json'; -import starknet_api_openrpc071 from 'starknet_specs_071/api/starknet_api_openrpc.json'; +import starknet_api_openrpc08 from 'starknet_specs_08/api/starknet_api_openrpc.json'; import starknet_metadata from 'starknet_specs/api/starknet_metadata.json'; import starknet_trace_api_openrpc from 'starknet_specs/api/starknet_trace_api_openrpc.json'; import starknet_write_api from 'starknet_specs/api/starknet_write_api.json'; @@ -17,7 +17,7 @@ import { isBigInt } from '../../src/utils/typed'; const matcherSchemas = [accountSchemas, libSchemas, providerSchemas, rpcSchemas]; const starknetSchemas = [ { $id: 'starknet_api_openrpc', ...starknet_api_openrpc }, - { $id: 'starknet_api_openrpc071', ...starknet_api_openrpc071 }, + { $id: 'starknet_api_openrpc08', ...starknet_api_openrpc08 }, { $id: 'starknet_metadata', ...starknet_metadata }, { $id: 'starknet_trace_api_openrpc', ...starknet_trace_api_openrpc }, { $id: 'starknet_write_api', ...starknet_write_api }, diff --git a/__tests__/contract.test.ts b/__tests__/contract.test.ts index 5fad14cb1..a179629e5 100644 --- a/__tests__/contract.test.ts +++ b/__tests__/contract.test.ts @@ -1,8 +1,6 @@ -import type { ResourceBounds } from '@starknet-io/starknet-types-07'; import { Account, Contract, - ContractFactory, ProviderInterface, RawArgs, hash, @@ -15,17 +13,12 @@ import { uint256, num, byteArray, - type EstimateFee, RpcError, + ReceiptTx, } from '../src'; -import { - contracts, - createTestProvider, - describeIfRpc071, - describeIfRpc081, - getTestAccount, -} from './config/fixtures'; +import { contracts, describeIfRpc081 } from './config/fixtures'; +import { createTestProvider, getTestAccount } from './config/fixturesInit'; import { initializeMatcher } from './config/schema'; describe('contract module', () => { @@ -33,6 +26,7 @@ describe('contract module', () => { let provider: ProviderInterface; let account: Account; const erc20ClassHash = hash.computeContractClassHash(contracts.Erc20OZ.sierra); + const erc20CompiledClassHash = hash.computeCompiledClassHash(contracts.Erc20OZ.casm); const erc20CallData = new CallData(contracts.Erc20OZ.sierra.abi); let erc20Constructor: Calldata; let erc20ConstructorParams: RawArgs; @@ -63,9 +57,12 @@ describe('contract module', () => { constructorCalldata: erc20Constructor, }); erc20Address = deploy.address; - erc20Contract = new Contract(contracts.Erc20OZ.sierra.abi, erc20Address, provider); + erc20Contract = new Contract({ + abi: contracts.Erc20OZ.sierra.abi, + address: erc20Address, + providerOrAccount: provider, + }); }); - test('getCairoVersion', async () => { const version = await erc20Contract.getVersion(); expect(version).toEqual({ cairo: '1', compiler: '2' }); @@ -95,6 +92,23 @@ describe('contract module', () => { const balance = await erc20Contract.balanceOf(account.address); expect(balance).toStrictEqual(1000n); }); + + test('isDeployed should return contract when deployed', async () => { + const result = await erc20Contract.isDeployed(); + expect(result).toBe(erc20Contract); + }); + + test('isDeployed should throw error when contract not deployed', async () => { + const nonExistentContract = new Contract({ + abi: contracts.Erc20OZ.sierra.abi, + address: '0x123456789abcdef123456789abcdef123456789abcdef123456789abcdef1234', + providerOrAccount: provider, + }); + + await expect(nonExistentContract.isDeployed()).rejects.toThrow( + /Contract not deployed at address/ + ); + }); }); describe('Type Transformation', () => { @@ -106,11 +120,11 @@ describe('contract module', () => { casm: contracts.TypeTransformation.casm, }); - typeTransformedContract = new Contract( - contracts.TypeTransformation.sierra.abi, - deploy.contract_address!, - account - ); + typeTransformedContract = new Contract({ + abi: contracts.TypeTransformation.sierra.abi, + address: deploy.contract_address, + providerOrAccount: account, + }); }); describeIfRpc081('Request Type Transformation', () => { @@ -160,191 +174,6 @@ describe('contract module', () => { expect(txR.isSuccess()).toBe(true); }); }); - - describeIfRpc071('Request Type Transformation', () => { - test('Parsing the felt in request', async () => { - const myCall = typeTransformedContract.populate('request_felt', [3]); - const estim: EstimateFee = await account.estimateInvokeFee(myCall); - const resourceBounds: ResourceBounds = { - l1_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l1_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l1_gas.max_price_per_unit) * 2n - ), - }, - l2_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l2_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l2_gas.max_price_per_unit) * 2n - ), - }, - }; - const resp = await account.execute(myCall, { - resourceBounds, - }); - const txR = await provider.waitForTransaction(resp.transaction_hash); - expect(txR.isSuccess()).toBe(true); - }); - - test('Parsing the array of felt in request', async () => { - const myCall = typeTransformedContract.populate('request_array_of_felts', [[1, 2]]); - const estim: EstimateFee = await account.estimateInvokeFee(myCall); - const resourceBounds: ResourceBounds = { - l1_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l1_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l1_gas.max_price_per_unit) * 2n - ), - }, - l2_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l2_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l2_gas.max_price_per_unit) * 2n - ), - }, - }; - const resp = await account.execute(myCall, { - resourceBounds, - }); - const txR = await provider.waitForTransaction(resp.transaction_hash); - expect(txR.isSuccess()).toBe(true); - }); - - test('Parsing the struct in request', async () => { - const myCall = typeTransformedContract.populate('request_struct', [{ x: 1, y: 2 }]); - const estim: EstimateFee = await account.estimateInvokeFee(myCall); - const resourceBounds: ResourceBounds = { - l1_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l1_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l1_gas.max_price_per_unit) * 2n - ), - }, - l2_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l2_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l2_gas.max_price_per_unit) * 2n - ), - }, - }; - const resp = await account.execute(myCall, { - resourceBounds, - }); - const txR = await provider.waitForTransaction(resp.transaction_hash); - expect(txR.isSuccess()).toBe(true); - }); - - test('Parsing the array of structs in request', async () => { - const myCall = typeTransformedContract.populate('request_array_of_structs', [ - [{ x: 1, y: 2 }], - ]); - const estim: EstimateFee = await account.estimateInvokeFee(myCall); - const resourceBounds: ResourceBounds = { - l1_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l1_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l1_gas.max_price_per_unit) * 2n - ), - }, - l2_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l2_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l2_gas.max_price_per_unit) * 2n - ), - }, - }; - const resp = await account.execute(myCall, { - resourceBounds, - }); - - const txR = await provider.waitForTransaction(resp.transaction_hash); - expect(txR.isSuccess()).toBe(true); - }); - - test('Parsing the nested structs in request', async () => { - const myCall = typeTransformedContract.populate('request_nested_structs', [ - { - p1: { x: 1, y: 2 }, - p2: { x: 3, y: 4 }, - extra: 5, - }, - ]); - const estim: EstimateFee = await account.estimateInvokeFee(myCall); - const resourceBounds: ResourceBounds = { - l1_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l1_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l1_gas.max_price_per_unit) * 2n - ), - }, - l2_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l2_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l2_gas.max_price_per_unit) * 2n - ), - }, - }; - const resp = await account.execute(myCall, { - resourceBounds, - }); - - const txR = await provider.waitForTransaction(resp.transaction_hash); - expect(txR.isSuccess()).toBe(true); - }); - - test('Parsing the tuple in request', async () => { - const myCall = typeTransformedContract.populate('request_tuple', [cairo.tuple(1, 2)]); - const estim: EstimateFee = await account.estimateInvokeFee(myCall); - const resourceBounds: ResourceBounds = { - l1_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l1_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l1_gas.max_price_per_unit) * 2n - ), - }, - l2_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l2_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l2_gas.max_price_per_unit) * 2n - ), - }, - }; - const resp = await account.execute(myCall, { - resourceBounds, - }); - const txR = await provider.waitForTransaction(resp.transaction_hash); - expect(txR.isSuccess()).toBe(true); - }); - - test('Parsing the multiple types in request', async () => { - const myCall = typeTransformedContract.populate('request_mixed_types', [ - 2, - { x: 1, y: 2 }, - [1], - ]); - const estim: EstimateFee = await account.estimateInvokeFee(myCall); - const resourceBounds: ResourceBounds = { - l1_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l1_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l1_gas.max_price_per_unit) * 2n - ), - }, - l2_gas: { - max_amount: num.toHex(BigInt(estim.resourceBounds.l2_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(estim.resourceBounds.l2_gas.max_price_per_unit) * 2n - ), - }, - }; - const resp = await account.execute(myCall, { - resourceBounds, - }); - const txR = await provider.waitForTransaction(resp.transaction_hash); - expect(txR.isSuccess()).toBe(true); - }); - }); - describe('Response Type Transformation', () => { test('Parsing the felt in response', async () => { const res = await typeTransformedContract.get_felt(); @@ -391,7 +220,7 @@ describe('contract module', () => { }); }); - describe('class ContractFactory {}', () => { + describe('class static factory()', () => { beforeAll(async () => { await account.declareAndDeploy({ contract: contracts.Erc20OZ.sierra, @@ -399,43 +228,184 @@ describe('contract module', () => { constructorCalldata: erc20Constructor, }); }); - test('deployment of new contract', async () => { - const factory = new ContractFactory({ - compiledContract: contracts.Erc20OZ.sierra, + + test('factory deployment of new contract with constructor arguments as js params', async () => { + const erc20 = await Contract.factory({ + contract: contracts.Erc20OZ.sierra, + compiledClassHash: erc20CompiledClassHash, + account, + constructorCalldata: erc20ConstructorParams, + }); + expect(erc20).toBeInstanceOf(Contract); + }); + + test('factory deployment of new contract with constructor arguments as already compiled calldata', async () => { + const erc20 = await Contract.factory({ + contract: contracts.Erc20OZ.sierra, casm: contracts.Erc20OZ.casm, classHash: erc20ClassHash, account, + constructorCalldata: erc20Constructor, }); - const erc20 = await factory.deploy(...erc20Constructor); expect(erc20).toBeInstanceOf(Contract); }); - test('wait for deployment transaction', async () => { - const factory = new ContractFactory({ - compiledContract: contracts.Erc20OZ.sierra, + + test('optimization, factory deployment of new contract with constructor arguments as already compiled calldata', async () => { + const erc20 = await Contract.factory({ + contract: contracts.Erc20OZ.sierra, casm: contracts.Erc20OZ.casm, classHash: erc20ClassHash, account, + constructorCalldata: erc20Constructor, + parseRequest: false, // optimization when calldata are already validated and compiled. }); - const contract = await factory.deploy( - CallData.compile({ - name: byteArray.byteArrayFromString('Token'), - symbol: byteArray.byteArrayFromString('ERC20'), - amount: cairo.uint256(1000n), - recipient: account.address, - owner: account.address, - }) - ); - await expect(contract.deployed()).resolves.not.toThrow(); + expect(erc20).toBeInstanceOf(Contract); }); - test('attach new contract', async () => { - const factory = new ContractFactory({ - compiledContract: contracts.Erc20OZ.sierra, + + test('factory deployment of declared contract with constructor arguments as js params', async () => { + const erc20 = await Contract.factory({ + contract: contracts.Erc20OZ.sierra, + casm: contracts.Erc20OZ.casm, classHash: erc20ClassHash, account, + constructorCalldata: erc20ConstructorParams, }); - const erc20 = factory.attach(erc20Address); expect(erc20).toBeInstanceOf(Contract); }); + + describe('Deploy-only mode', () => { + test('deploy-only mode with classHash and provided ABI', async () => { + const erc20 = await Contract.factory({ + classHash: erc20ClassHash, + abi: contracts.Erc20OZ.sierra.abi, + account, + constructorCalldata: erc20ConstructorParams, + }); + + expect(erc20).toBeInstanceOf(Contract); + expect(erc20.classHash).toBe(erc20ClassHash); + expect(erc20.abi).toBeDefined(); + expect(Array.isArray(erc20.abi)).toBe(true); + + // Verify the contract is functional + const balanceResult = await erc20.balanceOf(account.address); + expect(balanceResult).toBeDefined(); + }); + + test('deploy-only mode with classHash and ABI fetched from network', async () => { + const erc20 = await Contract.factory({ + classHash: erc20ClassHash, + account, + constructorCalldata: erc20ConstructorParams, + }); + + expect(erc20).toBeInstanceOf(Contract); + expect(erc20.classHash).toBe(erc20ClassHash); + expect(erc20.abi).toBeDefined(); + expect(Array.isArray(erc20.abi)).toBe(true); + + // Verify the contract is functional with fetched ABI + const balanceResult = await erc20.balanceOf(account.address); + expect(balanceResult).toBeDefined(); + }); + + test('deploy-only mode with compiled calldata and parseRequest=false', async () => { + const erc20 = await Contract.factory({ + classHash: erc20ClassHash, + abi: contracts.Erc20OZ.sierra.abi, + account, + constructorCalldata: erc20Constructor, + parseRequest: false, + }); + + expect(erc20).toBeInstanceOf(Contract); + expect(erc20.classHash).toBe(erc20ClassHash); + }); + + test('deploy-only mode with salt parameter', async () => { + const customSalt = '0x123456789abcdef'; + + try { + const erc20 = await Contract.factory({ + classHash: erc20ClassHash, + abi: contracts.Erc20OZ.sierra.abi, + account, + constructorCalldata: erc20ConstructorParams, + salt: customSalt, + }); + + expect(erc20).toBeInstanceOf(Contract); + expect(erc20.classHash).toBe(erc20ClassHash); + } catch (error: any) { + // If the test is run multiple times on the same network, + // the salted address will already be occupied - this is expected + if (error.message?.includes('contract already deployed at address')) { + // This is a valid outcome - the address is already occupied + expect(true).toBe(true); + } else { + // Re-throw unexpected errors + throw error; + } + } + }); + + test('should throw error when classHash is invalid', async () => { + const invalidClassHash = '0x123invalid'; + + await expect( + Contract.factory({ + classHash: invalidClassHash, + account, + constructorCalldata: erc20ConstructorParams, + }) + ).rejects.toThrow(); + }); + + test('should handle BigNumberish classHash and verify internal parameters', async () => { + // Use the original ABI for testing + const customAbi = contracts.Erc20OZ.sierra.abi; + + // Mock the deployContract method to avoid full deployment + const deployContractSpy = jest.spyOn(account, 'deployContract').mockResolvedValue({ + transaction_hash: '0xmock_hash', + contract_address: '0xmock_address', + address: '0xmock_address', + deployer: '0xmock_deployer', + unique: '0x0', + classHash: erc20ClassHash, + calldata_len: '0x4', + calldata: ['0x1', '0x2', '0x3', '0x4'], + salt: '0x0', + }); + + const erc20 = await Contract.factory({ + classHash: BigInt(erc20ClassHash), + abi: customAbi, + account, + constructorCalldata: erc20ConstructorParams, + }); + + // Verify internal parameters passed to deployContract + expect(deployContractSpy).toHaveBeenCalledWith( + { + classHash: BigInt(erc20ClassHash).toString(), // BigInt should be converted to string + constructorCalldata: erc20ConstructorParams, + salt: undefined, + unique: undefined, + abi: customAbi, // Should use provided ABI + }, + {} + ); + + expect(erc20).toBeInstanceOf(Contract); + expect(erc20.abi).toBeDefined(); + expect(Array.isArray(erc20.abi)).toBe(true); + expect(erc20.classHash).toBe(BigInt(erc20ClassHash).toString()); // BigInt should be stored as string + + // Restore the original method + deployContractSpy.mockRestore(); + }); + }); }); }); @@ -445,37 +415,30 @@ describe('Complex interaction', () => { let provider: ProviderInterface; let account: Account; const classHash = hash.computeContractClassHash(contracts.Erc20OZ.sierra); - let factory: ContractFactory; - let echoFactory: ContractFactory; - const erc20CallData = new CallData(contracts.Erc20OZ.sierra.abi); - let erc20Constructor: Calldata; - let erc20ConstructorParams: RawArgs; beforeAll(async () => { provider = await createTestProvider(); account = getTestAccount(provider); - erc20ConstructorParams = { - name: 'TEST', - symbol: 'TST', - amount: 1000n, - recipient: account.address, - owner: account.address, - }; - erc20Constructor = erc20CallData.compile('constructor', erc20ConstructorParams); - factory = new ContractFactory({ - compiledContract: contracts.Erc20OZ.sierra, + erc20Contract = await Contract.factory({ + contract: contracts.Erc20OZ.sierra, casm: contracts.Erc20OZ.casm, classHash, account, + constructorCalldata: { + name: 'TEST', + symbol: 'TST', + amount: 1000n, + recipient: account.address, + owner: account.address, + }, }); - erc20Contract = await factory.deploy(erc20Constructor); - echoFactory = new ContractFactory({ - compiledContract: contracts.echo.sierra, + + echoContract = await Contract.factory({ + contract: contracts.echo.sierra, casm: contracts.echo.casm, account, }); - echoContract = await echoFactory.deploy(); }); test('contractFactory.deploy with raw arguments - all types constructor params', () => { @@ -486,15 +449,20 @@ describe('Complex interaction', () => { test('contractFactory.deploy with callData - all types constructor params', async () => { // Deploy with callData - OK - const erc20Contract2 = await factory.deploy( - CallData.compile({ + const erc20Contract2 = await Contract.factory({ + contract: contracts.Erc20OZ.sierra, + casm: contracts.Erc20OZ.casm, + classHash, + account, + constructorCalldata: CallData.compile({ name: byteArray.byteArrayFromString('Token'), symbol: byteArray.byteArrayFromString('ERC20'), amount: cairo.uint256('1000000000'), recipient: account.address, owner: '0x823d5a0c0eefdc9a6a1cb0e064079a6284f3b26566b677a32c71bbe7bf9f8c', - }) - ); + }), + }); + expect(erc20Contract2).toBeInstanceOf(Contract); }); @@ -1047,16 +1015,16 @@ describe('Complex interaction', () => { .withOptions({ resourceBounds: { l1_gas: { - max_amount: '0', - max_price_per_unit: '0', + max_amount: 0n, + max_price_per_unit: 0n, }, l1_data_gas: { - max_amount: '0', - max_price_per_unit: '0', + max_amount: 0n, + max_price_per_unit: 0n, }, l2_gas: { - max_amount: '0', - max_price_per_unit: '0', + max_amount: 0n, + max_price_per_unit: 0n, }, }, }) @@ -1082,6 +1050,15 @@ describe('Complex interaction', () => { const result3 = await echoContract.invoke('iecho', args); const transaction3R = await provider.waitForTransaction(result3.transaction_hash); expect(transaction3R.isSuccess()).toBe(true); + + const result4 = await echoContract.invoke('iecho', args, { waitForTransaction: true }); + expect(result4.block_number).toBeDefined(); + expect(result4).toBeInstanceOf(ReceiptTx); + expect(result4.isSuccess()).toBe(true); + + const result5 = await echoContract.withOptions({ waitForTransaction: true }).iecho(calldata); + const transactionR2 = await provider.waitForTransaction(result5.transaction_hash); + expect(transactionR2.isSuccess()).toBe(true); }); describe('speedup live tests', () => { @@ -1191,15 +1168,25 @@ describe('Complex interaction', () => { const gas2 = await echoContract.estimateFee.iecho(...args); const gas3 = await echoContract.estimate('iecho', calldata); const gas4 = await echoContract.estimate('iecho', args); - expect(gas1).toMatchSchemaRef('EstimateFee'); - expect(gas2).toMatchSchemaRef('EstimateFee'); - expect(gas3).toMatchSchemaRef('EstimateFee'); - expect(gas4).toMatchSchemaRef('EstimateFee'); + expect(gas1).toMatchSchemaRef('EstimateFeeResponseOverhead'); + expect(gas2).toMatchSchemaRef('EstimateFeeResponseOverhead'); + expect(gas3).toMatchSchemaRef('EstimateFeeResponseOverhead'); + expect(gas4).toMatchSchemaRef('EstimateFeeResponseOverhead'); + }); + + test('estimate fee with options (expect to fail due to bad nonce)', async () => { + await expect( + echoContract + .withOptions({ + nonce: 0, + }) + .estimateFee.iecho(...Object.values(request)) + ).rejects.toThrow(RpcError); }); test('estimate fee transfer', async () => { const gas = await erc20Contract.estimateFee.transfer(stark.randomAddress(), cairo.uint256(1)); - expect(gas).toMatchSchemaRef('EstimateFee'); + expect(gas).toMatchSchemaRef('EstimateFeeResponseOverhead'); }); }); }); diff --git a/__tests__/defaultNodes.test.ts b/__tests__/defaultNodes.test.ts index 7cb614385..9ef2b7713 100644 --- a/__tests__/defaultNodes.test.ts +++ b/__tests__/defaultNodes.test.ts @@ -64,7 +64,7 @@ describe('Default RPC Nodes', () => { ); }) ); - + // eslint-disable-next-line no-console console.table(result.flat()); return result .flat() diff --git a/__tests__/defaultPaymaster.test.ts b/__tests__/defaultPaymaster.test.ts index 7e59ef3ed..004d073b6 100644 --- a/__tests__/defaultPaymaster.test.ts +++ b/__tests__/defaultPaymaster.test.ts @@ -1,11 +1,12 @@ -import { OutsideExecutionTypedData } from '@starknet-io/starknet-types-08'; import { - RpcError, PaymasterRpc, - ExecutionParameters, - UserTransaction, - ExecutableUserTransaction, + RpcError, + RPC, + type ExecutableUserTransaction, + type ExecutionParameters, + type UserTransaction, } from '../src'; + import fetchMock from '../src/utils/connect/fetch'; import { signatureToHexArray } from '../src/utils/stark'; @@ -158,7 +159,7 @@ describe('PaymasterRpc', () => { // Given const client = new PaymasterRpc(); const mockSignature = ['0x1', '0x2']; - const mockTypedData: OutsideExecutionTypedData = { + const mockTypedData: RPC.OutsideExecutionTypedData = { domain: {}, types: {}, primaryType: '', diff --git a/__tests__/defaultProvider.test.ts b/__tests__/defaultProvider.test.ts index c62acc476..369095509 100644 --- a/__tests__/defaultProvider.test.ts +++ b/__tests__/defaultProvider.test.ts @@ -1,8 +1,8 @@ import { Account, + Block, BlockNumber, CallData, - GetBlockResponse, isPendingStateUpdate, LibraryError, Provider, @@ -12,13 +12,8 @@ import { type Calldata, type RawArgs, } from '../src'; -import { - contracts, - createTestProvider, - erc20ClassHash, - getTestAccount, - wrongClassHash, -} from './config/fixtures'; +import { contracts, erc20ClassHash, wrongClassHash } from './config/fixtures'; +import { createTestProvider, getTestAccount } from './config/fixturesInit'; import { initializeMatcher } from './config/schema'; describe('defaultProvider', () => { @@ -26,7 +21,7 @@ describe('defaultProvider', () => { let account: Account; let exampleTransactionHash: string; let erc20ContractAddress: string; - let exampleBlock: GetBlockResponse; + let exampleBlock: Block; let exampleBlockNumber: BlockNumber; let exampleBlockHash: string; let erc20Constructor: Calldata; @@ -200,7 +195,7 @@ describe('defaultProvider', () => { user: '0xdeadbeef', }), }) - ).rejects.toThrowError(); + ).rejects.toThrow(); }); }); }); diff --git a/__tests__/integerTypesContract.test.ts b/__tests__/integerTypesContract.test.ts new file mode 100644 index 000000000..ade7a7b39 --- /dev/null +++ b/__tests__/integerTypesContract.test.ts @@ -0,0 +1,377 @@ +import { Account, Contract, ProviderInterface, hdParsingStrategy } from '../src'; +import { contracts } from './config/fixtures'; +import { createTestProvider, getTestAccount } from './config/fixturesInit'; +import { CairoUint8 } from '../src/utils/cairoDataTypes/uint8'; +import { CairoUint16 } from '../src/utils/cairoDataTypes/uint16'; +import { CairoUint64 } from '../src/utils/cairoDataTypes/uint64'; +import { CairoUint128 } from '../src/utils/cairoDataTypes/uint128'; +import { CairoInt64 } from '../src/utils/cairoDataTypes/int64'; + +describe('Integer Types Manual Integration Tests', () => { + let provider: ProviderInterface; + let account: Account; + let integerTypesContract: Contract; + + beforeAll(async () => { + // Setup provider and account + provider = await createTestProvider(); + account = await getTestAccount(provider); + + // Deploy IntegerTypesStorage contract using Contract.factory + integerTypesContract = await Contract.factory({ + contract: contracts.IntegerTypes.sierra, + casm: contracts.IntegerTypes.casm, + account, + constructorCalldata: [], + }); + }, 60000); + + describe('Contract with disabled request and response parsers', () => { + test('should demonstrate CairoUint8 usage with disabled parsers', () => { + const testValue = 200; + const cairoU8 = new CairoUint8(testValue); + + // When using parseRequest: false, you need to provide raw calldata + const rawCalldata = cairoU8.toApiRequest(); + + // Verify the raw calldata format + expect(rawCalldata).toBeInstanceOf(Array); + expect(rawCalldata.length).toBe(1); + expect(typeof rawCalldata[0]).toBe('string'); + + // When using parseResponse: false, you receive raw response data + const rawResponse = rawCalldata; // Simulate contract returning the same data + const iterator = rawResponse[Symbol.iterator](); + const reconstructedValue = CairoUint8.factoryFromApiResponse(iterator); + + // Verify the reconstruction worked correctly + expect(reconstructedValue.toBigInt()).toBe(BigInt(testValue)); + }); + + test('should store and read CairoUint8 with disabled parsers', async () => { + const testValue = 150; + const cairoU8 = new CairoUint8(testValue); + + // Send CairoUint8 to contract with parseRequest disabled + const storeResult = await integerTypesContract + .withOptions({ parseRequest: false }) + .store_u8(cairoU8.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoUint8 from contract with parseResponse disabled + const readResult = await integerTypesContract.withOptions({ parseResponse: false }).read_u8(); + + // Reconstruct CairoUint8 from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedValue = CairoUint8.factoryFromApiResponse(iterator); + + // Verify the value is correctly stored and retrieved + expect(reconstructedValue.toBigInt()).toBe(BigInt(testValue)); + }); + + test('should store and read CairoUint128 with disabled parsers', async () => { + const testValue = BigInt('340282366920938463463374607431768211455'); // Max u128 + const cairoU128 = new CairoUint128(testValue); + + // Send CairoUint128 to contract with parseRequest disabled + const storeResult = await integerTypesContract + .withOptions({ parseRequest: false }) + .store_u128(cairoU128.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoUint128 from contract with parseResponse disabled + const readResult = await integerTypesContract + .withOptions({ parseResponse: false }) + .read_u128(); + + // Reconstruct CairoUint128 from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedValue = CairoUint128.factoryFromApiResponse(iterator); + + // Verify the value is correctly stored and retrieved + expect(reconstructedValue.toBigInt()).toBe(testValue); + }); + + test('should store and read CairoInt64 with disabled parsers', async () => { + const testValue = BigInt('9223372036854775807'); // Max i64 instead of min to avoid serialization issues + const cairoI64 = new CairoInt64(testValue); + + // Send CairoInt64 to contract with parseRequest disabled + const storeResult = await integerTypesContract + .withOptions({ parseRequest: false }) + .store_i64(cairoI64.toApiRequest()); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read CairoInt64 from contract with parseResponse disabled + const readResult = await integerTypesContract + .withOptions({ parseResponse: false }) + .read_i64(); + + // Reconstruct CairoInt64 from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedValue = CairoInt64.factoryFromApiResponse(iterator); + + // Verify the value is correctly stored and retrieved + expect(reconstructedValue.toBigInt()).toBe(testValue); + }); + + test('should store all unsigned integer types in batch with disabled parsers', async () => { + const u8Val = new CairoUint8(200); + const u16Val = new CairoUint16(50000); + const u64Val = new CairoUint64(BigInt('1234567890123')); + const u128Val = new CairoUint128(BigInt('123456789012345678901234567890')); + + // Store all values with parseRequest disabled - pass individual values, not arrays + const storeResult = await integerTypesContract + .withOptions({ parseRequest: false }) + .store_all_unsigned( + u8Val.toApiRequest()[0], + u16Val.toApiRequest()[0], + u64Val.toApiRequest()[0], + u128Val.toApiRequest()[0] + ); + + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read all values back with parseResponse disabled + const readResult = await integerTypesContract + .withOptions({ parseResponse: false }) + .read_all_unsigned(); + + // Reconstruct values from raw response + const iterator = readResult[Symbol.iterator](); + const reconstructedU8 = CairoUint8.factoryFromApiResponse(iterator); + const reconstructedU16 = CairoUint16.factoryFromApiResponse(iterator); + const reconstructedU64 = CairoUint64.factoryFromApiResponse(iterator); + const reconstructedU128 = CairoUint128.factoryFromApiResponse(iterator); + + // Verify all values are correctly stored and retrieved + expect(reconstructedU8.toBigInt()).toBe(BigInt(200)); + expect(reconstructedU16.toBigInt()).toBe(BigInt(50000)); + expect(reconstructedU64.toBigInt()).toBe(BigInt('1234567890123')); + expect(reconstructedU128.toBigInt()).toBe(BigInt('123456789012345678901234567890')); + }); + }); + + describe('Contract with enabled parsers (for comparison)', () => { + test('should store and read with automatic parsing', async () => { + const testValue = 100; + + // Store with automatic parsing + const storeResult = await integerTypesContract.store_u8(testValue); + await provider.waitForTransaction(storeResult.transaction_hash); + + // Read with automatic parsing + const readResult = await integerTypesContract.read_u8(); + + // The result should be automatically parsed to a BigInt + expect(readResult).toBe(BigInt(testValue)); + }); + }); +}); + +describe('Integer Types Contract Integration Tests', () => { + let provider: ProviderInterface; + let account: Account; + let integerTypesContract: Contract; + + beforeAll(async () => { + // Setup provider and account + provider = await createTestProvider(); + account = await getTestAccount(provider); + + // Deploy IntegerTypesStorage contract using Contract.factory with hdParsingStrategy + integerTypesContract = await Contract.factory({ + contract: contracts.IntegerTypes.sierra, + casm: contracts.IntegerTypes.casm, + account, + constructorCalldata: [], + parsingStrategy: hdParsingStrategy, + }); + }, 60000); + + test('should store and read CairoUint8 values', async () => { + const testValue = 255; // Max u8 + + const txReceipt = await integerTypesContract + .withOptions({ waitForTransaction: true }) + .store_u8(testValue); + + // Verify the value is stored correctly + const readResult = await integerTypesContract.read_u8(); + expect(readResult).toBe(BigInt(testValue)); + + // Parse events from transaction receipt + const events = integerTypesContract.parseEvents(txReceipt); + + // Verify U8Stored event was emitted with correct value + const u8Stored = events.getByPath?.('U8Stored'); + if (!u8Stored) throw new Error('U8Stored event not found'); + + expect(u8Stored.value).toBe(BigInt(testValue)); + }); + + test('should store and read CairoUint16 values', async () => { + const testValue = 65535; // Max u16 + + await integerTypesContract.withOptions({ waitForTransaction: true }).store_u16(testValue); + + const readResult = await integerTypesContract.read_u16(); + expect(readResult).toBe(BigInt(testValue)); + }); + + test('should store and read CairoUint64 values', async () => { + const testValue = BigInt('18446744073709551615'); // Max u64 + + await integerTypesContract.withOptions({ waitForTransaction: true }).store_u64(testValue); + + const readResult = await integerTypesContract.read_u64(); + expect(readResult).toBe(testValue); + }); + + test('should store and read CairoUint128 values', async () => { + const testValue = BigInt('340282366920938463463374607431768211455'); // Max u128 + + await integerTypesContract.withOptions({ waitForTransaction: true }).store_u128(testValue); + + const readResult = await integerTypesContract.read_u128(); + expect(readResult).toBe(testValue); + }); + + test('should store and read CairoInt8 values', async () => { + const testValue = -128n; // Min i8 + + const txReceipt = await integerTypesContract + .withOptions({ waitForTransaction: true }) + .store_i8(testValue); + + // Verify the value is stored correctly + const readResult = await integerTypesContract.read_i8(); + expect(readResult).toBe(BigInt(testValue)); + + // Parse events from transaction receipt + const events = integerTypesContract.parseEvents(txReceipt); + + // Verify I8Stored event was emitted with correct value + const i8Stored = events.getByPath?.('I8Stored'); + if (!i8Stored) throw new Error('I8Stored event not found'); + + expect(i8Stored.value).toBe(BigInt(testValue)); + }); + + test('should store and read CairoInt16 values', async () => { + const testValue = 32767; // Max i16 + + await integerTypesContract.withOptions({ waitForTransaction: true }).store_i16(testValue); + + const readResult = await integerTypesContract.read_i16(); + expect(readResult).toBe(BigInt(testValue)); + }); + + test('should store and read CairoInt32 values', async () => { + const testValue = -2147483648; // Min i32 + + await integerTypesContract.withOptions({ waitForTransaction: true }).store_i32(testValue); + + const readResult = await integerTypesContract.read_i32(); + expect(readResult).toBe(BigInt(testValue)); + }); + + test('should store and read CairoInt64 values', async () => { + const testValue = BigInt('9223372036854775807'); // Max i64 + + await integerTypesContract.withOptions({ waitForTransaction: true }).store_i64(testValue); + + const readResult = await integerTypesContract.read_i64(); + expect(readResult).toBe(testValue); + }); + + test('should store and read CairoInt128 values', async () => { + const testValue = BigInt('-170141183460469231731687303715884105728'); // Min i128 + + await integerTypesContract.withOptions({ waitForTransaction: true }).store_i128(testValue); + + const readResult = await integerTypesContract.read_i128(); + expect(readResult).toBe(testValue); + }); + + test('should store and read all unsigned types at once', async () => { + const u8Val = 200; + const u16Val = 50000; + const u64Val = BigInt('1234567890123'); + const u128Val = BigInt('123456789012345678901234567890'); + + await integerTypesContract + .withOptions({ waitForTransaction: true }) + .store_all_unsigned(u8Val, u16Val, u64Val, u128Val); + + const readResult = await integerTypesContract.read_all_unsigned(); + // Contract returns a tuple, which is converted to an object with numeric keys + expect(readResult).toEqual({ + 0: BigInt(200), + 1: BigInt(50000), + 2: BigInt('1234567890123'), + 3: BigInt('123456789012345678901234567890'), + }); + }); + + test('should store and read all signed types at once', async () => { + const i8Val = -100; + const i16Val = -25000; + const i32Val = -1000000000; + const i64Val = BigInt('-1234567890123'); + const i128Val = BigInt('-123456789012345678901234567890'); + + await integerTypesContract + .withOptions({ waitForTransaction: true }) + .store_all_signed(i8Val, i16Val, i32Val, i64Val, i128Val); + + const readResult = await integerTypesContract.read_all_signed(); + // Contract returns a tuple, which is converted to an object with numeric keys + expect(readResult).toEqual({ + 0: BigInt(-100), + 1: BigInt(-25000), + 2: BigInt(-1000000000), + 3: BigInt('-1234567890123'), + 4: BigInt('-123456789012345678901234567890'), + }); + }); + + test('should return correct boundary values for unsigned types', async () => { + const result = await integerTypesContract.test_boundary_values_unsigned(); + // Contract returns a tuple, which is converted to an object with numeric keys + expect(result).toEqual({ + 0: BigInt(255), // Max u8 + 1: BigInt(65535), // Max u16 + 2: BigInt('18446744073709551615'), // Max u64 + 3: BigInt('340282366920938463463374607431768211455'), // Max u128 + }); + }); + + test('should return correct boundary values for signed types', async () => { + const result = await integerTypesContract.test_boundary_values_signed(); + // Contract returns a tuple, which is converted to an object with numeric keys + expect(result).toEqual({ + 0: BigInt(127), // Max i8 + 1: BigInt(32767), // Max i16 + 2: BigInt(2147483647), // Max i32 + 3: BigInt('9223372036854775807'), // Max i64 + 4: BigInt('170141183460469231731687303715884105727'), // Max i128 + }); + }); + + test('should return correct negative boundary values for signed types', async () => { + const result = await integerTypesContract.test_negative_boundary_values_signed(); + // Contract returns a tuple, which is converted to an object with numeric keys + expect(result).toEqual({ + 0: BigInt(-128), // Min i8 + 1: BigInt(-32768), // Min i16 + 2: BigInt(-2147483648), // Min i32 + 3: BigInt('-9223372036854775808'), // Min i64 + 4: BigInt('-170141183460469231731687303715884105728'), // Min i128 + }); + }); +}); diff --git a/__tests__/rpcChannel071.test.ts b/__tests__/rpcChannel071.test.ts deleted file mode 100644 index 65cfbebbe..000000000 --- a/__tests__/rpcChannel071.test.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { LibraryError, RPC07, RpcError } from '../src'; -import { createBlockForDevnet, createTestProvider, describeIfRpc071 } from './config/fixtures'; -import { initializeMatcher } from './config/schema'; - -describeIfRpc071('RpcChannel 0.7.1', () => { - let nodeUrl: string; - let channel07: RPC07.RpcChannel; - initializeMatcher(expect); - - beforeAll(async () => { - nodeUrl = (await createTestProvider(false)).channel.nodeUrl; - channel07 = new RPC07.RpcChannel({ nodeUrl }); - - await createBlockForDevnet(); - }); - - test('baseFetch override', async () => { - const baseFetch = jest.fn(); - const fetchChannel07 = new RPC07.RpcChannel({ nodeUrl, baseFetch }); - (fetchChannel07.fetch as any)(); - expect(baseFetch).toHaveBeenCalledTimes(1); - }); - - test('RPC error handling', async () => { - const fetchSpy = jest.spyOn(channel07, 'fetch'); - fetchSpy.mockResolvedValue({ - json: async () => ({ - jsonrpc: '2.0', - error: { - code: 24, - message: 'Block not found', - }, - id: 0, - }), - } as any); - - expect.assertions(3); - try { - // @ts-expect-error - await channel07.fetchEndpoint('starknet_chainId'); - } catch (error) { - expect(error).toBeInstanceOf(LibraryError); - expect(error).toBeInstanceOf(RpcError); - expect((error as RpcError).isType('BLOCK_NOT_FOUND')).toBe(true); - } - fetchSpy.mockRestore(); - }); - describe('RPC 0.7.1', () => { - test('getBlockWithReceipts', async () => { - const response = await channel07.getBlockWithReceipts('latest'); - expect(response).toMatchSchemaRef('BlockWithTxReceipts071'); - }); - }); -}); diff --git a/__tests__/rpcChannel081.test.ts b/__tests__/rpcChannel081.test.ts index 652582c5f..d1319929d 100644 --- a/__tests__/rpcChannel081.test.ts +++ b/__tests__/rpcChannel081.test.ts @@ -1,5 +1,6 @@ import { LibraryError, RPC08, RpcError } from '../src'; -import { createBlockForDevnet, createTestProvider, describeIfRpc081 } from './config/fixtures'; +import { createBlockForDevnet, describeIfRpc081 } from './config/fixtures'; +import { createTestProvider } from './config/fixturesInit'; import { initializeMatcher } from './config/schema'; describeIfRpc081('RpcChannel', () => { @@ -50,7 +51,7 @@ describeIfRpc081('RpcChannel', () => { describe('RPC 0.8.1', () => { test('getBlockWithReceipts', async () => { const response = await channel08.getBlockWithReceipts('latest'); - expect(response).toMatchSchemaRef('BlockWithTxReceipts'); + expect(response).toMatchSchemaRef('BlockWithTxReceipts08'); }); }); }); diff --git a/__tests__/rpcChannel09.test.ts b/__tests__/rpcChannel09.test.ts new file mode 100644 index 000000000..3057136d9 --- /dev/null +++ b/__tests__/rpcChannel09.test.ts @@ -0,0 +1,201 @@ +import { LibraryError, RPC09, RpcError } from '../src'; +import { createBlockForDevnet } from './config/fixtures'; +import { createTestProvider } from './config/fixturesInit'; +import { initializeMatcher } from './config/schema'; + +// Force RPC 0.9.0 for testing purposes (bypasses auto-detection) +const originalRpcSpecVersion = process.env.RPC_SPEC_VERSION; +const describeIfRpc09ForTesting = + process.env.FORCE_RPC09_TESTS === 'true' ? describe : describe.skip; + +describeIfRpc09ForTesting('UNIT TEST: RPC 0.9.0 Channel', () => { + let nodeUrl: string; + let channel09: RPC09.RpcChannel; + initializeMatcher(expect); + + beforeAll(async () => { + // Temporarily set RPC_SPEC_VERSION to 0.9.0 for these tests + process.env.RPC_SPEC_VERSION = '0.9.0'; + + nodeUrl = (await createTestProvider(false)).channel.nodeUrl; + channel09 = new RPC09.RpcChannel({ nodeUrl }); + + await createBlockForDevnet(); + }); + + afterAll(() => { + // Restore original RPC_SPEC_VERSION + if (originalRpcSpecVersion) { + process.env.RPC_SPEC_VERSION = originalRpcSpecVersion; + } else { + delete process.env.RPC_SPEC_VERSION; + } + }); + + test('baseFetch override', async () => { + const baseFetch = jest.fn(); + const fetchChannel09 = new RPC09.RpcChannel({ nodeUrl, baseFetch }); + (fetchChannel09.fetch as any)(); + expect(baseFetch).toHaveBeenCalledTimes(1); + baseFetch.mockClear(); + }); + + test('RPC error handling', async () => { + const fetchSpy = jest.spyOn(channel09, 'fetch'); + fetchSpy.mockResolvedValue({ + json: async () => ({ + jsonrpc: '2.0', + error: { + code: 24, + message: 'Block not found', + }, + id: 0, + }), + } as any); + + expect.assertions(3); + try { + // @ts-expect-error + await channel09.fetchEndpoint('starknet_chainId'); + } catch (error) { + expect(error).toBeInstanceOf(LibraryError); + expect(error).toBeInstanceOf(RpcError); + expect((error as RpcError).isType('BLOCK_NOT_FOUND')).toBe(true); + } + fetchSpy.mockRestore(); + }); + + describe('RPC 0.9.0 specific methods', () => { + test('getBlockWithReceipts', async () => { + const response = await channel09.getBlockWithReceipts('latest'); + expect(response).toMatchSchemaRef('BlockWithTxReceipts'); + }); + + test('getMessagesStatus', async () => { + // Test with a dummy transaction hash + const dummyTxHash = '0x123456789abcdef'; + + // Since this is a new method that may not have real data in devnet, + // we'll mock the response to test the method structure + const fetchSpy = jest.spyOn(channel09, 'fetch'); + fetchSpy.mockResolvedValueOnce({ + json: async () => ({ + jsonrpc: '2.0', + result: [], + id: 1, + }), + } as any); + + const response = await channel09.getMessagesStatus(dummyTxHash); + expect(Array.isArray(response)).toBe(true); + + fetchSpy.mockRestore(); + }); + + test('getStorageProof', async () => { + // Test storage proof with empty arrays + const fetchSpy = jest.spyOn(channel09, 'fetch'); + fetchSpy.mockResolvedValueOnce({ + json: async () => ({ + jsonrpc: '2.0', + result: { + classes_proof: [], + contracts_proof: [], + contracts_storage_proofs: [], + }, + id: 1, + }), + } as any); + + const response = await channel09.getStorageProof(); + expect(response).toHaveProperty('classes_proof'); + expect(response).toHaveProperty('contracts_proof'); + expect(response).toHaveProperty('contracts_storage_proofs'); + + fetchSpy.mockRestore(); + }); + + test('getCompiledCasm', async () => { + // Test with a dummy class hash + const dummyClassHash = '0x123456789abcdef'; + + const fetchSpy = jest.spyOn(channel09, 'fetch'); + fetchSpy.mockResolvedValueOnce({ + json: async () => ({ + jsonrpc: '2.0', + result: { + bytecode: [], + hints: [], + pythonic_hints: [], + compiler_version: '2.0.0', + }, + id: 1, + }), + } as any); + + const response = await channel09.getCompiledCasm(dummyClassHash); + expect(response).toHaveProperty('bytecode'); + expect(response).toHaveProperty('hints'); + expect(response).toHaveProperty('pythonic_hints'); + expect(response).toHaveProperty('compiler_version'); + + fetchSpy.mockRestore(); + }); + + test('simulateTransaction supports V3 transactions', async () => { + // Test that simulate transaction works with resource bounds (V3 feature) + const mockSimulateResponse = { + jsonrpc: '2.0', + result: [ + { + fee_estimation: { + l1_gas_consumed: '0x1000', + l1_gas_price: '0x64', + l1_data_gas_consumed: '0x500', + l1_data_gas_price: '0x32', + l2_gas_consumed: '0x200', + l2_gas_price: '0x20', + overall_fee: '0x10000', + unit: 'FRI', + }, + transaction_trace: { + type: 'INVOKE', + execution_resources: {}, + }, + }, + ], + id: 1, + }; + + const fetchSpy = jest.spyOn(channel09, 'fetch'); + fetchSpy.mockResolvedValueOnce({ + json: async () => mockSimulateResponse, + } as any); + + // Mock invocation with V3 transaction structure + const mockInvocation = { + type: 'INVOKE' as const, + contractAddress: '0x123', + calldata: [], + signature: [], + nonce: '0x1', + version: '0x3', + resourceBounds: { + l1_gas: { max_amount: 1000n, max_price_per_unit: 100n }, + l2_gas: { max_amount: 2000n, max_price_per_unit: 200n }, + l1_data_gas: { max_amount: 500n, max_price_per_unit: 50n }, + }, + tip: 0n, + paymasterData: [], + accountDeploymentData: [], + nonceDataAvailabilityMode: 'L1' as const, + feeDataAvailabilityMode: 'L1' as const, + }; + + const response = await channel09.simulateTransaction([mockInvocation]); + expect(Array.isArray(response)).toBe(true); + + fetchSpy.mockRestore(); + }); + }); +}); diff --git a/__tests__/rpcProvider.test.ts b/__tests__/rpcProvider.test.ts index 9242e57c1..11bc79ba7 100644 --- a/__tests__/rpcProvider.test.ts +++ b/__tests__/rpcProvider.test.ts @@ -3,15 +3,10 @@ import { hasMixin } from 'ts-mixer'; import { contracts, createBlockForDevnet, - createTestProvider, describeIfDevnet, describeIfNotDevnet, describeIfRpc, - describeIfRpc071, - describeIfRpc081, describeIfTestnet, - ETHtokenAddress, - getTestAccount, waitNextBlock, } from './config/fixtures'; import { initializeMatcher } from './config/schema'; @@ -34,12 +29,37 @@ import { stark, waitForTransactionOptions, isVersion, + toAnyPatchVersion, + BlockTag, + logger, + type GasPrices, } from '../src'; import { StarknetChainId } from '../src/global/constants'; import { isBoolean } from '../src/utils/typed'; import { RpcProvider as BaseRpcProvider } from '../src/provider/rpc'; import { RpcProvider as ExtendedRpcProvider } from '../src/provider/extensions/default'; import { StarknetId } from '../src/provider/extensions/starknetId'; +import { createTestProvider, ETHtokenAddress, getTestAccount } from './config/fixturesInit'; + +/** + * Helper function to create expected zero tip estimate for tests + */ +function expectZeroTipEstimate() { + return { + minTip: 0n, + maxTip: 0n, + averageTip: 0n, + medianTip: 0n, + modeTip: 0n, + recommendedTip: 0n, + p90Tip: 0n, + p95Tip: 0n, + metrics: expect.objectContaining({ + blocksAnalyzed: expect.any(Number), + transactionsTipsFound: expect.any(Array), + }), + }; +} describeIfRpc('RPCProvider', () => { let rpcProvider: RpcProvider; @@ -76,7 +96,7 @@ describeIfRpc('RPCProvider', () => { const rawResult = await channel.fetch('starknet_specVersion'); const j = await rawResult.json(); expect(channel.readSpecVersion()).toBeDefined(); - expect(isVersion(j.result, await channel.setUpSpecVersion())).toBeTruthy(); + expect(isVersion(toAnyPatchVersion(j.result), await channel.setUpSpecVersion())).toBeTruthy(); }); test('baseFetch override', async () => { @@ -142,34 +162,50 @@ describeIfRpc('RPCProvider', () => { expect(typeof spec).toBe('string'); }); - test('configurable margin', async () => { + test('getGasPrices', async () => { + const gasPrices: GasPrices = await rpcProvider.getGasPrices('latest'); + expect(gasPrices).toHaveProperty('l1DataGasPrice'); + expect(gasPrices).toHaveProperty('l1GasPrice'); + expect(gasPrices).toHaveProperty('l2GasPrice'); + expect(typeof gasPrices.l1DataGasPrice).toBe('bigint'); + expect(typeof gasPrices.l1GasPrice).toBe('bigint'); + expect(typeof gasPrices.l2GasPrice).toBe('bigint'); + }); + + test('configurable fee overhead on instance', async () => { const p = new RpcProvider({ nodeUrl: provider.channel.nodeUrl, - feeMarginPercentage: { - bounds: { - l1_gas: { - max_amount: 0, - max_price_per_unit: 0, - }, + resourceBoundsOverhead: { + l1_gas: { + max_amount: 0, + max_price_per_unit: 0, + }, + l2_gas: { + max_amount: 0, + max_price_per_unit: 0, + }, + l1_data_gas: { + max_amount: 0, + max_price_per_unit: 0, }, - maxFee: 0, }, }); const estimateSpy = jest.spyOn(p.channel as any, 'getEstimateFee'); const mockFeeEstimate: FeeEstimate = { - gas_consumed: '0x2', - gas_price: '0x1', - data_gas_consumed: '0x2', - data_gas_price: '0x1', + l1_gas_consumed: '0x2', + l1_gas_price: '0x1', + l2_gas_consumed: '0x2', + l2_gas_price: '0x1', + l1_data_gas_consumed: '0x2', + l1_data_gas_price: '0x1', overall_fee: '0x4', unit: 'WEI', }; estimateSpy.mockResolvedValue([mockFeeEstimate]); const result = (await p.getEstimateFeeBulk([{} as any], {}))[0]; expect(estimateSpy).toHaveBeenCalledTimes(1); - expect(result.suggestedMaxFee).toBe(4n); - expect(result.resourceBounds.l1_gas.max_amount).toBe('0x4'); - expect(result.resourceBounds.l1_gas.max_price_per_unit).toBe('0x1'); + expect(result.resourceBounds.l1_gas.max_amount).toBe(2n); + expect(result.resourceBounds.l1_gas.max_price_per_unit).toBe(1n); estimateSpy.mockRestore(); }); @@ -185,50 +221,26 @@ describeIfRpc('RPCProvider', () => { await waitNextBlock(provider as RpcProvider, 5000); // in Sepolia Testnet, needs pending block validation before interacting }); - describeIfRpc081('estimate message fee rpc 0.8', () => { - test('estimate message fee Cairo 1', async () => { - const L1_ADDRESS = '0x8359E4B0152ed5A731162D3c7B0D8D56edB165'; // not coded in 20 bytes - const estimationCairo1 = await rpcProvider.estimateMessageFee({ - from_address: L1_ADDRESS, - to_address: l1l2ContractCairo1Address, - entry_point_selector: 'increase_bal', - payload: ['100'], - }); - expect(estimationCairo1).toEqual( - expect.objectContaining({ - l1_data_gas_consumed: expect.anything(), - l1_data_gas_price: expect.anything(), - l1_gas_consumed: expect.anything(), - l1_gas_price: expect.anything(), - l2_gas_consumed: expect.anything(), - l2_gas_price: expect.anything(), - overall_fee: expect.anything(), - unit: expect.anything(), - }) - ); - }); - }); - - describeIfRpc071('estimate message fee rpc 0.7', () => { - test('estimate message fee Cairo 1', async () => { - const L1_ADDRESS = '0x8359E4B0152ed5A731162D3c7B0D8D56edB165'; // not coded in 20 bytes - const estimationCairo1 = await rpcProvider.estimateMessageFee({ - from_address: L1_ADDRESS, - to_address: l1l2ContractCairo1Address, - entry_point_selector: 'increase_bal', - payload: ['100'], - }); - expect(estimationCairo1).toEqual( - expect.objectContaining({ - data_gas_consumed: expect.anything(), - data_gas_price: expect.anything(), - gas_consumed: expect.anything(), - gas_price: expect.anything(), - overall_fee: expect.anything(), - unit: expect.anything(), - }) - ); + test('estimate message fee Cairo 1', async () => { + const L1_ADDRESS = '0x8359E4B0152ed5A731162D3c7B0D8D56edB165'; // not coded in 20 bytes + const estimationCairo1 = await rpcProvider.estimateMessageFee({ + from_address: L1_ADDRESS, + to_address: l1l2ContractCairo1Address, + entry_point_selector: 'increase_bal', + payload: ['100'], }); + expect(estimationCairo1).toEqual( + expect.objectContaining({ + l1_data_gas_consumed: expect.anything(), + l1_data_gas_price: expect.anything(), + l1_gas_consumed: expect.anything(), + l1_gas_price: expect.anything(), + l2_gas_consumed: expect.anything(), + l2_gas_price: expect.anything(), + overall_fee: expect.anything(), + unit: expect.anything(), // removed from spec but still supplied by nodes + }) + ); }); }); @@ -287,6 +299,77 @@ describeIfRpc('RPCProvider', () => { }); }); + describe('fastWaitForTransaction()', () => { + test('timeout due to low tip', async () => { + const spyProvider = jest + .spyOn(rpcProvider.channel, 'getTransactionStatus') + .mockImplementation(async () => { + return { finality_status: 'RECEIVED' }; + }); + const resp = await rpcProvider.fastWaitForTransaction('0x123', '0x456', 10, { + retries: 2, + retryInterval: 100, + }); + spyProvider.mockRestore(); + expect(resp).toBe(false); + }); + + test('timeout due to missing new nonce', async () => { + const spyProvider = jest + .spyOn(rpcProvider.channel, 'getTransactionStatus') + .mockImplementation(async () => { + return { finality_status: 'PRE_CONFIRMED', execution_status: 'SUCCEEDED' }; + }); + const spyChannel = jest + .spyOn(rpcProvider.channel, 'getNonceForAddress') + .mockImplementation(async () => { + return '0x8'; + }); + const resp = await rpcProvider.fastWaitForTransaction('0x123', '0x456', 8, { + retries: 2, + retryInterval: 100, + }); + spyProvider.mockRestore(); + spyChannel.mockRestore(); + expect(resp).toBe(false); + }); + + test('transaction reverted', async () => { + const spyProvider = jest + .spyOn(rpcProvider.channel, 'getTransactionStatus') + .mockImplementation(async () => { + return { finality_status: 'PRE_CONFIRMED', execution_status: 'REVERTED' }; + }); + await expect( + rpcProvider.fastWaitForTransaction('0x123', '0x456', 10, { + retries: 2, + retryInterval: 100, + }) + ).rejects.toThrow('REVERTED: PRE_CONFIRMED'); + spyProvider.mockRestore(); + }); + + test('Normal behavior', async () => { + const spyProvider = jest + .spyOn(rpcProvider.channel, 'getTransactionStatus') + .mockImplementation(async () => { + return { finality_status: 'ACCEPTED_ON_L2', execution_status: 'SUCCEEDED' }; + }); + const spyChannel = jest + .spyOn(rpcProvider.channel, 'getNonceForAddress') + .mockImplementation(async () => { + return '0x9'; + }); + const resp = await rpcProvider.fastWaitForTransaction('0x123', '0x456', 8, { + retries: 2, + retryInterval: 100, + }); + spyProvider.mockRestore(); + spyChannel.mockRestore(); + expect(resp).toBe(true); + }); + }); + describe('RPC methods', () => { let latestBlock: Block; @@ -322,10 +405,15 @@ describeIfRpc('RPCProvider', () => { }); test('getTransactionByBlockIdAndIndex', async () => { - const transaction = await rpcProvider.getTransactionByBlockIdAndIndex( - latestBlock.block_number, - 0 - ); + // Find a block with transactions + let block: any = latestBlock; // TODO: fix this type + let blockNumber = latestBlock.block_number; + while (block.transactions.length === 0 && blockNumber > latestBlock.block_number - 20) { + blockNumber -= 1; + // eslint-disable-next-line no-await-in-loop + block = await provider.getBlock(blockNumber); + } + const transaction = await rpcProvider.getTransactionByBlockIdAndIndex(blockNumber, 0); expect(transaction).toHaveProperty('transaction_hash'); }); @@ -361,11 +449,11 @@ describeIfRpc('RPCProvider', () => { constructorCalldata: erc20Constructor, }); - const erc20EchoContract = new Contract( - contracts.Erc20OZ.sierra.abi, - deploy.contract_address!, - account - ); + const erc20EchoContract = new Contract({ + abi: contracts.Erc20OZ.sierra.abi, + address: deploy.contract_address, + providerOrAccount: account, + }); await erc20EchoContract.transfer(randomWallet, cairo.uint256(1)); await erc20EchoContract.transfer(randomWallet, cairo.uint256(1)); @@ -465,6 +553,320 @@ describeIfRpc('RPCProvider', () => { }); }); }); + + describe('Tip Estimation', () => { + describeIfRpc('getEstimateTip', () => { + test('should estimate tip from latest block or handle insufficient data', async () => { + const tipEstimate = await rpcProvider.getEstimateTip('latest', { + minTxsNecessary: 1, // Use low threshold for test reliability + maxBlocks: 10, // Use more blocks to increase chance of finding data + }); + + expect(tipEstimate).toBeDefined(); + expect(tipEstimate).toEqual({ + minTip: expect.any(BigInt), + maxTip: expect.any(BigInt), + averageTip: expect.any(BigInt), + medianTip: expect.any(BigInt), + modeTip: expect.any(BigInt), + recommendedTip: expect.any(BigInt), + p90Tip: expect.any(BigInt), + p95Tip: expect.any(BigInt), + metrics: expect.objectContaining({ + blocksAnalyzed: expect.any(Number), + transactionsTipsFound: expect.any(Array), + }), + }); + + // If there's insufficient data, all values should be 0n + if (tipEstimate.recommendedTip === 0n) { + expect(tipEstimate).toEqual(expectZeroTipEstimate()); + } else { + // Verify tip relationships + expect(tipEstimate.minTip).toBeLessThanOrEqual(tipEstimate.maxTip); + expect(tipEstimate.recommendedTip).toBeGreaterThan(0n); + + // Verify recommended tip is median tip (no buffer) + expect(tipEstimate.recommendedTip).toBe(tipEstimate.medianTip); + } + }); + + test('should estimate tip from specific block number or handle insufficient data', async () => { + const latestBlockNumber = await rpcProvider.getBlockNumber(); + const targetBlock = Math.max(0, latestBlockNumber - 2); // Use a recent block + + try { + const tipEstimate = await rpcProvider.getEstimateTip(targetBlock, { + minTxsNecessary: 1, + maxBlocks: 10, + }); + + expect(tipEstimate).toBeDefined(); + expect(typeof tipEstimate.minTip).toBe('bigint'); + expect(typeof tipEstimate.maxTip).toBe('bigint'); + expect(typeof tipEstimate.averageTip).toBe('bigint'); + expect(typeof tipEstimate.medianTip).toBe('bigint'); + expect(typeof tipEstimate.modeTip).toBe('bigint'); + expect(typeof tipEstimate.recommendedTip).toBe('bigint'); + } catch (error) { + expect((error as Error).message).toContain('Insufficient transaction data'); + } + }); + + test('should work with includeZeroTips option or handle insufficient data', async () => { + try { + const tipEstimate = await rpcProvider.getEstimateTip('latest', { + minTxsNecessary: 1, + maxBlocks: 10, + includeZeroTips: true, + }); + + expect(tipEstimate).toBeDefined(); + // With zero tips included, minimum could be 0 + expect(tipEstimate.minTip).toBeGreaterThanOrEqual(0n); + expect(tipEstimate.maxTip).toBeGreaterThanOrEqual(tipEstimate.minTip); + } catch (error) { + expect((error as Error).message).toContain('Insufficient transaction data'); + } + }); + + test('should work with custom maxBlocks or handle insufficient data', async () => { + const tipEstimate = await rpcProvider.getEstimateTip('latest', { + minTxsNecessary: 1, + maxBlocks: 20, // Analyze more blocks + }); + + expect(tipEstimate).toBeDefined(); + + // If there's insufficient data, all values should be 0n + if (tipEstimate.recommendedTip === 0n) { + expect(tipEstimate).toEqual(expectZeroTipEstimate()); + } else { + expect(tipEstimate.recommendedTip).toBeGreaterThan(0n); + } + }); + + test('should return zero values with insufficient transaction data', async () => { + logger.setLogLevel('FATAL'); + const tipEstimate = await rpcProvider.getEstimateTip('latest', { + minTxsNecessary: 1000, // Unreasonably high requirement + maxBlocks: 1, + }); + logger.setLogLevel('ERROR'); + + expect(tipEstimate).toEqual(expectZeroTipEstimate()); + }); + + describeIfDevnet('with devnet transactions', () => { + test('should provide estimates after creating transactions', async () => { + // First create some transactions to ensure we have tip data + const { transaction_hash } = await account.execute({ + contractAddress: ETHtokenAddress, + entrypoint: 'transfer', + calldata: { + recipient: account.address, + amount: cairo.uint256(1n), + }, + }); + + await account.waitForTransaction(transaction_hash); + await createBlockForDevnet(); // Ensure transaction is in a block + + try { + const tipEstimate = await rpcProvider.getEstimateTip('latest', { + minTxsNecessary: 1, + maxBlocks: 10, + }); + + expect(tipEstimate).toBeDefined(); + expect(tipEstimate.minTip).toBeLessThanOrEqual(tipEstimate.maxTip); + expect(tipEstimate.recommendedTip).toBeGreaterThanOrEqual(tipEstimate.medianTip); + + // Test that we get consistent estimates + const tipEstimate2 = await rpcProvider.getEstimateTip('latest', { + minTxsNecessary: 1, + maxBlocks: 10, + }); + + expect(tipEstimate2.medianTip).toBe(tipEstimate.medianTip); + expect(tipEstimate2.recommendedTip).toBe(tipEstimate.recommendedTip); + } catch (error) { + // Even after creating transactions, V3 invoke transactions might not have tips in devnet + expect((error as Error).message).toContain('Insufficient transaction data'); + } + }); + + test('should handle different block ranges after creating multiple transactions', async () => { + // Create multiple transactions across different blocks + for (let i = 0; i < 3; i += 1) { + // eslint-disable-next-line no-await-in-loop + const { transaction_hash } = await account.execute({ + contractAddress: ETHtokenAddress, + entrypoint: 'transfer', + calldata: { + recipient: account.address, + amount: cairo.uint256(BigInt(i + 1)), + }, + }); + // eslint-disable-next-line no-await-in-loop + await account.waitForTransaction(transaction_hash); + // eslint-disable-next-line no-await-in-loop + await createBlockForDevnet(); + } + + // Test with different block ranges + logger.setLogLevel('FATAL'); + const smallRange = await rpcProvider.getEstimateTip('latest', { + minTxsNecessary: 1, + maxBlocks: 1, + }); + logger.setLogLevel('ERROR'); + + const largeRange = await rpcProvider.getEstimateTip('latest', { + minTxsNecessary: 1, + maxBlocks: 10, + }); + + expect(smallRange).toBeDefined(); + expect(largeRange).toBeDefined(); + + // If insufficient data, values should be 0n + if (smallRange.recommendedTip === 0n) { + expect(smallRange).toEqual(expectZeroTipEstimate()); + } else { + expect(smallRange.recommendedTip).toBeGreaterThan(0n); + } + + if (largeRange.recommendedTip === 0n) { + expect(largeRange).toEqual(expectZeroTipEstimate()); + } else { + expect(largeRange.recommendedTip).toBeGreaterThan(0n); + } + }); + }); + + test('should handle provider with batching enabled', async () => { + // Create a provider with batching enabled + const batchedProvider = new RpcProvider({ + nodeUrl: rpcProvider.channel.nodeUrl, + batch: 50, // Enable batching + }); + + const tipEstimate = await batchedProvider.getEstimateTip('latest', { + minTxsNecessary: 1, + maxBlocks: 10, + }); + + expect(tipEstimate).toBeDefined(); + + // Verify the structure is correct + expect(tipEstimate).toEqual({ + minTip: expect.any(BigInt), + maxTip: expect.any(BigInt), + averageTip: expect.any(BigInt), + medianTip: expect.any(BigInt), + modeTip: expect.any(BigInt), + recommendedTip: expect.any(BigInt), + p90Tip: expect.any(BigInt), + p95Tip: expect.any(BigInt), + metrics: expect.objectContaining({ + blocksAnalyzed: expect.any(Number), + transactionsTipsFound: expect.any(Array), + }), + }); + + // If insufficient data, values should be 0n + if (tipEstimate.recommendedTip === 0n) { + expect(tipEstimate).toEqual(expectZeroTipEstimate()); + } else { + expect(tipEstimate.recommendedTip).toBeGreaterThan(0n); + } + }); + + test('should calculate statistics correctly with real data when available', async () => { + try { + const tipEstimate = await rpcProvider.getEstimateTip('latest', { + minTxsNecessary: 1, + maxBlocks: 15, + }); + + // Verify mathematical relationships + expect(tipEstimate.minTip).toBeLessThanOrEqual(tipEstimate.averageTip); + expect(tipEstimate.averageTip).toBeLessThanOrEqual(tipEstimate.maxTip); + expect(tipEstimate.medianTip).toBeGreaterThanOrEqual(tipEstimate.minTip); + expect(tipEstimate.medianTip).toBeLessThanOrEqual(tipEstimate.maxTip); + expect(tipEstimate.modeTip).toBeGreaterThanOrEqual(tipEstimate.minTip); + expect(tipEstimate.modeTip).toBeLessThanOrEqual(tipEstimate.maxTip); + + // Verify recommended tip calculation + expect(tipEstimate.recommendedTip).toBe(tipEstimate.medianTip); + } catch (error) { + // Expected when insufficient tip data is available + expect((error as Error).message).toContain('Insufficient transaction data'); + } + }); + + test('should use median tip directly as recommended tip', async () => { + try { + const tipEstimate = await rpcProvider.getEstimateTip('latest', { + minTxsNecessary: 1, + maxBlocks: 10, + }); + + // Recommended tip should equal median tip directly + expect(tipEstimate.recommendedTip).toBe(tipEstimate.medianTip); + } catch (error) { + // Expected in environments without sufficient tip data + expect((error as Error).message).toContain('Insufficient transaction data'); + } + }); + }); + }); + + describe('EIP712 verification', () => { + beforeEach(async () => { + // Use existing rpcProvider and account from outer scope + }); + + test('sign and verify message', async () => { + const signature = await account.signMessage(typedDataExample); + const verifMessageResponse: boolean = await rpcProvider.verifyMessageInStarknet( + typedDataExample, + signature, + account.address + ); + expect(verifMessageResponse).toBe(true); + + const messageHash = await account.hashMessage(typedDataExample); + const verifMessageResponse2: boolean = await rpcProvider.verifyMessageInStarknet( + messageHash, + signature, + account.address + ); + expect(verifMessageResponse2).toBe(true); + }); + + test('sign and verify EIP712 message fail', async () => { + const signature = await account.signMessage(typedDataExample); + const [r, s] = stark.formatSignature(signature); + + // change the signature to make it invalid + const r2 = num.toBigInt(r) + 123n; + const wrongSignature = new Signature(num.toBigInt(r2.toString()), num.toBigInt(s)); + if (!wrongSignature) return; + const verifMessageResponse: boolean = await rpcProvider.verifyMessageInStarknet( + typedDataExample, + wrongSignature, + account.address + ); + expect(verifMessageResponse).toBe(false); + + const wrongAccountAddress = '0x123456789'; + await expect( + rpcProvider.verifyMessageInStarknet(typedDataExample, signature, wrongAccountAddress) + ).rejects.toThrow(); + }); + }); }); describeIfTestnet('RPCProvider', () => { @@ -486,8 +888,8 @@ describeIfTestnet('RPCProvider', () => { await expect(provider.getL1MessageHash('0x123')).rejects.toThrow(/Transaction hash not found/); }); }); -describeIfNotDevnet('waitForBlock', () => { - // As Devnet-rs isn't generating automatically blocks at a periodic time, it's excluded of this test. +describeIfNotDevnet('If not devnet: waitForBlock', () => { + // As Starknet-devnet isn't generating automatically blocks at a periodic time, it's excluded of this test. const providerStandard = new RpcProvider({ nodeUrl: process.env.TEST_RPC_URL }); const providerFastTimeOut = new RpcProvider({ nodeUrl: process.env.TEST_RPC_URL, retries: 1 }); let block: number; @@ -518,54 +920,8 @@ describeIfNotDevnet('waitForBlock', () => { test('waitForBlock pending', async () => { await providerStandard.waitForBlock('pending'); expect(true).toBe(true); // answer without timeout Error (blocks have to be spaced with 16 minutes maximum : 200 retries * 5000ms) - }); -}); - -describe('EIP712 verification', () => { - let rpcProvider: RpcProvider; - let account: Account; - beforeEach(async () => { - rpcProvider = await createTestProvider(false); - account = getTestAccount(rpcProvider); - }); - - test('sign and verify message', async () => { - const signature = await account.signMessage(typedDataExample); - const verifMessageResponse: boolean = await rpcProvider.verifyMessageInStarknet( - typedDataExample, - signature, - account.address - ); - expect(verifMessageResponse).toBe(true); - - const messageHash = await account.hashMessage(typedDataExample); - const verifMessageResponse2: boolean = await rpcProvider.verifyMessageInStarknet( - messageHash, - signature, - account.address - ); - expect(verifMessageResponse2).toBe(true); - }); - - test('sign and verify EIP712 message fail', async () => { - const signature = await account.signMessage(typedDataExample); - const [r, s] = stark.formatSignature(signature); - - // change the signature to make it invalid - const r2 = num.toBigInt(r) + 123n; - const wrongSignature = new Signature(num.toBigInt(r2.toString()), num.toBigInt(s)); - if (!wrongSignature) return; - const verifMessageResponse: boolean = await rpcProvider.verifyMessageInStarknet( - typedDataExample, - wrongSignature, - account.address - ); - expect(verifMessageResponse).toBe(false); - - const wrongAccountAddress = '0x123456789'; - await expect( - rpcProvider.verifyMessageInStarknet(typedDataExample, signature, wrongAccountAddress) - ).rejects.toThrow(); + await providerStandard.waitForBlock(BlockTag.PRE_CONFIRMED); + expect(true).toBe(true); }); }); diff --git a/__tests__/schemas/account.json b/__tests__/schemas/account.json index 73ad545c3..3ad6e24a2 100644 --- a/__tests__/schemas/account.json +++ b/__tests__/schemas/account.json @@ -1,23 +1,63 @@ { "$id": "accountSchemas", "definitions": { - "EstimateFee": { + "ResourceBoundsBN": { "type": "object", "properties": { - "overall_fee": { - "isBigInt": "true" + "l1_gas": { + "type": "object", + "properties": { + "max_amount": { + "isBigInt": "true" + }, + "max_price_per_unit": { + "isBigInt": "true" + } + }, + "required": ["max_amount", "max_price_per_unit"] }, - "suggestedMaxFee": { - "isBigInt": "true" + "l2_gas": { + "type": "object", + "properties": { + "max_amount": { + "isBigInt": "true" + }, + "max_price_per_unit": { + "isBigInt": "true" + } + }, + "required": ["max_amount", "max_price_per_unit"] }, - "gas_consumed": { - "isBigInt": "true" + "l1_data_gas": { + "type": "object", + "properties": { + "max_amount": { + "isBigInt": "true" + }, + "max_price_per_unit": { + "isBigInt": "true" + } + }, + "required": ["max_amount", "max_price_per_unit"] + } + }, + "required": ["l1_gas", "l2_gas", "l1_data_gas"] + }, + "EstimateFeeResponseOverhead": { + "type": "object", + "properties": { + "resourceBounds": { + "$ref": "accountSchemas#/definitions/ResourceBoundsBN" }, - "gas_price": { + "overall_fee": { "isBigInt": "true" + }, + "unit": { + "type": "string", + "enum": ["WEI", "FRI"] } }, - "required": ["overall_fee", "suggestedMaxFee"] + "required": ["resourceBounds", "overall_fee", "unit"] }, "MultiDeployContractResponse": { "type": "object", @@ -143,6 +183,27 @@ "required": ["fee_estimation", "transaction_trace"] } } + }, + "SimulateTransactionOverheadResponse": { + "name": "simulated_transactions_overhead", + "description": "The execution trace and consumed resources of the required transactions with overhead fee estimation", + "type": "array", + "items": { + "schema": { + "type": "object", + "properties": { + "transaction_trace": { + "title": "the transaction's trace", + "$ref": "starknet_trace_api_openrpc#/components/schemas/TRANSACTION_TRACE" + }, + "fee_estimation": { + "title": "the transaction's resources and fee with overhead", + "$ref": "accountSchemas#/definitions/EstimateFeeResponseOverhead" + } + }, + "required": ["fee_estimation", "transaction_trace"] + } + } } } } diff --git a/__tests__/schemas/provider.json b/__tests__/schemas/provider.json index 6432e34e4..4a475831c 100644 --- a/__tests__/schemas/provider.json +++ b/__tests__/schemas/provider.json @@ -233,22 +233,23 @@ "$ref": "starknet_trace_api_openrpc#/components/schemas/TRANSACTION_TRACE" }, "BlockWithTxReceipts": { - "oneOf": [ + "comment": "oneOf changed to anyOf since results sometimes overlap and oneOf is exclusive", + "anyOf": [ { - "$ref": "starknet_api_openrpc#/components/schemas/BLOCK_WITH_RECEIPTS" + "$ref": "starknet_api_openrpc#/components/schemas/BLOCK_WITH_TXS" }, { - "$ref": "starknet_api_openrpc#/components/schemas/PENDING_BLOCK_WITH_RECEIPTS" + "$ref": "starknet_api_openrpc#/components/schemas/PRE_CONFIRMED_BLOCK_WITH_TXS" } ] }, - "BlockWithTxReceipts071": { + "BlockWithTxReceipts08": { "oneOf": [ { - "$ref": "starknet_api_openrpc071#/components/schemas/BLOCK_WITH_RECEIPTS" + "$ref": "starknet_api_openrpc08#/components/schemas/BLOCK_WITH_RECEIPTS" }, { - "$ref": "starknet_api_openrpc071#/components/schemas/PENDING_BLOCK_WITH_RECEIPTS" + "$ref": "starknet_api_openrpc08#/components/schemas/PENDING_BLOCK_WITH_RECEIPTS" } ] } diff --git a/__tests__/transactionReceipt.test.ts b/__tests__/transactionReceipt.test.ts index a9d7fa0c7..fd1f69123 100644 --- a/__tests__/transactionReceipt.test.ts +++ b/__tests__/transactionReceipt.test.ts @@ -7,12 +7,14 @@ import { TransactionExecutionStatus, ProviderInterface, Account, - type EstimateFee, + EstimateFeeResponseOverhead, + createTransactionReceipt, + GetTxReceiptResponseWithoutHelper, } from '../src'; -import { contracts, createTestProvider, getTestAccount } from './config/fixtures'; +import { contracts } from './config/fixtures'; +import { createTestProvider, getTestAccount } from './config/fixturesInit'; -// TODO: add RPC 0.7 V3, RPC 0.8 V3 -describe('Transaction receipt utility - RPC 0.7 - V2', () => { +describe('Transaction receipt utility - RPC 0.8+ - V3', () => { let provider: ProviderInterface; let account: Account; @@ -28,22 +30,29 @@ describe('Transaction receipt utility - RPC 0.7 - V2', () => { casm: contracts.TestReject.casm, }); await provider.waitForTransaction(dd.deploy.transaction_hash); - contract = new Contract(contracts.TestReject.sierra.abi, dd.deploy.contract_address, account); - contract.connect(account); + contract = new Contract({ + abi: contracts.TestReject.sierra.abi, + address: dd.deploy.contract_address, + providerOrAccount: account, + }); + contract.providerOrAccount = account; }); test('test for Success variant', async () => { const myCall: Call = contract.populate('test_fail', { p1: 100 }); - const res = await account.execute(myCall, { maxFee: 1 * 10 ** 15 }); // maxFee needed to not throw error in getEstimateFee + const estimate = await account.estimateInvokeFee(myCall); + const res = await account.execute(myCall, { + resourceBounds: estimate.resourceBounds, + }); // maxFee needed to not throw error in getEstimateFee const txR = await provider.waitForTransaction(res.transaction_hash); expect(txR.value).toHaveProperty('execution_status', TransactionExecutionStatus.SUCCEEDED); - expect(txR.statusReceipt).toBe('success'); + expect(txR.statusReceipt).toBe('SUCCEEDED'); expect(txR.isSuccess()).toBe(true); expect(txR.isReverted()).toBe(false); expect(txR.isError()).toBe(false); let isSuccess: boolean = false; txR.match({ - success: () => { + SUCCEEDED: () => { isSuccess = true; }, _: () => { @@ -55,19 +64,19 @@ describe('Transaction receipt utility - RPC 0.7 - V2', () => { test('test for Reverted variant', async () => { const myCall: Call = contract.populate('test_fail', { p1: 10 }); // reverted if not 100 - const estim: EstimateFee = await account.estimateInvokeFee( + const estim: EstimateFeeResponseOverhead = await account.estimateInvokeFee( contract.populate('test_fail', { p1: 100 }) ); const res = await account.execute(myCall, { ...estim }); // maxFee needed to not throw error in getEstimateFee const txR = await provider.waitForTransaction(res.transaction_hash); expect(txR.value).toHaveProperty('execution_status', TransactionExecutionStatus.REVERTED); - expect(txR.statusReceipt).toBe('reverted'); + expect(txR.statusReceipt).toBe('REVERTED'); expect(txR.isSuccess()).toBe(false); expect(txR.isReverted()).toBe(true); expect(txR.isError()).toBe(false); let isReverted: boolean = false; txR.match({ - reverted: (_resp: RevertedTransactionReceiptResponse) => { + REVERTED: (_resp: RevertedTransactionReceiptResponse) => { isReverted = true; }, _: () => { @@ -78,19 +87,22 @@ describe('Transaction receipt utility - RPC 0.7 - V2', () => { }); test('test for deploy Success variant', async () => { + const estimate = await account.estimateDeployFee({ classHash: dd.declare.class_hash }); const res = await account.deployContract( { classHash: dd.declare.class_hash }, - { maxFee: 1 * 10 ** 15 } + { + resourceBounds: estimate.resourceBounds, + } ); // maxFee needed to not throw error in getEstimateFee const txR = await provider.waitForTransaction(res.transaction_hash); expect(txR.value).toHaveProperty('execution_status', TransactionExecutionStatus.SUCCEEDED); - expect(txR.statusReceipt).toBe('success'); + expect(txR.statusReceipt).toBe('SUCCEEDED'); expect(txR.isSuccess()).toBe(true); expect(txR.isReverted()).toBe(false); expect(txR.isError()).toBe(false); let isSuccess: boolean = false; txR.match({ - success: (_resp: SuccessfulTransactionReceiptResponse) => { + SUCCEEDED: (_resp: SuccessfulTransactionReceiptResponse) => { isSuccess = true; }, _: () => { @@ -100,7 +112,82 @@ describe('Transaction receipt utility - RPC 0.7 - V2', () => { expect(isSuccess).toBe(true); }); - // NOTE: - // no rejected test, impossible to trigger 'rejected' from a node/devnet. - // no declare test due to slow process (result is very similar to Invoke) + test('Test else _ case', async () => { + const myCall: Call = contract.populate('test_fail', { p1: 10 }); // reverted if not 100 + const estim: EstimateFeeResponseOverhead = await account.estimateInvokeFee( + contract.populate('test_fail', { p1: 100 }) + ); + const res = await account.execute(myCall, { ...estim }); // maxFee needed to not throw error in getEstimateFee + const txR = await provider.waitForTransaction(res.transaction_hash); + expect(txR.value).toHaveProperty('execution_status', TransactionExecutionStatus.REVERTED); + expect(txR.statusReceipt).toBe('REVERTED'); + expect(txR.isSuccess()).toBe(false); + expect(txR.isReverted()).toBe(true); + expect(txR.isError()).toBe(false); + let isReverted: boolean = false; + txR.match({ + SUCCEEDED: (_resp: SuccessfulTransactionReceiptResponse) => { + isReverted = false; + }, + _: () => { + isReverted = true; + }, + }); + expect(isReverted).toBe(true); + }); + + test('Mock false rpc response status for ERROR case', async () => { + const estimate = await account.estimateDeployFee({ classHash: dd.declare.class_hash }); + const res = await account.deployContract( + { classHash: dd.declare.class_hash }, + { + resourceBounds: estimate.resourceBounds, + } + ); // maxFee needed to not throw error in getEstimateFee + + // Create a mock transaction receipt with a non-existent status + const receiptWoHelper = (await provider.channel.waitForTransaction( + res.transaction_hash + )) as GetTxReceiptResponseWithoutHelper; + const faleReceipt = { + ...receiptWoHelper, + execution_status: 'NONEXISTING' as TransactionExecutionStatus, + }; + const txR = createTransactionReceipt(faleReceipt as any); + + expect(txR.statusReceipt).toBe('ERROR'); + expect(txR.isSuccess()).toBe(false); + expect(txR.isReverted()).toBe(false); + expect(txR.isError()).toBe(true); + + let isSuccess: boolean = false; + txR.match({ + SUCCEEDED: (_resp: SuccessfulTransactionReceiptResponse) => { + isSuccess = true; + }, + _: () => { + isSuccess = false; + }, + }); + expect(isSuccess).toBe(false); + }); + + xtest('test error case', async () => { + // TODO: this should not be possible as fetch would throw on error before it could be read by Helper + const txR = await provider.getTransactionReceipt('0x123'); + expect(txR.statusReceipt).toBe('ERROR'); + expect(txR.isSuccess()).toBe(false); + expect(txR.isReverted()).toBe(false); + expect(txR.isError()).toBe(true); + let isSuccess: boolean = false; + txR.match({ + SUCCEEDED: (_resp: SuccessfulTransactionReceiptResponse) => { + isSuccess = true; + }, + _: () => { + isSuccess = false; + }, + }); + expect(isSuccess).toBe(true); + }); }); diff --git a/__tests__/utils/__snapshots__/ellipticalCurve.test.ts.snap b/__tests__/utils/__snapshots__/ellipticalCurve.test.ts.snap index 74ce57b39..0024f7803 100644 --- a/__tests__/utils/__snapshots__/ellipticalCurve.test.ts.snap +++ b/__tests__/utils/__snapshots__/ellipticalCurve.test.ts.snap @@ -1,4 +1,4 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing exports[`pedersen() 1`] = `"0x5ed2703dfdb505c587700ce2ebfcab5b3515cd7e6114817e6026ec9d4b364ca"`; diff --git a/__tests__/utils/__snapshots__/json.test.ts.snap b/__tests__/utils/__snapshots__/json.test.ts.snap index 273322a09..19a349cf0 100644 --- a/__tests__/utils/__snapshots__/json.test.ts.snap +++ b/__tests__/utils/__snapshots__/json.test.ts.snap @@ -1,4 +1,4 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing exports[`JSON utility tests parse 1`] = ` Object { diff --git a/__tests__/utils/batch.test.ts b/__tests__/utils/batch.test.ts index 5d1730668..218128cc6 100644 --- a/__tests__/utils/batch.test.ts +++ b/__tests__/utils/batch.test.ts @@ -2,25 +2,27 @@ import fetch from '../../src/utils/connect/fetch'; import { BatchClient } from '../../src/utils/batch'; import { createBlockForDevnet, - createTestProvider, - describeIfRpc071, describeIfRpc081, + describeIfRpc09, + getTestProvider, } from '../config/fixtures'; import { initializeMatcher } from '../config/schema'; -import { ProviderInterface } from '../../src'; +import { RPC } from '../../src/types'; +import { createTestProvider } from '../config/fixturesInit'; -describe('Batch Client', () => { +describe('BatchClient', () => { initializeMatcher(expect); - let provider: ProviderInterface; - let batchClient: BatchClient; + const provider = getTestProvider(); - beforeAll(async () => { - provider = await createTestProvider(false); - batchClient = new BatchClient({ + let batchClient: BatchClient; + + beforeEach(() => { + batchClient = new BatchClient({ nodeUrl: provider.channel.nodeUrl, headers: provider.channel.headers, interval: 0, baseFetch: fetch, + rpcMethods: {} as RPC.Methods, // Type information only, not used at runtime }); }); @@ -36,14 +38,14 @@ describe('Batch Client', () => { ]); expect(typeof blockNumber.result).toBe('number'); - expect(blockWithReceipts.result).toMatchSchemaRef('BlockWithTxReceipts'); + expect(blockWithReceipts.result).toMatchSchemaRef('BlockWithTxReceipts08'); expect(fetchSpy).toHaveBeenCalledTimes(1); fetchSpy.mockRestore(); }); }); - describeIfRpc071('should batch two requests RPC0.7.1', () => { + describeIfRpc09('should batch two requests RPC0.9.0', () => { test('should batch two requests', async () => { await createBlockForDevnet(); @@ -55,7 +57,7 @@ describe('Batch Client', () => { ]); expect(typeof blockNumber.result).toBe('number'); - expect(blockWithReceipts.result).toMatchSchemaRef('BlockWithTxReceipts071'); + expect(blockWithReceipts.result).toMatchSchemaRef('BlockWithTxReceipts'); expect(fetchSpy).toHaveBeenCalledTimes(1); fetchSpy.mockRestore(); diff --git a/__tests__/utils/block.test.ts b/__tests__/utils/block.test.ts index 9407e3c29..269a564ab 100644 --- a/__tests__/utils/block.test.ts +++ b/__tests__/utils/block.test.ts @@ -98,12 +98,12 @@ describe('new Block()', () => { }); test('string `pending` BlockIdentifier', () => { - const block1 = new Block('pending'); - expect(block1.identifier).toBe('pending'); - expect(block1.queryIdentifier).toBe('blockNumber=pending'); + const block1 = new Block('pre_confirmed'); + expect(block1.identifier).toBe('pre_confirmed'); + expect(block1.queryIdentifier).toBe('blockNumber=pre_confirmed'); expect(block1.hash).toBe(null); expect(block1.number).toBe(null); - expect(block1.tag).toBe('pending'); + expect(block1.tag).toBe('pre_confirmed'); }); test('string `latest` BlockIdentifier', () => { @@ -124,10 +124,10 @@ describe('new Block()', () => { test('null BlockIdentifier', () => { const block1 = new Block(null); - expect(block1.identifier).toBe('pending'); - expect(block1.queryIdentifier).toBe('blockNumber=pending'); + expect(block1.identifier).toBe('latest'); + expect(block1.queryIdentifier).toBe('blockNumber=latest'); expect(block1.hash).toBe(null); expect(block1.number).toBe(null); - expect(block1.tag).toBe('pending'); + expect(block1.tag).toBe('latest'); }); }); diff --git a/__tests__/utils/buffer.test.ts b/__tests__/utils/buffer.test.ts new file mode 100644 index 000000000..a6306e185 --- /dev/null +++ b/__tests__/utils/buffer.test.ts @@ -0,0 +1,261 @@ +import { config } from '../../src/global/config'; +import { CairoByteArray } from '../../src'; +import { CairoBytes31 } from '../../src/utils/cairoDataTypes/bytes31'; + +/** + * Mock Buffer implementation for testing browser environments + */ +class MockBuffer extends Uint8Array { + static isBuffer(obj: any): obj is MockBuffer { + return obj instanceof MockBuffer; + } + + static from(data: any): MockBuffer { + if (Array.isArray(data)) { + return new MockBuffer(data); + } + if (typeof data === 'string') { + const encoder = new TextEncoder(); + const uint8Array = encoder.encode(data); + return new MockBuffer(uint8Array); + } + if (data instanceof Uint8Array) { + return new MockBuffer(data); + } + throw new Error('Unsupported data type for MockBuffer'); + } + + static alloc(size: number, fill?: any): MockBuffer { + const buffer = new MockBuffer(size); + if (fill !== undefined) { + buffer.fill(typeof fill === 'string' ? fill.charCodeAt(0) : fill); + } + return buffer; + } +} + +describe('Buffer Environment Tests', () => { + afterEach(() => { + // Reset global config after each test + config.reset(); + }); + + describe('Native Node.js Buffer Environment', () => { + test('should use native Buffer when available', () => { + // Native Buffer should be available in Node.js test environment + expect(typeof Buffer).toBe('function'); + expect(Buffer.isBuffer).toBeDefined(); + + const testData = [1, 2, 3, 4]; + const buffer = Buffer.from(testData); + + const byteArray = new CairoByteArray(buffer); + const resultBuffer = byteArray.toBuffer(); + + expect(Buffer.isBuffer(resultBuffer)).toBe(true); + expect(Array.from(resultBuffer)).toEqual(testData); + }); + + test('should handle Buffer input in CairoBytes31', () => { + const testString = 'Hello Buffer'; + const buffer = Buffer.from(testString); + + const bytes31 = new CairoBytes31(buffer); + expect(bytes31.decodeUtf8()).toBe(testString); + expect(bytes31.toHexString()).toBe('0x48656c6c6f20427566666572'); + }); + + test('should handle Buffer input in CairoByteArray', () => { + const testString = 'Hello from Buffer in CairoByteArray'; + const buffer = Buffer.from(testString); + + const byteArray = new CairoByteArray(buffer); + expect(byteArray.decodeUtf8()).toBe(testString); + + const resultBuffer = byteArray.toBuffer(); + expect(Buffer.isBuffer(resultBuffer)).toBe(true); + expect(resultBuffer.toString('utf8')).toBe(testString); + }); + }); + + describe('Global Config Buffer Management', () => { + test('should validate config API works correctly', () => { + // Test setting and getting buffer config + expect(config.get('buffer')).toBeUndefined(); + + config.set('buffer', MockBuffer as any); + expect(config.get('buffer')).toBe(MockBuffer); + + config.reset(); + expect(config.get('buffer')).toBeUndefined(); + }); + + test('should contain buffer in DEFAULT_GLOBAL_CONFIG', () => { + const allConfig = config.getAll(); + expect(allConfig).toHaveProperty('buffer'); + expect(allConfig.buffer).toBeUndefined(); // Default value + }); + + test('should allow setting custom Buffer implementation', () => { + // This tests the API without needing module reload + expect(() => config.set('buffer', MockBuffer as any)).not.toThrow(); + expect(config.get('buffer')).toBe(MockBuffer); + }); + }); + + describe('Buffer Utility Error Messages', () => { + test('should provide helpful error messages', () => { + // Test that our error message includes helpful config instructions + const expectedPattern = /config\.set\("buffer", YourBufferPolyfill\)/; + const errorMessage = + 'Buffer not detected, use \'config.set("buffer", YourBufferPolyfill)\' or polyfill or Node.js environment for Buffer support'; + + expect(errorMessage).toMatch(expectedPattern); + expect(errorMessage).toContain('YourBufferPolyfill'); + expect(errorMessage).toContain('Node.js environment'); + expect(errorMessage).toContain('polyfill'); + }); + }); + + describe('MockBuffer Implementation Tests', () => { + test('should handle MockBuffer like native Buffer in data types', () => { + // Test that MockBuffer works with Cairo data types + const testData = [72, 101, 108, 108, 111]; // "Hello" + const mockBuffer = MockBuffer.from(testData); + + const bytes31 = new CairoBytes31(mockBuffer); + expect(bytes31.decodeUtf8()).toBe('Hello'); + expect(bytes31.toBigInt()).toBe(310939249775n); // BigInt representation of "Hello" + }); + + test('should handle complex data with MockBuffer', () => { + // Test with complex data structure + const complexData = new Uint8Array([ + 0x48, + 0x65, + 0x6c, + 0x6c, + 0x6f, + 0x20, // "Hello " + 0x57, + 0x6f, + 0x72, + 0x6c, + 0x64, + 0x21, // "World!" + ]); + + const mockBuffer = MockBuffer.from(complexData); + const byteArray = new CairoByteArray(mockBuffer); + + expect(byteArray.decodeUtf8()).toBe('Hello World!'); + expect(new TextDecoder().decode(mockBuffer)).toBe('Hello World!'); + }); + + test('should maintain API compatibility between Buffer implementations', () => { + const testData = 'Compatibility Test'; + + // Create with native Buffer + const nativeByteArray = new CairoByteArray(Buffer.from(testData)); + + // Create with mock Buffer (simulating what would happen with polyfill) + const mockByteArray = new CairoByteArray(MockBuffer.from(testData)); + + // Both should produce equivalent results + expect(nativeByteArray.decodeUtf8()).toBe(mockByteArray.decodeUtf8()); + expect(nativeByteArray.toHexString()).toBe(mockByteArray.toHexString()); + expect(nativeByteArray.toBigInt()).toBe(mockByteArray.toBigInt()); + + // API requests should be equivalent + const nativeApiRequest = nativeByteArray.toApiRequest(); + const mockApiRequest = mockByteArray.toApiRequest(); + expect(nativeApiRequest).toEqual(mockApiRequest); + }); + }); + + describe('isBuffer Function Tests', () => { + test('should work with native Buffer', async () => { + const { isBuffer } = await import('../../src/utils/typed'); + + const buffer = Buffer.from([1, 2, 3]); + const uint8Array = new Uint8Array([1, 2, 3]); + + expect(isBuffer(buffer)).toBe(true); + expect(isBuffer(uint8Array)).toBe(false); + expect(isBuffer('string')).toBe(false); + expect(isBuffer(null)).toBe(false); + }); + + test('should work consistently across different contexts', async () => { + const { isBuffer } = await import('../../src/utils/typed'); + + // Test with various inputs + expect(isBuffer(undefined)).toBe(false); + expect(isBuffer({})).toBe(false); + expect(isBuffer([])).toBe(false); + expect(isBuffer(123)).toBe(false); + + // MockBuffer should not be detected as Buffer by isBuffer + // because isBuffer checks for native Buffer instance + const mockBuffer = MockBuffer.from([1, 2, 3]); + expect(isBuffer(mockBuffer)).toBe(false); + }); + + test('should handle edge cases', async () => { + const { isBuffer } = await import('../../src/utils/typed'); + + expect(isBuffer(NaN)).toBe(false); + expect(isBuffer(Infinity)).toBe(false); + expect(isBuffer(Symbol('test'))).toBe(false); + expect(isBuffer(() => {})).toBe(false); + expect(isBuffer(new Date())).toBe(false); + expect(isBuffer(new Error())).toBe(false); + }); + }); + + describe('Buffer Type Validation', () => { + test('should validate Buffer inputs correctly in CairoBytes31', () => { + // Test valid inputs + expect(() => new CairoBytes31(Buffer.from('test'))).not.toThrow(); + expect(() => new CairoBytes31(Buffer.alloc(31))).not.toThrow(); + expect(() => new CairoBytes31(MockBuffer.from('test'))).not.toThrow(); + + // Test invalid inputs + expect(() => new CairoBytes31(Buffer.alloc(32))).toThrow(/too long/); + expect(() => new CairoBytes31({} as any)).toThrow(/Invalid input type/); + }); + + test('should validate Buffer inputs correctly in CairoByteArray', () => { + // Test valid inputs + expect(() => new CairoByteArray(Buffer.from('test'))).not.toThrow(); + expect(() => new CairoByteArray(MockBuffer.from('test'))).not.toThrow(); + + // Test invalid inputs + expect(() => new CairoByteArray(null as any)).toThrow(/Invalid input: null/); + expect(() => new CairoByteArray({} as any)).toThrow( + /Invalid input.*objects are not supported/ + ); + }); + }); + + describe('Buffer Environment Detection', () => { + test('should work in Node.js environment', () => { + // Verify we're in Node.js test environment + expect(typeof process).toBe('object'); + expect(typeof require).toBe('function'); + expect(typeof Buffer).toBe('function'); + expect(typeof Buffer.isBuffer).toBe('function'); + }); + + test('should detect Buffer availability', () => { + // Test the conditions used in buffer utility + expect(typeof Buffer !== 'undefined').toBe(true); + expect(typeof globalThis !== 'undefined').toBe(true); + + // Verify Buffer functionality + const testBuffer = Buffer.from([1, 2, 3]); + expect(Buffer.isBuffer(testBuffer)).toBe(true); + expect(testBuffer.length).toBe(3); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoByteArray.test.ts b/__tests__/utils/cairoDataTypes/CairoByteArray.test.ts new file mode 100644 index 000000000..9edf58efb --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoByteArray.test.ts @@ -0,0 +1,749 @@ +import { CairoByteArray, CairoBytes31, CairoFelt252, CairoUint32 } from '../../../src'; + +describe('CairoByteArray Unit Tests', () => { + describe('String constructor', () => { + test('should handle short string (less than 31 bytes)', () => { + const str = 'Hello, World!'; + const byteArray = new CairoByteArray(str); + + expect(byteArray.data).toEqual([]); + expect(byteArray.pending_word?.toHexString()).toBe('0x48656c6c6f2c20576f726c6421'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(13n); + + // Verify API request format + const apiRequest = byteArray.toApiRequest(); + expect(apiRequest[0]).toBe('0x0'); // data length + expect(apiRequest[1]).toBe('0x48656c6c6f2c20576f726c6421'); // pending_word as hex + expect(apiRequest[2]).toBe('0xd'); // pending_word_len + }); + + test('should handle exactly 31 bytes string', () => { + const str = 'This is exactly 31 bytes long!!'; // 31 characters + const byteArray = new CairoByteArray(str); + + expect(byteArray.data?.length).toBe(1); // 1 CairoBytes31 chunk + expect(byteArray.pending_word?.toHexString()).toBe('0x0'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(0n); + + // Verify API request format + const apiRequest = byteArray.toApiRequest(); + expect(apiRequest[0]).toBe('0x1'); // data length + expect(apiRequest.length).toBe(4); // 1 (length) + 1 (chunk data) + 1 (pending_word) + 1 (pending_word_len) + }); + + test('should handle long string (more than 31 bytes)', () => { + const str = 'This is a very long string that exceeds 31 bytes limit for testing'; + const byteArray = new CairoByteArray(str); + + expect(byteArray.data?.length).toBe(2); // 2 CairoBytes31 chunks + expect(byteArray.pending_word?.toHexString()).toBe('0x74696e67'); // "ting" + expect(byteArray.pending_word_len?.toBigInt()).toBe(4n); + + // Verify API request format + const apiRequest = byteArray.toApiRequest(); + expect(apiRequest[0]).toBe('0x2'); // data length + expect(apiRequest.length).toBe(5); // 1 (length) + 2 (chunk data) + 1 (pending_word) + 1 (pending_word_len) + }); + + test('should handle empty string', () => { + const byteArray = new CairoByteArray(''); + + expect(byteArray.data).toEqual([]); + expect(byteArray.pending_word?.toHexString()).toBe('0x0'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(0n); + + // Verify API request format + const apiRequest = byteArray.toApiRequest(); + expect(apiRequest[0]).toBe('0x0'); // data length + expect(apiRequest[1]).toBe('0x0'); // pending_word as hex + expect(apiRequest[2]).toBe('0x0'); // pending_word_len + }); + }); + + describe('Uint8Array constructor', () => { + test('should handle Uint8Array with less than 31 bytes', () => { + const data = new Uint8Array([72, 101, 108, 108, 111]); // "Hello" + const byteArray = new CairoByteArray(data); + + expect(byteArray.data).toEqual([]); + expect(byteArray.pending_word?.toHexString()).toBe('0x48656c6c6f'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(5n); + }); + + test('should handle Uint8Array with exactly 31 bytes', () => { + const data = new Uint8Array(31).fill(65); // 31 'A's + const byteArray = new CairoByteArray(data); + + expect(byteArray.data?.length).toBe(1); // 1 CairoBytes31 chunk + expect(byteArray.pending_word?.toHexString()).toBe('0x0'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(0n); + }); + + test('should handle Uint8Array with more than 31 bytes', () => { + const data = new Uint8Array(40).fill(66); // 40 'B's + const byteArray = new CairoByteArray(data); + + expect(byteArray.data?.length).toBe(1); // 1 CairoBytes31 chunk + expect(byteArray.pending_word?.toHexString()).toBe('0x424242424242424242'); // 9 'B's + expect(byteArray.pending_word_len?.toBigInt()).toBe(9n); + }); + + test('should handle empty Uint8Array', () => { + const data = new Uint8Array(); + const byteArray = new CairoByteArray(data); + + expect(byteArray.data).toEqual([]); + expect(byteArray.pending_word?.toHexString()).toBe('0x0'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(0n); + }); + }); + + describe('BigNumberish constructor', () => { + test('should handle bigint input', () => { + const bigintValue = 0x48656c6c6fn; // "Hello" in hex + const byteArray = new CairoByteArray(bigintValue); + + expect(byteArray.data).toEqual([]); + expect(byteArray.pending_word?.toHexString()).toBe('0x48656c6c6f'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(5n); + expect(byteArray.decodeUtf8()).toBe('Hello'); + expect(byteArray.toBigInt()).toBe(bigintValue); + expect(byteArray.toHexString()).toBe('0x48656c6c6f'); + }); + + test('should handle number input', () => { + const numberValue = 0x54657374; // "Test" in hex + const byteArray = new CairoByteArray(numberValue); + + expect(byteArray.data).toEqual([]); + expect(byteArray.pending_word?.toHexString()).toBe('0x54657374'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(4n); + expect(byteArray.decodeUtf8()).toBe('Test'); + expect(byteArray.toBigInt()).toBe(BigInt(numberValue)); + expect(byteArray.toHexString()).toBe('0x54657374'); + }); + + test('should handle zero bigint', () => { + const byteArray = new CairoByteArray(0n); + + expect(byteArray.data).toEqual([]); + expect(byteArray.pending_word?.toHexString()).toBe('0x0'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(1n); // 0 is represented as 1 byte + expect(byteArray.decodeUtf8()).toBe('\x00'); // NULL character + expect(byteArray.toBigInt()).toBe(0n); + expect(byteArray.toHexString()).toBe('0x00'); + }); + + test('should handle zero number', () => { + const byteArray = new CairoByteArray(0); + + expect(byteArray.data).toEqual([]); + expect(byteArray.pending_word?.toHexString()).toBe('0x0'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(1n); // 0 is represented as 1 byte + expect(byteArray.decodeUtf8()).toBe('\x00'); // NULL character + expect(byteArray.toBigInt()).toBe(0n); + expect(byteArray.toHexString()).toBe('0x00'); + }); + + test('should handle large bigint that spans multiple chunks', () => { + // Create a bigint that represents more than 31 bytes + // "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" = 36 bytes + const str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; + let bigintValue = 0n; + for (let i = 0; i < str.length; i += 1) { + bigintValue = bigintValue * 256n + BigInt(str.charCodeAt(i)); + } + + const byteArray = new CairoByteArray(bigintValue); + + expect(byteArray.data?.length).toBe(1); // 1 complete chunk + expect(byteArray.pending_word_len?.toBigInt()).toBe(5n); // 5 remaining bytes + expect(byteArray.decodeUtf8()).toBe(str); + expect(byteArray.toBigInt()).toBe(bigintValue); + expect(byteArray.toHexString()).toBe(`0x${bigintValue.toString(16)}`); + }); + + test('should handle hex string as BigNumberish', () => { + const hexString = '0x436169726f'; // "Cairo" in hex + const byteArray = new CairoByteArray(hexString); + + expect(byteArray.data).toEqual([]); + expect(byteArray.pending_word?.toHexString()).toBe('0x436169726f'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(5n); + expect(byteArray.decodeUtf8()).toBe('Cairo'); + expect(byteArray.toBigInt()).toBe(0x436169726fn); + expect(byteArray.toHexString()).toBe('0x436169726f'); + }); + + test('should handle decimal string as BigNumberish', () => { + const decimalString = '1415934836'; // "Test" as decimal + const byteArray = new CairoByteArray(decimalString); + + expect(byteArray.data).toEqual([]); + expect(byteArray.pending_word?.toHexString()).toBe('0x54657374'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(4n); + expect(byteArray.decodeUtf8()).toBe('Test'); + expect(byteArray.toBigInt()).toBe(1415934836n); + expect(byteArray.toHexString()).toBe('0x54657374'); + }); + + test('should handle single byte number', () => { + const byteArray = new CairoByteArray(65); // 'A' + + expect(byteArray.data).toEqual([]); + expect(byteArray.pending_word?.toHexString()).toBe('0x41'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(1n); + expect(byteArray.decodeUtf8()).toBe('A'); + expect(byteArray.toBigInt()).toBe(65n); + expect(byteArray.toHexString()).toBe('0x41'); + }); + + test('should handle exactly 31 bytes as bigint', () => { + // Create a bigint that represents exactly 31 bytes + const bytes31 = new Uint8Array(31).fill(0x42); // 31 'B's + let bigintValue = 0n; + for (let i = 0; i < bytes31.length; i += 1) { + bigintValue = bigintValue * 256n + BigInt(bytes31[i]); + } + + const byteArray = new CairoByteArray(bigintValue); + + expect(byteArray.data?.length).toBe(1); // 1 complete chunk + expect(byteArray.pending_word?.toHexString()).toBe('0x0'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(0n); + expect(byteArray.decodeUtf8()).toBe('B'.repeat(31)); + expect(byteArray.toBigInt()).toBe(bigintValue); + expect(byteArray.toHexString()).toBe(`0x${bigintValue.toString(16)}`); + }); + }); + + describe('Buffer constructor', () => { + test('should handle Buffer with less than 31 bytes', () => { + const buffer = Buffer.from('Cairo'); + const byteArray = new CairoByteArray(buffer); + + expect(byteArray.data).toEqual([]); + expect(byteArray.pending_word?.toHexString()).toBe('0x436169726f'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(5n); + }); + + test('should handle Buffer with exactly 31 bytes', () => { + const buffer = Buffer.alloc(31, 'X'); + const byteArray = new CairoByteArray(buffer); + + expect(byteArray.data?.length).toBe(1); // 1 CairoBytes31 chunk + expect(byteArray.pending_word?.toHexString()).toBe('0x0'); + expect(byteArray.pending_word_len?.toBigInt()).toBe(0n); + }); + + test('should handle Buffer with more than 31 bytes', () => { + const buffer = Buffer.from('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'); // 36 bytes + const byteArray = new CairoByteArray(buffer); + + expect(byteArray.data?.length).toBe(1); // 1 CairoBytes31 chunk + expect(byteArray.pending_word?.toHexString()).toBe('0x3536373839'); // "56789" + expect(byteArray.pending_word_len?.toBigInt()).toBe(5n); + }); + + test('should preserve pending word leading zeros for toBuffer()', () => { + const content = '0x000000010000001900000002'; + const buffer = Buffer.from(content.slice(2), 'hex'); + const byteArray = new CairoByteArray(buffer); + + expect(byteArray.toBuffer().toString('hex')).toEqual(buffer.toString('hex')); + }); + + test('should preserve pending word leading zeros for toHexString()', () => { + const content = '0x000000010000001900000002'; + const buffer = Buffer.from(content.slice(2), 'hex'); + const byteArray = new CairoByteArray(buffer); + + expect(byteArray.toHexString()).toEqual(content); + }); + }); + + describe('Constructor with pending_word parameters', () => { + test('should handle constructor with all parameters', () => { + const data = [new CairoBytes31(new Uint8Array([1, 2, 3, 4, 5]))]; + const pendingWord = new CairoFelt252('0xabc'); + const pendingWordLen = new CairoUint32(3); + + const byteArray = new CairoByteArray(data, pendingWord, pendingWordLen); + + expect(byteArray.data).toEqual(data); + expect(byteArray.pending_word).toBe(pendingWord); + expect(byteArray.pending_word_len).toBe(pendingWordLen); + }); + + test('should handle constructor with empty data', () => { + const data: CairoBytes31[] = []; + const pendingWord = new CairoFelt252('0x123456'); + const pendingWordLen = new CairoUint32(3); + + const byteArray = new CairoByteArray(data, pendingWord, pendingWordLen); + + expect(byteArray.data).toEqual(data); + expect(byteArray.pending_word).toBe(pendingWord); + expect(byteArray.pending_word_len).toBe(pendingWordLen); + }); + }); + + describe('toApiRequest method', () => { + test('should format API request correctly', () => { + const byteArray = new CairoByteArray('Test'); + const apiRequest = byteArray.toApiRequest(); + + expect(apiRequest[0]).toBe('0x0'); // data length (0 chunks) + expect(apiRequest[1]).toBe('0x54657374'); // pending_word "Test" as hex + expect(apiRequest[2]).toBe('0x4'); // pending_word_len + }); + + test('should handle data with multiple chunks', () => { + const longString = 'A'.repeat(35); // 35 'A's + const byteArray = new CairoByteArray(longString); + const apiRequest = byteArray.toApiRequest(); + + expect(apiRequest[0]).toBe('0x1'); // data length (1 chunk) + expect(apiRequest.length).toBe(4); // 1 (length) + 1 (chunk data) + 1 (pending_word) + 1 (pending_word_len) + }); + + test('should throw error if not properly initialized', () => { + const byteArray = new CairoByteArray('test'); + // Force undefined by casting to any to test error handling + (byteArray as any).data = undefined; + + expect(() => byteArray.toApiRequest()).toThrow('CairoByteArray is not properly initialized'); + }); + }); + + describe('decodeUtf8 method', () => { + test('should decode short string correctly', () => { + const originalString = 'Hello, World!'; + const byteArray = new CairoByteArray(originalString); + const decoded = byteArray.decodeUtf8(); + + expect(decoded).toBe(originalString); + }); + + test('should decode empty string', () => { + const byteArray = new CairoByteArray(''); + const decoded = byteArray.decodeUtf8(); + + expect(decoded).toBe(''); + }); + + test('should decode exactly 31 bytes string', () => { + const originalString = 'This is exactly 31 bytes long!!'; + const byteArray = new CairoByteArray(originalString); + const decoded = byteArray.decodeUtf8(); + + expect(decoded).toBe(originalString); + }); + + test('should decode long string with multiple chunks', () => { + const originalString = 'This is a very long string that exceeds 31 bytes limit for testing'; + const byteArray = new CairoByteArray(originalString); + const decoded = byteArray.decodeUtf8(); + + expect(decoded).toBe(originalString); + }); + + test('should decode string with special characters', () => { + const originalString = 'Special chars: !@#$%^&*()_+-=[]{}|;:\'",.<>/?`~'; + const byteArray = new CairoByteArray(originalString); + const decoded = byteArray.decodeUtf8(); + + expect(decoded).toBe(originalString); + }); + + test('should decode string with unicode characters', () => { + const originalString = 'Unicode: 你好世界 🚀 émojis'; + const byteArray = new CairoByteArray(originalString); + const decoded = byteArray.decodeUtf8(); + + expect(decoded).toBe(originalString); + }); + + test('should decode string with unicode characters and emojis', () => { + const originalString = '🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀'; + const byteArray = new CairoByteArray(originalString); + const decoded = byteArray.decodeUtf8(); + + expect(decoded).toBe(originalString); + }); + + test('should decode from Uint8Array input', () => { + const originalString = 'Test from Uint8Array'; + const encoder = new TextEncoder(); + const data = encoder.encode(originalString); + const byteArray = new CairoByteArray(data); + const decoded = byteArray.decodeUtf8(); + + expect(decoded).toBe(originalString); + }); + + test('should decode from Buffer input', () => { + const originalString = 'Test from Buffer'; + const buffer = Buffer.from(originalString); + const byteArray = new CairoByteArray(buffer); + const decoded = byteArray.decodeUtf8(); + + expect(decoded).toBe(originalString); + }); + + test('should throw error if not properly initialized', () => { + const byteArray = new CairoByteArray('test'); + // Force undefined by casting to any to test error handling + (byteArray as any).data = undefined; + + expect(() => byteArray.decodeUtf8()).toThrow('CairoByteArray is not properly initialized'); + }); + + test('should handle round-trip encoding and decoding', () => { + const testStrings = [ + '', + 'a', + 'Short', + 'This is exactly 31 bytes long!!', + 'This is longer than 31 bytes and will be split into multiple chunks', + 'A'.repeat(100), + 'Mixed 123 内容 with 😀 different character sets!', + ]; + + testStrings.forEach((original) => { + const byteArray = new CairoByteArray(original); + const decoded = byteArray.decodeUtf8(); + expect(decoded).toBe(original); + }); + }); + }); + + describe('toBigInt method', () => { + test('should convert empty string to 0n', () => { + const byteArray = new CairoByteArray(''); + expect(byteArray.toBigInt()).toBe(0n); + }); + + test('should convert short string to bigint', () => { + const byteArray = new CairoByteArray('Test'); + // 'Test' = 0x54657374 + expect(byteArray.toBigInt()).toBe(0x54657374n); + }); + + test('should convert exactly 31 bytes string to bigint', () => { + const str = 'This is exactly 31 bytes long!!'; + const byteArray = new CairoByteArray(str); + // Calculate expected bigint from the string + let expected = 0n; + for (let i = 0; i < str.length; i += 1) { + expected = expected * 256n + BigInt(str.charCodeAt(i)); + } + expect(byteArray.toBigInt()).toBe(expected); + }); + + test('should convert long string with multiple chunks to bigint', () => { + const str = 'This is a very long string that exceeds 31 bytes limit for testing'; + const byteArray = new CairoByteArray(str); + // Calculate expected bigint from the string + let expected = 0n; + for (let i = 0; i < str.length; i += 1) { + expected = expected * 256n + BigInt(str.charCodeAt(i)); + } + expect(byteArray.toBigInt()).toBe(expected); + }); + + test('should convert single byte to bigint', () => { + const byteArray = new CairoByteArray('A'); + expect(byteArray.toBigInt()).toBe(0x41n); // 'A' = 0x41 + }); + + test('should handle Uint8Array input', () => { + const data = new Uint8Array([0x48, 0x65, 0x6c, 0x6c, 0x6f]); // "Hello" + const byteArray = new CairoByteArray(data); + expect(byteArray.toBigInt()).toBe(0x48656c6c6fn); + }); + + test('should handle Buffer input', () => { + const buffer = Buffer.from('Cairo'); + const byteArray = new CairoByteArray(buffer); + expect(byteArray.toBigInt()).toBe(0x436169726fn); // "Cairo" + }); + + test('should throw error if not properly initialized', () => { + const byteArray = new CairoByteArray('test'); + // Force undefined by casting to any to test error handling + (byteArray as any).data = undefined; + + expect(() => byteArray.toBigInt()).toThrow('CairoByteArray is not properly initialized'); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoByteArray.is('Hello')).toBe(true); + expect(CairoByteArray.is('')).toBe(true); + expect(CairoByteArray.is(0)).toBe(true); + expect(CairoByteArray.is(42)).toBe(true); + expect(CairoByteArray.is(0n)).toBe(true); + expect(CairoByteArray.is(123n)).toBe(true); + expect(CairoByteArray.is(new Uint8Array([1, 2, 3]))).toBe(true); + expect(CairoByteArray.is(Buffer.from('test'))).toBe(true); + expect(CairoByteArray.is('0xff')).toBe(true); + expect(CairoByteArray.is('12345')).toBe(true); + }); + + test('should return false for invalid inputs', () => { + expect(CairoByteArray.is({} as any)).toBe(false); + expect(CairoByteArray.is([] as any)).toBe(false); + expect(CairoByteArray.is(null as any)).toBe(false); + expect(CairoByteArray.is(3.14 as any)).toBe(false); + expect(CairoByteArray.is(-1)).toBe(false); + expect(CairoByteArray.is(-1n)).toBe(false); + expect(CairoByteArray.is(undefined as any)).toBe(false); + expect(CairoByteArray.is({ data: 'test' } as any)).toBe(false); + expect(CairoByteArray.is([1, 2, 3] as any)).toBe(false); // Regular arrays not supported + expect(CairoByteArray.is(NaN as any)).toBe(false); + expect(CairoByteArray.is(Infinity as any)).toBe(false); + expect(CairoByteArray.is(-Infinity as any)).toBe(false); + }); + }); + + describe('toHexString method', () => { + test('should convert empty string to 0x0', () => { + const byteArray = new CairoByteArray(''); + expect(byteArray.toHexString()).toBe('0x0'); + }); + + test('should convert short string to hex', () => { + const byteArray = new CairoByteArray('Test'); + expect(byteArray.toHexString()).toBe('0x54657374'); + }); + + test('should convert single character to hex', () => { + const byteArray = new CairoByteArray('A'); + expect(byteArray.toHexString()).toBe('0x41'); + }); + + test('should convert exactly 31 bytes string to hex', () => { + const str = 'This is exactly 31 bytes long!!'; + const byteArray = new CairoByteArray(str); + // Calculate expected hex from the string + let hex = '0x'; + for (let i = 0; i < str.length; i += 1) { + hex += str.charCodeAt(i).toString(16).padStart(2, '0'); + } + expect(byteArray.toHexString()).toBe(hex); + }); + + test('should convert long string with multiple chunks to hex', () => { + const str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; // 36 bytes + const byteArray = new CairoByteArray(str); + // Calculate expected hex + let hex = '0x'; + for (let i = 0; i < str.length; i += 1) { + hex += str.charCodeAt(i).toString(16).padStart(2, '0'); + } + expect(byteArray.toHexString()).toBe(hex); + }); + + test('should handle Uint8Array input', () => { + const data = new Uint8Array([0xde, 0xad, 0xbe, 0xef]); + const byteArray = new CairoByteArray(data); + expect(byteArray.toHexString()).toBe('0xdeadbeef'); + }); + + test('should handle Buffer input', () => { + const buffer = Buffer.from([0xca, 0xfe, 0xba, 0xbe]); + const byteArray = new CairoByteArray(buffer); + expect(byteArray.toHexString()).toBe('0xcafebabe'); + }); + + test('should be consistent with toBigInt', () => { + const testStrings = [ + '', + 'A', + 'Test', + 'Hello, World!', + 'This is exactly 31 bytes long!!', + 'This is longer than 31 bytes and will be split into multiple chunks', + ]; + + testStrings.forEach((str) => { + const byteArray = new CairoByteArray(str); + const bigintValue = byteArray.toBigInt(); + const hexValue = byteArray.toHexString(); + + // toHexString should be equivalent to '0x' + toBigInt().toString(16) + const expected = bigintValue === 0n ? '0x0' : `0x${bigintValue.toString(16)}`; + expect(hexValue).toBe(expected); + }); + }); + }); + + describe('toApiRequest and factoryFromApiResponse', () => { + test('should serialize and deserialize short message', () => { + const testMessage = 'Hello, Starknet!'; + const byteArray = new CairoByteArray(testMessage); + + // Serialize to API request format + const apiRequest = byteArray.toApiRequest(); + + // Verify API request structure + expect(apiRequest).toBeInstanceOf(Array); + expect(apiRequest[0]).toBe('0x0'); // data length (no complete chunks) + expect(typeof apiRequest[1]).toBe('string'); // pending_word as hex string + expect(apiRequest[2]).toBe('0x10'); // pending_word_len + + // Deserialize from API response + const iterator = apiRequest[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly reconstructed + expect(reconstructedByteArray.decodeUtf8()).toBe(testMessage); + expect(reconstructedByteArray.toBigInt()).toBe(byteArray.toBigInt()); + expect(reconstructedByteArray.toHexString()).toBe(byteArray.toHexString()); + }); + + test('should serialize and deserialize long message (> 31 bytes)', () => { + const testMessage = + 'This is a very long message that exceeds 31 bytes and will be split into multiple chunks!'; + const byteArray = new CairoByteArray(testMessage); + + // Serialize to API request format + const apiRequest = byteArray.toApiRequest(); + + // Verify API request structure + expect(apiRequest).toBeInstanceOf(Array); + expect(Number(apiRequest[0])).toBeGreaterThan(0); // Should have complete chunks + + // Deserialize from API response + const iterator = apiRequest[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly reconstructed + expect(reconstructedByteArray.decodeUtf8()).toBe(testMessage); + expect(reconstructedByteArray.toBigInt()).toBe(byteArray.toBigInt()); + expect(reconstructedByteArray.toHexString()).toBe(byteArray.toHexString()); + }); + + test('should serialize and deserialize empty message', () => { + const testMessage = ''; + const byteArray = new CairoByteArray(testMessage); + + // Serialize to API request format + const apiRequest = byteArray.toApiRequest(); + + // Verify API request structure + expect(apiRequest).toBeInstanceOf(Array); + expect(apiRequest[0]).toBe('0x0'); // data length + expect(apiRequest[1]).toBe('0x0'); // pending_word + expect(apiRequest[2]).toBe('0x0'); // pending_word_len + + // Deserialize from API response + const iterator = apiRequest[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the message is correctly reconstructed + expect(reconstructedByteArray.decodeUtf8()).toBe(testMessage); + expect(reconstructedByteArray.toBigInt()).toBe(0n); + expect(reconstructedByteArray.toHexString()).toBe('0x0'); + }); + + test('should serialize and deserialize with disabled parsers simulation', () => { + const testMessage = 'Testing disabled parsers'; + const byteArray = new CairoByteArray(testMessage); + + // Simulate contract call with parseRequest: false + // This is what happens when you call contract.withOptions({parseRequest: false}) + const rawCalldata = byteArray.toApiRequest(); + + // Simulate contract response with parseResponse: false + // This is what you get back when contract.withOptions({parseResponse: false}) + const rawResponse = rawCalldata; // Contract echoes the data back + + // Parse the raw response back to CairoByteArray + const iterator = rawResponse[Symbol.iterator](); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(iterator); + + // Verify the round trip + expect(reconstructedByteArray.decodeUtf8()).toBe(testMessage); + expect(reconstructedByteArray.toBigInt()).toBe(byteArray.toBigInt()); + expect(reconstructedByteArray.toHexString()).toBe(byteArray.toHexString()); + }); + + test('should handle multiple serialization/deserialization cycles', () => { + const testMessages = [ + 'First message', + 'Second message with numbers 12345', + 'Third message with symbols !@#$%', + '', + 'Final message after empty', + ]; + + testMessages.forEach((message) => { + const byteArray = new CairoByteArray(message); + + // First cycle + const apiRequest1 = byteArray.toApiRequest(); + const iterator1 = apiRequest1[Symbol.iterator](); + const reconstructed1 = CairoByteArray.factoryFromApiResponse(iterator1); + + // Second cycle from reconstructed + const apiRequest2 = reconstructed1.toApiRequest(); + const iterator2 = apiRequest2[Symbol.iterator](); + const reconstructed2 = CairoByteArray.factoryFromApiResponse(iterator2); + + // Verify consistency across cycles + expect(reconstructed1.decodeUtf8()).toBe(message); + expect(reconstructed2.decodeUtf8()).toBe(message); + expect(reconstructed1.toBigInt()).toBe(byteArray.toBigInt()); + expect(reconstructed2.toBigInt()).toBe(byteArray.toBigInt()); + expect(apiRequest1).toEqual(apiRequest2); + }); + }); + + test('should preserve data leading zeros for toApiRequest()', () => { + const content = + '0x' + + '000000019900000000000002222222374206275726e206d65737aaaa000001' + + '000000029900000000000002222222374206275726e206d65737aaaa000002' + + '000000039900000000000002222222374206275726e206d65737aaaa000003' + + '00d0f0'; + const buffer = Buffer.from(content.slice(2), 'hex'); + const byteArray = new CairoByteArray(buffer); + const apiRequest = byteArray.toApiRequest(); + const reconstructedByteArray = CairoByteArray.factoryFromApiResponse(apiRequest.values()); + + expect(reconstructedByteArray.toHexString()).toEqual(content); + }); + }); + + describe('toElements method', () => { + test('should convert empty string to empty array', () => { + const byteArray = new CairoByteArray(''); + expect(byteArray.toElements()).toEqual([]); + }); + + test('should convert short string into single element array corresponding to the pending word', () => { + const byteArray = new CairoByteArray('Test'); + expect(byteArray.toElements()).toEqual([new Uint8Array([84, 101, 115, 116])]); + }); + + test('should convert large string into full size elements', () => { + const apiResponse = [ + '0x3', + '0x19900000000000002222222374206275726e206d65737aaaa000001', + '0x29900000000000002222222374206275726e206d65737aaaa000002', + '0x39900000000000002222222374206275726e206d65737aaaa000003', + '0xd0f0', + '0xa', + ]; + const byteArray = CairoByteArray.factoryFromApiResponse(apiResponse.values()); + const elements = byteArray.toElements(); + + expect(elements).toHaveLength(Number(apiResponse[0]) + 1); + elements.slice(0, -1).forEach((e) => expect(e).toHaveLength(31)); + expect(elements.at(-1)).toHaveLength(Number(apiResponse.at(-1))); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoBytes31.test.ts b/__tests__/utils/cairoDataTypes/CairoBytes31.test.ts new file mode 100644 index 000000000..edad198d7 --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoBytes31.test.ts @@ -0,0 +1,410 @@ +import { BigNumberish, CairoBytes31, CairoFelt252 } from '../../../src'; +import { addHexPrefix } from '../../../src/utils/encode'; + +function uint8ArrayToSize(input: Uint8Array | Array, size: number = 31) { + const output = new Uint8Array(size); + output.set(input, size - input.length); + return output; +} + +function toHex62(number: BigNumberish) { + return addHexPrefix(BigInt(number).toString(16).padStart(62, '0')); +} + +describe('CairoBytes31 class Unit Tests', () => { + describe('constructor with different input types', () => { + test('should handle string input', () => { + const bytes31 = new CairoBytes31('hello'); + expect(bytes31.data).toBeInstanceOf(Uint8Array); + expect(bytes31.data).toEqual(uint8ArrayToSize([104, 101, 108, 108, 111])); + }); + + test('should handle empty string', () => { + const bytes31 = new CairoBytes31(''); + expect(bytes31.data).toEqual(uint8ArrayToSize([])); + }); + + test('should handle Unicode strings', () => { + const bytes31 = new CairoBytes31('☥'); + // '☥' in UTF-8: [226, 152, 165] + expect(bytes31.data).toEqual(uint8ArrayToSize([226, 152, 165])); + }); + + test('should handle Buffer input', () => { + const buffer = Buffer.from([72, 101, 108, 108, 111]); // "Hello" + const bytes31 = new CairoBytes31(buffer); + expect(bytes31.data).toEqual(uint8ArrayToSize([72, 101, 108, 108, 111])); + }); + + test('should handle empty Buffer', () => { + const buffer = Buffer.alloc(0); + const bytes31 = new CairoBytes31(buffer); + expect(bytes31.data).toEqual(uint8ArrayToSize([])); + }); + + test('should handle Uint8Array input', () => { + const uint8Array = new Uint8Array([87, 111, 114, 108, 100]); // "World" + const bytes31 = new CairoBytes31(uint8Array); + expect(bytes31.data).toEqual(uint8ArrayToSize(uint8Array)); + }); + + test('should handle empty Uint8Array', () => { + const uint8Array = new Uint8Array([]); + const bytes31 = new CairoBytes31(uint8Array); + expect(bytes31.data).toEqual(uint8ArrayToSize([])); + }); + + test('should handle maximum length input (31 bytes)', () => { + const maxString = 'a'.repeat(31); // 31 ASCII chars = 31 bytes + const bytes31 = new CairoBytes31(maxString); + expect(bytes31.data.length).toBe(31); + expect(() => new CairoBytes31(maxString)).not.toThrow(); + }); + + test('should reject invalid input types', () => { + expect(() => new CairoBytes31(123 as any)).toThrow( + 'Invalid input type for CairoBytes31. Expected string, Buffer, or Uint8Array' + ); + expect(() => new CairoBytes31({} as any)).toThrow( + 'Invalid input type for CairoBytes31. Expected string, Buffer, or Uint8Array' + ); + expect(() => new CairoBytes31(null as any)).toThrow( + 'Invalid input type for CairoBytes31. Expected string, Buffer, or Uint8Array' + ); + }); + + test('should reject strings longer than 31 bytes', () => { + const longString = 'a'.repeat(32); // 32 bytes + expect(() => new CairoBytes31(longString)).toThrow( + 'Data is too long: 32 bytes (max 31 bytes)' + ); + }); + + test('should reject Unicode strings longer than 31 bytes', () => { + // Each '☥' is 3 bytes in UTF-8, so 11 of them = 33 bytes + const longUnicode = '☥'.repeat(11); + expect(() => new CairoBytes31(longUnicode)).toThrow( + 'Data is too long: 33 bytes (max 31 bytes)' + ); + }); + + test('should reject Buffer longer than 31 bytes', () => { + const longBuffer = Buffer.alloc(32); + expect(() => new CairoBytes31(longBuffer)).toThrow( + 'Data is too long: 32 bytes (max 31 bytes)' + ); + }); + + test('should reject Uint8Array longer than 31 bytes', () => { + const longArray = new Uint8Array(32); + expect(() => new CairoBytes31(longArray)).toThrow( + 'Data is too long: 32 bytes (max 31 bytes)' + ); + }); + }); + + describe('toBigInt method', () => { + test('should convert empty data to 0n', () => { + const bytes31 = new CairoBytes31(''); + expect(bytes31.toBigInt()).toBe(0n); + }); + + test('should convert single byte to bigint', () => { + const bytes31 = new CairoBytes31('A'); // ASCII 65 + expect(bytes31.toBigInt()).toBe(65n); + }); + + test('should convert multi-byte data to bigint', () => { + const bytes31 = new CairoBytes31('AB'); // [65, 66] = 0x4142 = 16706 + expect(bytes31.toBigInt()).toBe(0x4142n); + }); + + test('should handle Unicode conversion', () => { + const bytes31 = new CairoBytes31('☥'); // [226, 152, 165] = 0xe298a5 + expect(bytes31.toBigInt()).toBe(0xe298a5n); + }); + + test('should handle Buffer input conversion', () => { + const buffer = Buffer.from([1, 2, 3]); + const bytes31 = new CairoBytes31(buffer); + expect(bytes31.toBigInt()).toBe(0x010203n); + }); + + test('should handle Uint8Array input conversion', () => { + const array = new Uint8Array([255, 254, 253]); + const bytes31 = new CairoBytes31(array); + expect(bytes31.toBigInt()).toBe(0xfffefdn); + }); + }); + + describe('decodeUtf8 method', () => { + test('should convert ASCII text back to original string', () => { + const text = 'hello world'; + const bytes31 = new CairoBytes31(text); + expect(bytes31.decodeUtf8()).toBe(text); + }); + + test('should convert Unicode text back to original string', () => { + const text = '☥ 世界'; + const bytes31 = new CairoBytes31(text); + expect(bytes31.decodeUtf8()).toBe(text); + }); + + test('should handle empty string', () => { + const bytes31 = new CairoBytes31(''); + expect(bytes31.decodeUtf8()).toBe(''); + }); + + test('should handle special characters', () => { + const text = '!@#$%^&*()_+-=[]{}|;:,.<>?'; + const bytes31 = new CairoBytes31(text); + expect(bytes31.decodeUtf8()).toBe(text); + }); + + test('should handle whitespace characters', () => { + const text = 'line1\\nline2\\ttab\\r\\nwindows'; + const bytes31 = new CairoBytes31(text); + expect(bytes31.decodeUtf8()).toBe(text); + }); + + test('should decode Buffer input as text', () => { + const buffer = Buffer.from('Hello Buffer', 'utf8'); + const bytes31 = new CairoBytes31(buffer); + expect(bytes31.decodeUtf8()).toBe('Hello Buffer'); + }); + + test('should decode Uint8Array input as text', () => { + // UTF-8 bytes for "Test" + const array = new Uint8Array([84, 101, 115, 116]); + const bytes31 = new CairoBytes31(array); + expect(bytes31.decodeUtf8()).toBe('Test'); + }); + }); + + describe('toHexString method', () => { + test('should convert empty data to 0x0', () => { + const bytes31 = new CairoBytes31(''); + expect(bytes31.toHexString()).toBe('0x0'); + expect(bytes31.toHexString('padded')).toBe(toHex62('0x0')); + }); + + test('should convert single character to hex', () => { + const bytes31 = new CairoBytes31('A'); // ASCII 65 = 0x41 + expect(bytes31.toHexString()).toBe('0x41'); + expect(bytes31.toHexString('padded')).toBe(toHex62('0x41')); + }); + + test('should convert multi-character string to hex', () => { + const bytes31 = new CairoBytes31('AB'); // [65, 66] = 0x4142 + expect(bytes31.toHexString()).toBe('0x4142'); + expect(bytes31.toHexString('padded')).toBe(toHex62('0x4142')); + }); + + test('should convert Unicode to hex', () => { + const bytes31 = new CairoBytes31('☥'); // [226, 152, 165] = 0xe298a5 + expect(bytes31.toHexString()).toBe('0xe298a5'); + expect(bytes31.toHexString('padded')).toBe(toHex62('0xe298a5')); + }); + + test('should convert Buffer to hex', () => { + const buffer = Buffer.from([255, 254]); + const bytes31 = new CairoBytes31(buffer); + expect(bytes31.toHexString()).toBe('0xfffe'); + expect(bytes31.toHexString('padded')).toBe(toHex62('0xfffe')); + }); + + test('should convert Uint8Array to hex', () => { + const array = new Uint8Array([1, 2, 3, 4]); + const bytes31 = new CairoBytes31(array); + expect(bytes31.toHexString()).toBe('0x1020304'); + expect(bytes31.toHexString('padded')).toBe(toHex62('0x1020304')); + }); + + test('should handle maximum length data', () => { + const maxArray = new Uint8Array(31).fill(255); // 31 bytes of 0xff + const bytes31 = new CairoBytes31(maxArray); + const expectedHex = `0x${'ff'.repeat(31)}`; + expect(bytes31.toHexString()).toBe(expectedHex); + expect(bytes31.toHexString('padded')).toBe(expectedHex); + }); + }); + + describe('toApiRequest method', () => { + test('should return hex string array for empty data', () => { + const bytes31 = new CairoBytes31(''); + expect(bytes31.toApiRequest()).toEqual(['0x0']); + }); + + test('should return hex string array for text data', () => { + const bytes31 = new CairoBytes31('A'); // ASCII 65 + expect(bytes31.toApiRequest()).toEqual(['0x41']); + }); + + test('should return hex string array for multi-byte data', () => { + const bytes31 = new CairoBytes31('AB'); // 0x4142 = 16706 + expect(bytes31.toApiRequest()).toEqual(['0x4142']); + }); + + test('should return hex string array for Buffer input', () => { + const buffer = Buffer.from([1, 0]); // 0x0100 = 256 + const bytes31 = new CairoBytes31(buffer); + expect(bytes31.toApiRequest()).toEqual(['0x100']); + }); + + test('should return hex string array for large values', () => { + const array = new Uint8Array([222, 173, 190, 239]); // 0xdeadbeef + const bytes31 = new CairoBytes31(array); + expect(bytes31.toApiRequest()).toEqual(['0xdeadbeef']); + }); + }); + + describe('validate static method', () => { + test('should validate valid string inputs', () => { + expect(() => CairoBytes31.validate('')).not.toThrow(); + expect(() => CairoBytes31.validate('hello')).not.toThrow(); + expect(() => CairoBytes31.validate('a'.repeat(31))).not.toThrow(); + expect(() => CairoBytes31.validate('☥')).not.toThrow(); + }); + + test('should validate valid Buffer inputs', () => { + expect(() => CairoBytes31.validate(Buffer.alloc(0))).not.toThrow(); + expect(() => CairoBytes31.validate(Buffer.from('test'))).not.toThrow(); + expect(() => CairoBytes31.validate(Buffer.alloc(31))).not.toThrow(); + }); + + test('should validate valid Uint8Array inputs', () => { + expect(() => CairoBytes31.validate(new Uint8Array([]))).not.toThrow(); + expect(() => CairoBytes31.validate(new Uint8Array([1, 2, 3]))).not.toThrow(); + expect(() => CairoBytes31.validate(new Uint8Array(31))).not.toThrow(); + }); + + test('should reject invalid input types', () => { + expect(() => CairoBytes31.validate(123 as any)).toThrow( + 'Invalid input type for CairoBytes31. Expected string, Buffer, or Uint8Array' + ); + expect(() => CairoBytes31.validate({} as any)).toThrow( + 'Invalid input type for CairoBytes31. Expected string, Buffer, or Uint8Array' + ); + expect(() => CairoBytes31.validate(null as any)).toThrow( + 'Invalid input type for CairoBytes31. Expected string, Buffer, or Uint8Array' + ); + expect(() => CairoBytes31.validate(undefined as any)).toThrow( + 'Invalid input type for CairoBytes31. Expected string, Buffer, or Uint8Array' + ); + }); + + test('should reject data longer than 31 bytes', () => { + expect(() => CairoBytes31.validate('a'.repeat(32))).toThrow( + 'Data is too long: 32 bytes (max 31 bytes)' + ); + expect(() => CairoBytes31.validate(Buffer.alloc(32))).toThrow( + 'Data is too long: 32 bytes (max 31 bytes)' + ); + expect(() => CairoBytes31.validate(new Uint8Array(32))).toThrow( + 'Data is too long: 32 bytes (max 31 bytes)' + ); + }); + + test('should correctly calculate UTF-8 byte length', () => { + // Each '☥' is 3 bytes in UTF-8 + const tenSymbols = '☥'.repeat(10); // 30 bytes - should be valid + const elevenSymbols = '☥'.repeat(11); // 33 bytes - should be invalid + + expect(() => CairoBytes31.validate(tenSymbols)).not.toThrow(); + expect(() => CairoBytes31.validate(elevenSymbols)).toThrow( + 'Data is too long: 33 bytes (max 31 bytes)' + ); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoBytes31.is('')).toBe(true); + expect(CairoBytes31.is('hello')).toBe(true); + expect(CairoBytes31.is('a'.repeat(31))).toBe(true); + expect(CairoBytes31.is(Buffer.from('test'))).toBe(true); + expect(CairoBytes31.is(new Uint8Array([1, 2, 3]))).toBe(true); + }); + + test('should return false for invalid inputs', () => { + expect(CairoBytes31.is(123 as any)).toBe(false); + expect(CairoBytes31.is({} as any)).toBe(false); + expect(CairoBytes31.is(null as any)).toBe(false); + expect(CairoBytes31.is('a'.repeat(32))).toBe(false); + expect(CairoBytes31.is(Buffer.alloc(32))).toBe(false); + expect(CairoBytes31.is(new Uint8Array(32))).toBe(false); + expect(CairoFelt252.is([] as any)).toBe(false); + expect(CairoFelt252.is(3.14 as any)).toBe(false); + expect(CairoFelt252.is(-1)).toBe(false); + expect(CairoFelt252.is(-1n)).toBe(false); + expect(CairoFelt252.is(undefined as any)).toBe(false); + }); + }); + + describe('isAbiType static method', () => { + test('should identify correct ABI type', () => { + expect(CairoBytes31.isAbiType('core::bytes_31::bytes31')).toBe(true); + expect(CairoBytes31.isAbiType('bytes31')).toBe(false); + expect(CairoBytes31.isAbiType('core::felt252')).toBe(false); + expect(CairoBytes31.isAbiType('core::integer::u256')).toBe(false); + }); + }); + + describe('edge cases and consistency checks', () => { + test('should handle binary data correctly', () => { + const binaryData = new Uint8Array([0, 1, 2, 254, 255]); + const bytes31 = new CairoBytes31(binaryData); + expect(bytes31.data).toEqual(uint8ArrayToSize(binaryData)); + expect(bytes31.toBigInt()).toBe(0x0102feffn); + }); + + test('should be consistent across different input types for same data', () => { + const testData = [72, 101, 108, 108, 111]; // "Hello" + + const fromString = new CairoBytes31('Hello'); + const fromBuffer = new CairoBytes31(Buffer.from(testData)); + const fromUint8Array = new CairoBytes31(new Uint8Array(testData)); + + expect(fromString.data).toEqual(fromBuffer.data); + expect(fromBuffer.data).toEqual(fromUint8Array.data); + expect(fromString.toBigInt()).toBe(fromBuffer.toBigInt()); + expect(fromBuffer.toBigInt()).toBe(fromUint8Array.toBigInt()); + expect(fromString.toHexString()).toBe(fromBuffer.toHexString()); + expect(fromBuffer.toHexString()).toBe(fromUint8Array.toHexString()); + }); + + test('should handle round-trip conversions correctly', () => { + const originalText = 'Test 123 ☥!'; + const bytes31 = new CairoBytes31(originalText); + expect(bytes31.decodeUtf8()).toBe(originalText); + + const bigintValue = bytes31.toBigInt(); + const hexValue = bytes31.toHexString(); + expect(BigInt(hexValue)).toBe(bigintValue); + }); + + test('should preserve exact byte sequences', () => { + const testCases = [ + new Uint8Array([0]), + new Uint8Array([255]), + new Uint8Array([1, 2, 3, 4, 5]), + new Uint8Array([0, 255, 128, 64, 32]), + ]; + + testCases.forEach((originalArray) => { + const bytes31 = new CairoBytes31(originalArray); + expect(bytes31.data).toEqual(uint8ArrayToSize(originalArray)); + }); + }); + + test('should handle boundary conditions', () => { + // Test with exactly 31 bytes + const boundary31 = new Uint8Array(31).fill(42); + expect(() => new CairoBytes31(boundary31)).not.toThrow(); + + const bytes31 = new CairoBytes31(boundary31); + expect(bytes31.data.length).toBe(31); + expect(bytes31.data.every((byte) => byte === 42)).toBe(true); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoFelt.test.ts b/__tests__/utils/cairoDataTypes/CairoFelt.test.ts index 32e92a690..51d1544ea 100644 --- a/__tests__/utils/cairoDataTypes/CairoFelt.test.ts +++ b/__tests__/utils/cairoDataTypes/CairoFelt.test.ts @@ -1,5 +1,6 @@ -import { CairoFelt } from '../../../src/utils/cairoDataTypes/felt'; -import { encodeShortString } from '../../../src/utils/shortString'; +import { CairoFelt, shortString } from '../../../src'; + +const { encodeShortString } = shortString; describe('CairoFelt function', () => { test('should throw error for non-integer input', () => { diff --git a/__tests__/utils/cairoDataTypes/CairoFelt252.test.ts b/__tests__/utils/cairoDataTypes/CairoFelt252.test.ts new file mode 100644 index 000000000..285867f24 --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoFelt252.test.ts @@ -0,0 +1,479 @@ +import { CairoFelt252, encode } from '../../../src'; + +const { uint8ArrayToBigInt } = encode; + +describe('CairoFelt252 class Unit Tests', () => { + describe('constructor with different input types', () => { + test('should handle bigint values', () => { + const felt = new CairoFelt252(123n); + expect(felt.toBigInt()).toBe(123n); + + const largeFelt = new CairoFelt252(2n ** 200n); + expect(largeFelt.toBigInt()).toBe(2n ** 200n); + }); + + test('should handle number values', () => { + const felt = new CairoFelt252(456); + expect(felt.toBigInt()).toBe(456n); + + const zeroFelt = new CairoFelt252(0); + expect(zeroFelt.toBigInt()).toBe(0n); + }); + + test('should handle boolean values', () => { + const trueFelt = new CairoFelt252(true); + expect(trueFelt.toBigInt()).toBe(1n); + + const falseFelt = new CairoFelt252(false); + expect(falseFelt.toBigInt()).toBe(0n); + }); + + test('should handle hex strings', () => { + const felt = new CairoFelt252('0x123'); + expect(felt.toBigInt()).toBe(291n); // 0x123 = 291 + + const largeFelt = new CairoFelt252('0xdeadbeef'); + expect(largeFelt.toBigInt()).toBe(0xdeadbeefn); + }); + + test('should handle decimal strings', () => { + const felt = new CairoFelt252('789'); + expect(felt.toBigInt()).toBe(789n); + + const zeroFelt = new CairoFelt252('0'); + expect(zeroFelt.toBigInt()).toBe(0n); + }); + + test('should handle ASCII text strings', () => { + const felt = new CairoFelt252('hello'); + // 'hello' as UTF-8 bytes: [104, 101, 108, 108, 111] + // As hex: 0x68656c6c6f = 448378203247 + expect(felt.toBigInt()).toBe(448378203247n); + }); + + test('should handle Unicode text strings', () => { + // Test emoji + const emojiFelt = new CairoFelt252('☥'); + // '☥' in UTF-8: [226, 152, 165] = 0xe298a5 + expect(emojiFelt.toBigInt()).toBe(0xe298a5n); + + // Test Chinese characters + const chineseFelt = new CairoFelt252('世'); + // '世' in UTF-8: [228, 184, 150] = 0xe4b896 + expect(chineseFelt.toBigInt()).toBe(0xe4b896n); + }); + + test('should handle mixed Unicode strings', () => { + const felt = new CairoFelt252('Hi☥'); + // 'Hi☥' in UTF-8: [72, 105, 226, 152, 165] + // As hex: 0x4869e298a5 + expect(felt.toBigInt()).toBe(0x4869e298a5n); + }); + + test('should handle text strings up to felt252 byte limit', () => { + // Felt252 max is about 2^251, which is roughly 31 bytes + // Use a text string with non-numeric characters + const maxString = 'abcdefghijklmnopqrstuvwxyz12345'; // 31 ASCII chars = 31 bytes + expect(() => new CairoFelt252(maxString)).not.toThrow(); + + const felt = new CairoFelt252(maxString); + const bytes = new TextEncoder().encode(maxString); + expect(bytes.length).toBe(31); // Verify it's 31 bytes + const expectedValue = uint8ArrayToBigInt(bytes); + expect(felt.toBigInt()).toBe(expectedValue); + }); + + test('should reject text strings that exceed felt252 range', () => { + // Very long strings will exceed the felt252 maximum value + const veryLongString = + 'This is a very long string that exceeds 31 characters easily and will definitely exceed the felt252 maximum value when converted to a bigint'; + + // Should throw during validation + expect(() => new CairoFelt252(veryLongString)).toThrow(/out of felt252 range/); + }); + }); + + describe('data storage as Uint8Array', () => { + test('should store data as Uint8Array', () => { + const felt = new CairoFelt252(256n); + expect(felt.data).toBeInstanceOf(Uint8Array); + expect(felt.data).toEqual(new Uint8Array([1, 0])); // Big-endian + }); + + test('should use big-endian byte order', () => { + const felt = new CairoFelt252(0x0102n); + expect(felt.data).toEqual(new Uint8Array([1, 2])); + }); + }); + + describe('toBigInt method', () => { + test('should correctly convert back to bigint', () => { + const testValues = [0n, 1n, 255n, 256n, 65535n, 2n ** 100n]; + + testValues.forEach((value) => { + const felt = new CairoFelt252(value); + expect(felt.toBigInt()).toBe(value); + }); + }); + }); + + describe('toHexString method', () => { + test('should convert bigint values to hex string', () => { + const felt = new CairoFelt252(255n); + expect(felt.toHexString()).toBe('0xff'); + }); + + test('should convert number values to hex string', () => { + const felt = new CairoFelt252(256); + expect(felt.toHexString()).toBe('0x100'); + }); + + test('should convert zero to hex string', () => { + const felt = new CairoFelt252(0n); + expect(felt.toHexString()).toBe('0x0'); + }); + + test('should convert large values to hex string', () => { + const felt = new CairoFelt252(0xdeadbeefn); + expect(felt.toHexString()).toBe('0xdeadbeef'); + }); + + test('should convert hex string input back to same hex format', () => { + const originalHex = '0x123abc'; + const felt = new CairoFelt252(originalHex); + expect(felt.toHexString()).toBe(originalHex); + }); + + test('should convert decimal string to hex', () => { + const felt = new CairoFelt252('255'); + expect(felt.toHexString()).toBe('0xff'); + }); + + test('should convert text strings to hex representation', () => { + const felt = new CairoFelt252('A'); // ASCII 65 = 0x41 + expect(felt.toHexString()).toBe('0x41'); + }); + + test('should convert Unicode text to hex', () => { + const felt = new CairoFelt252('☥'); // UTF-8: [226, 152, 165] = 0xe298a5 + expect(felt.toHexString()).toBe('0xe298a5'); + }); + + test('should convert boolean values to hex', () => { + const trueFelt = new CairoFelt252(true); + expect(trueFelt.toHexString()).toBe('0x1'); + + const falseFelt = new CairoFelt252(false); + expect(falseFelt.toHexString()).toBe('0x0'); + }); + + test('should handle very large felt252 values', () => { + // Test with a large value close to felt252 max + const largeValue = 2n ** 200n; + const felt = new CairoFelt252(largeValue); + expect(felt.toHexString()).toBe(`0x${largeValue.toString(16)}`); + }); + + test('should be consistent with toBigInt conversion', () => { + const testValues = [0n, 1n, 255n, 256n, 65535n, 0xdeadbeefn]; + + testValues.forEach((value) => { + const felt = new CairoFelt252(value); + const hexString = felt.toHexString(); + const backToBigInt = BigInt(hexString); + expect(backToBigInt).toBe(value); + }); + }); + }); + + describe('toUnicode method', () => { + test('should convert ASCII text back to original string', () => { + const text = 'hello'; + const felt = new CairoFelt252(text); + expect(felt.decodeUtf8()).toBe(text); + }); + + test('should convert Unicode emoji back to original', () => { + const emoji = '☥'; + const felt = new CairoFelt252(emoji); + expect(felt.decodeUtf8()).toBe(emoji); + }); + + test('should convert Chinese characters back to original', () => { + const chinese = '世界'; + const felt = new CairoFelt252(chinese); + expect(felt.decodeUtf8()).toBe(chinese); + }); + + test('should convert mixed Unicode text back to original', () => { + const mixed = 'Hello ☥ 世界!'; + const felt = new CairoFelt252(mixed); + expect(felt.decodeUtf8()).toBe(mixed); + }); + + test('should handle special characters correctly', () => { + const special = '!@#$%^&*()_+-=[]{}|;:,.<>?'; + const felt = new CairoFelt252(special); + expect(felt.decodeUtf8()).toBe(special); + }); + + test('should handle newlines, tabs, and spaces', () => { + const whitespace = 'line1\nline2\ttab\r\nwindows'; + const felt = new CairoFelt252(whitespace); + expect(felt.decodeUtf8()).toBe(whitespace); + }); + + test('should return empty string for zero value', () => { + const felt = new CairoFelt252(0n); + // 0n becomes single byte [0], which decodes to null character + expect(felt.decodeUtf8()).toBe('\x00'); + }); + + test('should return empty string for empty string input', () => { + const felt = new CairoFelt252(''); + expect(felt.decodeUtf8()).toBe(''); + }); + + test('should decode hex string inputs as raw bytes, not as text', () => { + // When we pass a hex string, it's converted to bytes representing the number + const felt = new CairoFelt252('0x48656c6c6f'); // This is "Hello" in hex + // The bytes stored are [72, 101, 108, 108, 111] which decode to "Hello" + expect(felt.decodeUtf8()).toBe('Hello'); + }); + + test('should decode decimal string inputs as raw bytes', () => { + // Decimal string '65' becomes bigint 65n, which is byte [65], which is 'A' in ASCII + const felt = new CairoFelt252('65'); + expect(felt.decodeUtf8()).toBe('A'); + }); + + test('should handle all printable ASCII characters', () => { + // Test a subset of printable ASCII characters that fit in felt252 + const printableAscii = 'Hello World!@#$%^&*()'; + const felt = new CairoFelt252(printableAscii); + expect(felt.decodeUtf8()).toBe(printableAscii); + }); + + test('should handle multi-byte UTF-8 sequences', () => { + // Test various multi-byte UTF-8 characters that fit in felt252 + const multiByteChars = '€£¥§©'; + const felt = new CairoFelt252(multiByteChars); + expect(felt.decodeUtf8()).toBe(multiByteChars); + }); + + test('should preserve text through round-trip conversion', () => { + const testStrings = [ + 'Simple ASCII', + 'Ûñïçödé テキスト', + '🎉🎊🎈', // Emojis + 'مرحبا بالعالم', // Arabic + 'Здравствуй мир', // Russian + '你好世界', // Chinese + '🇦🇺🇦🇺', + ]; + + testStrings.forEach((text) => { + const felt = new CairoFelt252(text); + expect(felt.decodeUtf8()).toBe(text); + }); + }); + + test('should decode bigint inputs as their byte representation', () => { + // BigInt 0x41 = 65 = byte [65] = 'A' + const felt1 = new CairoFelt252(65n); + expect(felt1.decodeUtf8()).toBe('A'); + + // BigInt 0x4142 = 16706 = bytes [65, 66] = 'AB' + const felt2 = new CairoFelt252(0x4142n); + expect(felt2.decodeUtf8()).toBe('AB'); + }); + + test('should decode boolean inputs correctly', () => { + const trueFelt = new CairoFelt252(true); + expect(trueFelt.decodeUtf8()).toBe('\x01'); // byte value 1 + + const falseFelt = new CairoFelt252(false); + expect(falseFelt.decodeUtf8()).toBe('\x00'); // byte value 0 + }); + }); + + describe('toApiRequest method', () => { + test('should return hex string array', () => { + const felt = new CairoFelt252(123n); + expect(felt.toApiRequest()).toEqual(['0x7b']); + + const largeFelt = new CairoFelt252(2n ** 200n); + expect(largeFelt.toApiRequest()).toEqual([ + '0x100000000000000000000000000000000000000000000000000', + ]); + }); + }); + + describe('validate static method', () => { + test('should validate valid inputs', () => { + expect(() => CairoFelt252.validate(123n)).not.toThrow(); + expect(() => CairoFelt252.validate(456)).not.toThrow(); + expect(() => CairoFelt252.validate('0x789')).not.toThrow(); + expect(() => CairoFelt252.validate('1000')).not.toThrow(); + expect(() => CairoFelt252.validate('hello')).not.toThrow(); + expect(() => CairoFelt252.validate(true)).not.toThrow(); + }); + + test('should reject invalid inputs', () => { + expect(() => CairoFelt252.validate({} as any)).toThrow(); + expect(() => CairoFelt252.validate([] as any)).toThrow(); + expect(() => CairoFelt252.validate(null as any)).toThrow(); + expect(() => CairoFelt252.validate(undefined as any)).toThrow(); + expect(() => CairoFelt252.validate(3.14 as any)).toThrow(); + }); + + test('should reject null with specific error message', () => { + expect(() => CairoFelt252.validate(null as any)).toThrow( + 'null value is not allowed for felt252' + ); + }); + + test('should reject undefined with specific error message', () => { + expect(() => CairoFelt252.validate(undefined as any)).toThrow( + 'undefined value is not allowed for felt252' + ); + }); + + test('should reject unsupported data types with specific error messages', () => { + expect(() => CairoFelt252.validate(Symbol('test') as any)).toThrow( + "Unsupported data type 'symbol' for felt252. Expected string, number, bigint, or boolean" + ); + expect(() => CairoFelt252.validate((() => {}) as any)).toThrow( + "Unsupported data type 'function' for felt252. Expected string, number, bigint, or boolean" + ); + expect(() => CairoFelt252.validate({} as any)).toThrow( + "Unsupported data type 'object' for felt252. Expected string, number, bigint, or boolean" + ); + expect(() => CairoFelt252.validate([] as any)).toThrow( + "Unsupported data type 'object' for felt252. Expected string, number, bigint, or boolean" + ); + }); + + test('should reject values outside felt252 range', () => { + const PRIME = 2n ** 251n + 17n * 2n ** 192n + 1n; + + // Value smaller than PRIME should be accepted + expect(() => CairoFelt252.validate(PRIME - 1n)).not.toThrow(/out of felt252 range/); + + // Min value should be accepted + expect(() => CairoFelt252.validate(0n)).not.toThrow(/out of felt252 range/); + + // Value equal to PRIME should be rejected + expect(() => CairoFelt252.validate(PRIME)).toThrow(/out of felt252 range/); + + // Value greater than PRIME should be rejected + expect(() => CairoFelt252.validate(PRIME + 1n)).toThrow(/out of felt252 range/); + + // Negative values should be rejected + expect(() => CairoFelt252.validate(-1n)).toThrow( + /Cannot convert negative bigint -1 to Uint8Array/ + ); + + // each flag is 8 byte, so this should be 32 bytes what is out of felt range + expect(() => CairoFelt252.validate('🇦🇺🇦🇺🇦🇺🇦🇺')).toThrow(/out of felt252 range/); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoFelt252.is(123n)).toBe(true); + expect(CairoFelt252.is(456)).toBe(true); + expect(CairoFelt252.is('0x789')).toBe(true); + expect(CairoFelt252.is('hello')).toBe(true); + expect(CairoFelt252.is(true)).toBe(true); + }); + + test('should return false for invalid inputs', () => { + expect(CairoFelt252.is({} as any)).toBe(false); + expect(CairoFelt252.is([] as any)).toBe(false); + expect(CairoFelt252.is(null as any)).toBe(false); + expect(CairoFelt252.is(3.14 as any)).toBe(false); + expect(CairoFelt252.is(-1)).toBe(false); + expect(CairoFelt252.is(-1n)).toBe(false); + expect(CairoFelt252.is(undefined as any)).toBe(false); + + const PRIME = 2n ** 251n + 17n * 2n ** 192n + 1n; + expect(CairoFelt252.is(PRIME)).toBe(false); + }); + + test('should return false for unknown invalid data types', () => { + expect(CairoFelt252.is(Symbol('test') as any)).toBe(false); + expect(CairoFelt252.is((() => {}) as any)).toBe(false); + expect(CairoFelt252.is(new Date() as any)).toBe(false); + expect(CairoFelt252.is(new Map() as any)).toBe(false); + expect(CairoFelt252.is(new Set() as any)).toBe(false); + }); + }); + + describe('isAbiType static method', () => { + test('should identify correct ABI type', () => { + expect(CairoFelt252.isAbiType('core::felt252')).toBe(true); + expect(CairoFelt252.isAbiType('felt252')).toBe(false); + expect(CairoFelt252.isAbiType('core::integer::u256')).toBe(false); + }); + }); + + describe('edge cases', () => { + test('should handle empty string', () => { + const felt = new CairoFelt252(''); + expect(felt.toBigInt()).toBe(0n); + }); + + test('should handle single character strings', () => { + const felt = new CairoFelt252('A'); + // 'A' = 65 in ASCII/UTF-8 + expect(felt.toBigInt()).toBe(65n); + }); + + test('should handle special characters', () => { + const felt = new CairoFelt252('!@#$%'); + const bytes = new TextEncoder().encode('!@#$%'); + const expectedValue = uint8ArrayToBigInt(bytes); + expect(felt.toBigInt()).toBe(expectedValue); + }); + + test('should handle newlines and tabs', () => { + const felt = new CairoFelt252('line1\nline2\t'); + const bytes = new TextEncoder().encode('line1\nline2\t'); + const expectedValue = uint8ArrayToBigInt(bytes); + expect(felt.toBigInt()).toBe(expectedValue); + }); + }); + + describe('consistency checks', () => { + test('should be reversible for all input types', () => { + const testCases = [123n, 456, true, false, '0x789', '1000', 'hello', 'Unicode ☥ test 世界']; + + testCases.forEach((input) => { + const felt = new CairoFelt252(input); + const asBytes = felt.data; + const asBigInt = felt.toBigInt(); + const backToBytes = new CairoFelt252(asBigInt).data; + + expect(backToBytes).toEqual(asBytes); + }); + }); + + test('should produce consistent results for equivalent inputs', () => { + // These should all produce the same result + const felt1 = new CairoFelt252(256n); + const felt2 = new CairoFelt252(256); + const felt3 = new CairoFelt252('256'); + const felt4 = new CairoFelt252('0x100'); + + expect(felt1.toBigInt()).toBe(256n); + expect(felt2.toBigInt()).toBe(256n); + expect(felt3.toBigInt()).toBe(256n); + expect(felt4.toBigInt()).toBe(256n); + + expect(felt1.data).toEqual(felt2.data); + expect(felt2.data).toEqual(felt3.data); + expect(felt3.data).toEqual(felt4.data); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoInt128.test.ts b/__tests__/utils/cairoDataTypes/CairoInt128.test.ts new file mode 100644 index 000000000..81f74aa13 --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoInt128.test.ts @@ -0,0 +1,392 @@ +import { CairoInt128, constants } from '../../../src'; + +const { PRIME } = constants; + +describe('CairoInt128 class Unit Tests', () => { + describe('constructor with different input types', () => { + test('should handle positive number input', () => { + const i128 = new CairoInt128(1000000); + expect(i128.data).toBe(1000000n); + }); + + test('should handle negative number input', () => { + const i128 = new CairoInt128(-1000000); + expect(i128.data).toBe(-1000000n); + }); + + test('should handle bigint input', () => { + const i128 = new CairoInt128(123456789012345678901234567890n); + expect(i128.data).toBe(123456789012345678901234567890n); + }); + + test('should handle negative bigint input', () => { + const i128 = new CairoInt128(-123456789012345678901234567890n); + expect(i128.data).toBe(-123456789012345678901234567890n); + }); + + test('should handle zero values', () => { + const i128FromNumber = new CairoInt128(0); + const i128FromBigint = new CairoInt128(0n); + + expect(i128FromNumber.data).toBe(0n); + expect(i128FromBigint.data).toBe(0n); + }); + + test('should handle maximum i128 value', () => { + const maxI128 = 2n ** 127n - 1n; + const i128 = new CairoInt128(maxI128); + expect(i128.data).toBe(maxI128); + }); + + test('should handle minimum i128 value', () => { + const minI128 = -(2n ** 127n); + const i128 = new CairoInt128(minI128); + expect(i128.data).toBe(minI128); + }); + }); + + describe('validation', () => { + test('should accept valid i128 values', () => { + expect(() => new CairoInt128(-(2n ** 127n))).not.toThrow(); + expect(() => new CairoInt128(0)).not.toThrow(); + expect(() => new CairoInt128(2n ** 127n - 1n)).not.toThrow(); + expect(() => new CairoInt128('A')).not.toThrow(); // UTF-8 encoded to 65 + expect(() => new CairoInt128(1000000n)).not.toThrow(); + expect(() => new CairoInt128(-1000000n)).not.toThrow(); + }); + + test('should reject values less than -2^127', () => { + expect(() => new CairoInt128(-(2n ** 127n) - 1n)).toThrow( + 'Value is out of i128 range [-170141183460469231731687303715884105728, 170141183460469231731687303715884105727]' + ); + expect(() => new CairoInt128(-(2n ** 128n))).toThrow( + 'Value is out of i128 range [-170141183460469231731687303715884105728, 170141183460469231731687303715884105727]' + ); + }); + + test('should reject values greater than 2^127-1', () => { + expect(() => new CairoInt128(2n ** 127n)).toThrow( + 'Value is out of i128 range [-170141183460469231731687303715884105728, 170141183460469231731687303715884105727]' + ); + expect(() => new CairoInt128(2n ** 128n)).toThrow( + 'Value is out of i128 range [-170141183460469231731687303715884105728, 170141183460469231731687303715884105727]' + ); + }); + + test('should handle valid string inputs correctly', () => { + const i128FromCharString = new CairoInt128('A'); // UTF-8 encoded to 65 + const i128FromNumString = new CairoInt128('1000000'); // Parsed as number + const i128FromHexString = new CairoInt128('0x7fffffffffffffffffffffffffffffff'); + + expect(i128FromCharString.data).toBe(65n); // ASCII value of 'A' + expect(i128FromNumString.data).toBe(1000000n); // Parsed as number + expect(i128FromHexString.data).toBe(2n ** 127n - 1n); + }); + + test('should reject decimal numbers', () => { + expect(() => new CairoInt128(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + expect(() => new CairoInt128(-1.1)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + + test('should handle edge cases and invalid inputs', () => { + expect(() => CairoInt128.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoInt128.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoInt128.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoInt128.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + }); + + describe('toBigInt method', () => { + test('should return the stored bigint value', () => { + const values = [-1000000000n, -1000000n, 0n, 1000000n, 1000000000n]; + values.forEach((val) => { + const i128 = new CairoInt128(val); + expect(i128.toBigInt()).toBe(val); + }); + }); + + test('should handle negative values', () => { + const i128 = new CairoInt128(-123456789012345678901234567890n); + expect(i128.toBigInt()).toBe(-123456789012345678901234567890n); + }); + + test('should handle boundary values', () => { + const minI128 = new CairoInt128(-(2n ** 127n)); + const maxI128 = new CairoInt128(2n ** 127n - 1n); + expect(minI128.toBigInt()).toBe(-(2n ** 127n)); + expect(maxI128.toBigInt()).toBe(2n ** 127n - 1n); + }); + }); + + describe('toHexString method', () => { + test('should convert zero to hex', () => { + const i128 = new CairoInt128(0); + expect(i128.toHexString()).toBe('0x0'); + }); + + test('should convert positive numbers to hex', () => { + const i128 = new CairoInt128(0xffffffffffffffffn); + expect(i128.toHexString()).toBe('0xffffffffffffffff'); + }); + + test('should convert negative numbers to hex using field element representation', () => { + const i128 = new CairoInt128(-1); + // -1 becomes PRIME + (-1) = PRIME - 1 + const fieldElement = PRIME - 1n; + expect(i128.toHexString()).toBe(`0x${fieldElement.toString(16)}`); + }); + + test('should convert boundary values to hex', () => { + const minI128 = new CairoInt128(-(2n ** 127n)); + const maxI128 = new CairoInt128(2n ** 127n - 1n); + const minFieldElement = PRIME - 2n ** 127n; + expect(minI128.toHexString()).toBe(`0x${minFieldElement.toString(16)}`); + expect(maxI128.toHexString()).toBe('0x7fffffffffffffffffffffffffffffff'); + }); + }); + + describe('validate static method', () => { + test('should validate correct number inputs', () => { + expect(() => CairoInt128.validate(-1000000)).not.toThrow(); + expect(() => CairoInt128.validate(0)).not.toThrow(); + expect(() => CairoInt128.validate(1000000)).not.toThrow(); + }); + + test('should validate correct bigint inputs', () => { + expect(() => CairoInt128.validate(-(2n ** 127n))).not.toThrow(); + expect(() => CairoInt128.validate(0n)).not.toThrow(); + expect(() => CairoInt128.validate(2n ** 127n - 1n)).not.toThrow(); + }); + + test('should reject out-of-range values', () => { + expect(() => CairoInt128.validate(-(2n ** 127n) - 1n)).toThrow( + 'Value is out of i128 range [-170141183460469231731687303715884105728, 170141183460469231731687303715884105727]' + ); + expect(() => CairoInt128.validate(2n ** 127n)).toThrow( + 'Value is out of i128 range [-170141183460469231731687303715884105728, 170141183460469231731687303715884105727]' + ); + }); + + test('should reject invalid types', () => { + expect(() => CairoInt128.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoInt128.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoInt128.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoInt128.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoInt128.is(-(2n ** 127n))).toBe(true); + expect(CairoInt128.is(0)).toBe(true); + expect(CairoInt128.is(2n ** 127n - 1n)).toBe(true); + expect(CairoInt128.is(-1000000n)).toBe(true); + expect(CairoInt128.is('A')).toBe(true); // UTF-8 encoded to 65 + expect(CairoInt128.is('1000000')).toBe(true); // Parsed as number + }); + + test('should return false for invalid inputs', () => { + expect(CairoInt128.is(-(2n ** 127n) - 1n)).toBe(false); + expect(CairoInt128.is(2n ** 127n)).toBe(false); + expect(CairoInt128.is(null as any)).toBe(false); + expect(CairoInt128.is(undefined as any)).toBe(false); + expect(CairoInt128.is({} as any)).toBe(false); + expect(CairoInt128.is(42.5)).toBe(false); + }); + }); + + describe('isAbiType static method', () => { + test('should identify correct ABI type', () => { + expect(CairoInt128.isAbiType('core::integer::i128')).toBe(true); + expect(CairoInt128.isAbiType('core::integer::i64')).toBe(false); + expect(CairoInt128.isAbiType('core::integer::u128')).toBe(false); + expect(CairoInt128.isAbiType('felt252')).toBe(false); + }); + }); + + describe('toApiRequest method', () => { + test('should return hex string array for zero', () => { + const i128 = new CairoInt128(0); + const result = i128.toApiRequest(); + expect(result).toEqual(['0x0']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for positive numbers', () => { + const i128 = new CairoInt128(10000000000000000000n); + const result = i128.toApiRequest(); + expect(result).toEqual(['0x8ac7230489e80000']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return field element hex representation for negative numbers', () => { + const i128 = new CairoInt128(-10000000000000000000n); + const result = i128.toApiRequest(); + // Negative value -10000000000000000000 becomes PRIME + (-10000000000000000000) = PRIME - 10000000000000000000 + const fieldElement = PRIME - 10000000000000000000n; + const expectedValue = `0x${fieldElement.toString(16)}`; + expect(result).toEqual([expectedValue]); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should handle boundary values', () => { + const minI128 = new CairoInt128(-(2n ** 127n)); + const maxI128 = new CairoInt128(2n ** 127n - 1n); + const minFieldElement = PRIME - 2n ** 127n; + const expectedMinValue = `0x${minFieldElement.toString(16)}`; + const expectedMaxValue = `0x${(2n ** 127n - 1n).toString(16)}`; + expect(minI128.toApiRequest()).toEqual([expectedMinValue]); + expect(maxI128.toApiRequest()).toEqual([expectedMaxValue]); + }); + }); + + describe('factoryFromApiResponse method', () => { + test('should create CairoInt128 from API response iterator', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0x8ac7230489e80000', done: false }), + }; + const i128 = CairoInt128.factoryFromApiResponse(mockIterator as any); + expect(i128.data).toBe(10000000000000000000n); + }); + + test('should handle positive values from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '10000000000000000000', done: false }), + }; + const i128 = CairoInt128.factoryFromApiResponse(mockIterator as any); + expect(i128.data).toBe(10000000000000000000n); + }); + + test('should handle boundary values from API response', () => { + const maxValue = (2n ** 127n - 1n).toString(); + const mockIterator = { + next: jest.fn().mockReturnValue({ value: maxValue, done: false }), + }; + const i128 = CairoInt128.factoryFromApiResponse(mockIterator as any); + expect(i128.data).toBe(2n ** 127n - 1n); + }); + }); + + describe('round-trip consistency', () => { + test('should maintain consistency between constructor types', () => { + const testValues = [-1000000000n, -1000000n, 0n, 1000000n, 1000000000n]; + testValues.forEach((val) => { + const i128FromBigint = new CairoInt128(val); + // Note: string representations may differ due to UTF-8 encoding + + expect(i128FromBigint.toBigInt()).toBe(val); + }); + }); + + test('should handle round-trip conversions', () => { + const originalValue = -123456789012345678901234567890n; + const i128 = new CairoInt128(originalValue); + const bigintValue = i128.toBigInt(); + const newI128 = new CairoInt128(bigintValue); + + expect(newI128.toBigInt()).toBe(originalValue); + expect(newI128.data).toBe(i128.data); + }); + }); + + describe('extremely large number handling', () => { + test('should handle values much larger than i64 range', () => { + const veryLargeValue = 2n ** 126n; + const i128Pos = new CairoInt128(veryLargeValue); + const i128Neg = new CairoInt128(-veryLargeValue); + expect(i128Pos.toBigInt()).toBe(veryLargeValue); + expect(i128Neg.toBigInt()).toBe(-veryLargeValue); + }); + + test('should handle powers of 2 within range', () => { + const powersOf2 = [2n ** 64n, 2n ** 80n, 2n ** 96n, 2n ** 112n, 2n ** 126n]; + powersOf2.forEach((power) => { + const i128Pos = new CairoInt128(power); + const i128Neg = new CairoInt128(-power); + expect(i128Pos.toBigInt()).toBe(power); + expect(i128Neg.toBigInt()).toBe(-power); + }); + }); + + test('should handle hex representations of very large numbers', () => { + const hexValue = '0x7ffffffffffffffffffffffffffffffe'; // Valid i128 value + const i128 = new CairoInt128(hexValue); + expect(i128.toHexString().toLowerCase()).toBe(hexValue.toLowerCase()); + }); + }); + + describe('comparison with smaller integer types', () => { + test('should handle all i64 values correctly', () => { + const maxI64 = 2n ** 63n - 1n; + const minI64 = -(2n ** 63n); + const i128Max = new CairoInt128(maxI64); + const i128Min = new CairoInt128(minI64); + expect(i128Max.toBigInt()).toBe(maxI64); + expect(i128Min.toBigInt()).toBe(minI64); + }); + + test('should handle values beyond i64 range', () => { + const beyondI64 = 2n ** 64n; + const i128Pos = new CairoInt128(beyondI64); + const i128Neg = new CairoInt128(-beyondI64); + expect(i128Pos.toBigInt()).toBe(beyondI64); + expect(i128Neg.toBigInt()).toBe(-beyondI64); + }); + }); + + describe('signed integer specific tests', () => { + test('should handle negative values correctly', () => { + const negativeValues = [-(2n ** 127n), -(2n ** 100n), -1000000n, -1n]; + negativeValues.forEach((val) => { + const i128 = new CairoInt128(val); + expect(i128.data).toBe(val); + expect(i128.toBigInt()).toBe(val); + }); + }); + + test("should handle two's complement boundary correctly", () => { + const minI128 = new CairoInt128(-(2n ** 127n)); + const maxI128 = new CairoInt128(2n ** 127n - 1n); + + expect(minI128.data).toBe(-(2n ** 127n)); + expect(maxI128.data).toBe(2n ** 127n - 1n); + + // Test that values outside range are rejected + expect(() => new CairoInt128(-(2n ** 127n) - 1n)).toThrow(); + expect(() => new CairoInt128(2n ** 127n)).toThrow(); + }); + + test('should maintain sign consistency', () => { + const testCases = [ + { input: -1000000000n, expected: -1000000000n }, + { input: 1000000000n, expected: 1000000000n }, + { input: 'A', expected: 65n }, // UTF-8 encoded + { input: '5', expected: 5n }, // Parsed as number + { input: -1n, expected: -1n }, + { input: 1n, expected: 1n }, + ]; + + testCases.forEach(({ input, expected }) => { + const i128 = new CairoInt128(input as any); + expect(i128.data).toBe(expected); + expect(i128.toBigInt()).toBe(expected); + }); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoInt16.test.ts b/__tests__/utils/cairoDataTypes/CairoInt16.test.ts new file mode 100644 index 000000000..457dbb820 --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoInt16.test.ts @@ -0,0 +1,406 @@ +import { CairoInt16, constants } from '../../../src'; + +const { PRIME } = constants; + +describe('CairoInt16 class Unit Tests', () => { + describe('constructor with different input types', () => { + test('should handle positive number input', () => { + const i16 = new CairoInt16(1000); + expect(i16.data).toBe(1000n); + }); + + test('should handle negative number input', () => { + const i16 = new CairoInt16(-1000); + expect(i16.data).toBe(-1000n); + }); + + test('should handle bigint input', () => { + const i16 = new CairoInt16(12345n); + expect(i16.data).toBe(12345n); + }); + + test('should handle negative bigint input', () => { + const i16 = new CairoInt16(-12345n); + expect(i16.data).toBe(-12345n); + }); + + test('should handle zero values', () => { + const i16FromNumber = new CairoInt16(0); + const i16FromBigint = new CairoInt16(0n); + + expect(i16FromNumber.data).toBe(0n); + expect(i16FromBigint.data).toBe(0n); + }); + + test('should handle maximum i16 value', () => { + const maxI16 = 32767n; + const i16 = new CairoInt16(maxI16); + expect(i16.data).toBe(maxI16); + }); + + test('should handle minimum i16 value', () => { + const minI16 = -32768n; + const i16 = new CairoInt16(minI16); + expect(i16.data).toBe(minI16); + }); + }); + + describe('validation', () => { + test('should accept valid i16 values', () => { + expect(() => new CairoInt16(-32768)).not.toThrow(); + expect(() => new CairoInt16(0)).not.toThrow(); + expect(() => new CairoInt16(32767)).not.toThrow(); + expect(() => new CairoInt16('A')).not.toThrow(); // UTF-8 encoded to 65 + expect(() => new CairoInt16(1000n)).not.toThrow(); + expect(() => new CairoInt16(-1000n)).not.toThrow(); + }); + + test('should reject values less than -32768', () => { + expect(() => new CairoInt16(-32769)).toThrow('Value is out of i16 range [-32768, 32767]'); + expect(() => new CairoInt16(-40000n)).toThrow('Value is out of i16 range [-32768, 32767]'); + // Note: large negative string values get UTF-8 encoded to large positive values + }); + + test('should reject values greater than 32767', () => { + expect(() => new CairoInt16(32768)).toThrow('Value is out of i16 range [-32768, 32767]'); + expect(() => new CairoInt16(40000n)).toThrow('Value is out of i16 range [-32768, 32767]'); + expect(() => new CairoInt16('40000')).toThrow('Value is out of i16 range [-32768, 32767]'); + }); + + test('should handle valid string inputs correctly', () => { + const i16FromCharString = new CairoInt16('A'); // UTF-8 encoded to 65 + const i16FromNumString = new CairoInt16('100'); // Parsed as number 100 + const i16FromHexString = new CairoInt16('0x7fff'); + + expect(i16FromCharString.data).toBe(65n); // ASCII value of 'A' + expect(i16FromNumString.data).toBe(100n); // Parsed as number + expect(i16FromHexString.data).toBe(32767n); + }); + + test('should reject decimal numbers', () => { + expect(() => new CairoInt16(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + expect(() => new CairoInt16(-1.1)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + + test('should handle edge cases and invalid inputs', () => { + expect(() => CairoInt16.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoInt16.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoInt16.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoInt16.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + }); + + describe('toBigInt method', () => { + test('should return the stored bigint value', () => { + const values = [-32768, -1000, 0, 1000, 32767]; + values.forEach((val) => { + const i16 = new CairoInt16(val); + expect(i16.toBigInt()).toBe(BigInt(val)); + }); + }); + + test('should handle negative values', () => { + const i16 = new CairoInt16(-12345); + expect(i16.toBigInt()).toBe(-12345n); + }); + + test('should handle boundary values', () => { + const minI16 = new CairoInt16(-32768); + const maxI16 = new CairoInt16(32767); + expect(minI16.toBigInt()).toBe(-32768n); + expect(maxI16.toBigInt()).toBe(32767n); + }); + }); + + describe('toHexString method', () => { + test('should convert zero to hex', () => { + const i16 = new CairoInt16(0); + expect(i16.toHexString()).toBe('0x0'); + }); + + test('should convert positive numbers to hex', () => { + const i16 = new CairoInt16(255); + expect(i16.toHexString()).toBe('0xff'); + }); + + test('should convert negative numbers to hex using field element representation', () => { + const i16 = new CairoInt16(-1); + // -1 becomes PRIME + (-1) = PRIME - 1 + const fieldElement = PRIME - 1n; + expect(i16.toHexString()).toBe(`0x${fieldElement.toString(16)}`); + }); + + test('should convert boundary values to hex', () => { + const minI16 = new CairoInt16(-32768); + const maxI16 = new CairoInt16(32767); + const minFieldElement = PRIME - 32768n; + expect(minI16.toHexString()).toBe(`0x${minFieldElement.toString(16)}`); + expect(maxI16.toHexString()).toBe('0x7fff'); + }); + }); + + describe('decodeUtf8 method', () => { + test('should decode positive values correctly', () => { + const i16 = new CairoInt16(65); // 'A' + expect(i16.decodeUtf8()).toBe('A'); + }); + + test("should handle negative values with two's complement", () => { + const i16 = new CairoInt16(-1); + // Negative values are converted using 2^16 + value for UTF-8 decoding + expect(typeof i16.decodeUtf8()).toBe('string'); + }); + + test('should handle boundary values', () => { + const minI16 = new CairoInt16(-32768); + const maxI16 = new CairoInt16(32767); + expect(typeof minI16.decodeUtf8()).toBe('string'); + expect(typeof maxI16.decodeUtf8()).toBe('string'); + }); + }); + + describe('validate static method', () => { + test('should validate correct number inputs', () => { + expect(() => CairoInt16.validate(-32768)).not.toThrow(); + expect(() => CairoInt16.validate(0)).not.toThrow(); + expect(() => CairoInt16.validate(32767)).not.toThrow(); + }); + + test('should validate correct bigint inputs', () => { + expect(() => CairoInt16.validate(-32768n)).not.toThrow(); + expect(() => CairoInt16.validate(0n)).not.toThrow(); + expect(() => CairoInt16.validate(32767n)).not.toThrow(); + }); + + test('should reject out-of-range values', () => { + expect(() => CairoInt16.validate(-32769)).toThrow( + 'Value is out of i16 range [-32768, 32767]' + ); + expect(() => CairoInt16.validate(32768)).toThrow('Value is out of i16 range [-32768, 32767]'); + expect(() => CairoInt16.validate(-40000n)).toThrow( + 'Value is out of i16 range [-32768, 32767]' + ); + expect(() => CairoInt16.validate(40000n)).toThrow( + 'Value is out of i16 range [-32768, 32767]' + ); + }); + + test('should reject invalid types', () => { + expect(() => CairoInt16.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoInt16.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoInt16.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoInt16.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoInt16.is(-32768)).toBe(true); + expect(CairoInt16.is(0)).toBe(true); + expect(CairoInt16.is(32767)).toBe(true); + expect(CairoInt16.is(-1000n)).toBe(true); + expect(CairoInt16.is('A')).toBe(true); // UTF-8 encoded to 65 + expect(CairoInt16.is('100')).toBe(true); // Parsed as number 100 + }); + + test('should return false for invalid inputs', () => { + expect(CairoInt16.is(-32769)).toBe(false); + expect(CairoInt16.is(32768)).toBe(false); + expect(CairoInt16.is(null as any)).toBe(false); + expect(CairoInt16.is(undefined as any)).toBe(false); + expect(CairoInt16.is({} as any)).toBe(false); + expect(CairoInt16.is(42.5)).toBe(false); + }); + }); + + describe('isAbiType static method', () => { + test('should identify correct ABI type', () => { + expect(CairoInt16.isAbiType('core::integer::i16')).toBe(true); + expect(CairoInt16.isAbiType('core::integer::i8')).toBe(false); + expect(CairoInt16.isAbiType('core::integer::u16')).toBe(false); + expect(CairoInt16.isAbiType('felt252')).toBe(false); + }); + }); + + describe('signed integer specific tests', () => { + test('should handle negative values correctly', () => { + const negativeValues = [-32768, -12345, -1000, -1]; + negativeValues.forEach((val) => { + const i16 = new CairoInt16(val); + expect(i16.data).toBe(BigInt(val)); + expect(i16.toBigInt()).toBe(BigInt(val)); + }); + }); + + test("should handle two's complement boundary correctly", () => { + const minI16 = new CairoInt16(-32768); + const maxI16 = new CairoInt16(32767); + + expect(minI16.data).toBe(-32768n); + expect(maxI16.data).toBe(32767n); + + // Test that values outside range are rejected + expect(() => new CairoInt16(-32769)).toThrow(); + expect(() => new CairoInt16(32768)).toThrow(); + }); + + test('should maintain sign consistency', () => { + const testCases = [ + { input: -12345, expected: -12345n }, + { input: 12345, expected: 12345n }, + { input: 'A', expected: 65n }, // UTF-8 encoded + { input: '5', expected: 5n }, // Parsed as number + { input: -1n, expected: -1n }, + { input: 1n, expected: 1n }, + ]; + + testCases.forEach(({ input, expected }) => { + const i16 = new CairoInt16(input as any); + expect(i16.data).toBe(expected); + expect(i16.toBigInt()).toBe(expected); + }); + }); + }); + + describe('toApiRequest method', () => { + test('should return hex string array for zero', () => { + const i16 = new CairoInt16(0); + const result = i16.toApiRequest(); + expect(result).toEqual(['0x0']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for positive numbers', () => { + const i16 = new CairoInt16(1000); + const result = i16.toApiRequest(); + expect(result).toEqual(['0x3e8']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return field element hex representation for negative numbers', () => { + const i16 = new CairoInt16(-1000); + const result = i16.toApiRequest(); + // Negative value -1000 becomes PRIME + (-1000) = PRIME - 1000 + const fieldElement = PRIME - 1000n; + const expectedValue = `0x${fieldElement.toString(16)}`; + expect(result).toEqual([expectedValue]); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should handle boundary values', () => { + const minI16 = new CairoInt16(-32768); + const maxI16 = new CairoInt16(32767); + const minFieldElement = PRIME - 32768n; + const expectedMinValue = `0x${minFieldElement.toString(16)}`; + expect(minI16.toApiRequest()).toEqual([expectedMinValue]); + expect(maxI16.toApiRequest()).toEqual(['0x7fff']); + }); + }); + + describe('factoryFromApiResponse method', () => { + test('should create CairoInt16 from API response iterator', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0x3e8', done: false }), + }; + const i16 = CairoInt16.factoryFromApiResponse(mockIterator as any); + expect(i16.data).toBe(1000n); + }); + + test('should handle positive values from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '1000', done: false }), + }; + const i16 = CairoInt16.factoryFromApiResponse(mockIterator as any); + expect(i16.data).toBe(1000n); + }); + + test('should handle boundary values from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '32767', done: false }), + }; + const i16 = CairoInt16.factoryFromApiResponse(mockIterator as any); + expect(i16.data).toBe(32767n); + }); + }); + + describe('round-trip consistency', () => { + test('should maintain consistency between constructor types', () => { + const testValues = [-32768, -1000, 0, 1000, 32767]; + testValues.forEach((val) => { + const i16FromNumber = new CairoInt16(val); + const i16FromBigint = new CairoInt16(BigInt(val)); + // Skip string comparison as strings are UTF-8 encoded and produce different values + + expect(i16FromNumber.toBigInt()).toBe(i16FromBigint.toBigInt()); + }); + }); + + test('should handle round-trip conversions', () => { + const originalValue = -12345; + const i16 = new CairoInt16(originalValue); + const bigintValue = i16.toBigInt(); + const newI16 = new CairoInt16(bigintValue); + + expect(newI16.toBigInt()).toBe(BigInt(originalValue)); + expect(newI16.data).toBe(i16.data); + }); + }); + + describe('edge cases and consistency checks', () => { + test('should handle boundary values correctly', () => { + const minI16 = new CairoInt16(-32768); + const maxI16 = new CairoInt16(32767); + + expect(minI16.data).toBe(-32768n); + expect(maxI16.data).toBe(32767n); + expect(minI16.toBigInt()).toBe(-32768n); + expect(maxI16.toBigInt()).toBe(32767n); + }); + + test('should maintain consistency across methods', () => { + const values = [-32768, -1000, 0, 1000, 32767]; + values.forEach((val) => { + const i16 = new CairoInt16(val); + const bigintVal = i16.toBigInt(); + const hexVal = i16.toHexString(); + const apiRequest = i16.toApiRequest(); + + expect(bigintVal).toBe(BigInt(val)); + // For negative values, hex uses field element representation + if (val < 0) { + const fieldElement = PRIME + BigInt(val); + expect(hexVal).toBe(`0x${fieldElement.toString(16)}`); + } else { + expect(hexVal).toBe(`0x${val.toString(16)}`); + } + // apiRequest should equal hexVal + expect(apiRequest[0]).toBe(hexVal); + }); + }); + + test('should preserve exact values without precision loss', () => { + const testValues = [-32768, -12345, 0, 12345, 32767]; + testValues.forEach((val) => { + const i16 = new CairoInt16(val); + expect(i16.toBigInt()).toBe(BigInt(val)); + expect(Number(i16.toBigInt())).toBe(val); + }); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoInt32.test.ts b/__tests__/utils/cairoDataTypes/CairoInt32.test.ts new file mode 100644 index 000000000..75f140f1e --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoInt32.test.ts @@ -0,0 +1,451 @@ +import { CairoInt32, constants } from '../../../src'; + +const { PRIME } = constants; + +describe('CairoInt32 class Unit Tests', () => { + describe('constructor with different input types', () => { + test('should handle positive number input', () => { + const i32 = new CairoInt32(1000000); + expect(i32.data).toBe(1000000n); + }); + + test('should handle negative number input', () => { + const i32 = new CairoInt32(-1000000); + expect(i32.data).toBe(-1000000n); + }); + + test('should handle bigint input', () => { + const i32 = new CairoInt32(123456789n); + expect(i32.data).toBe(123456789n); + }); + + test('should handle negative bigint input', () => { + const i32 = new CairoInt32(-123456789n); + expect(i32.data).toBe(-123456789n); + }); + + test('should handle zero values', () => { + const i32FromNumber = new CairoInt32(0); + const i32FromBigint = new CairoInt32(0n); + + expect(i32FromNumber.data).toBe(0n); + expect(i32FromBigint.data).toBe(0n); + }); + + test('should handle maximum i32 value', () => { + const maxI32 = 2147483647n; // 2^31 - 1 + const i32 = new CairoInt32(maxI32); + expect(i32.data).toBe(maxI32); + }); + + test('should handle minimum i32 value', () => { + const minI32 = -2147483648n; // -2^31 + const i32 = new CairoInt32(minI32); + expect(i32.data).toBe(minI32); + }); + }); + + describe('validation', () => { + test('should accept valid i32 values', () => { + expect(() => new CairoInt32(-2147483648)).not.toThrow(); + expect(() => new CairoInt32(0)).not.toThrow(); + expect(() => new CairoInt32(2147483647)).not.toThrow(); + expect(() => new CairoInt32('A')).not.toThrow(); // UTF-8 encoded to 65 + expect(() => new CairoInt32(1000000n)).not.toThrow(); + expect(() => new CairoInt32(-1000000n)).not.toThrow(); + }); + + test('should reject values less than -2^31', () => { + expect(() => new CairoInt32(-2147483649)).toThrow( + 'Value is out of i32 range [-2147483648, 2147483647]' + ); + expect(() => new CairoInt32(-3000000000n)).toThrow( + 'Value is out of i32 range [-2147483648, 2147483647]' + ); + }); + + test('should reject values greater than 2^31-1', () => { + expect(() => new CairoInt32(2147483648)).toThrow( + 'Value is out of i32 range [-2147483648, 2147483647]' + ); + expect(() => new CairoInt32(3000000000n)).toThrow( + 'Value is out of i32 range [-2147483648, 2147483647]' + ); + expect(() => new CairoInt32('3000000000')).toThrow( + 'Value is out of i32 range [-2147483648, 2147483647]' + ); + }); + + test('should handle valid string inputs correctly', () => { + const i32FromCharString = new CairoInt32('A'); // UTF-8 encoded to 65 + const i32FromNumString = new CairoInt32('1000'); // Parsed as number 1000 + const i32FromHexString = new CairoInt32('0x7fffffff'); + + expect(i32FromCharString.data).toBe(65n); // ASCII value of 'A' + expect(i32FromNumString.data).toBe(1000n); // Parsed as number + expect(i32FromHexString.data).toBe(2147483647n); + }); + + test('should reject decimal numbers', () => { + expect(() => new CairoInt32(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + expect(() => new CairoInt32(-1.1)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + + test('should handle edge cases and invalid inputs', () => { + expect(() => CairoInt32.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoInt32.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoInt32.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoInt32.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + }); + + describe('toBigInt method', () => { + test('should return the stored bigint value', () => { + const values = [-2147483648, -1000000, 0, 1000000, 2147483647]; + values.forEach((val) => { + const i32 = new CairoInt32(val); + expect(i32.toBigInt()).toBe(BigInt(val)); + }); + }); + + test('should handle negative values', () => { + const i32 = new CairoInt32(-1234567); + expect(i32.toBigInt()).toBe(-1234567n); + }); + + test('should handle boundary values', () => { + const minI32 = new CairoInt32(-2147483648); + const maxI32 = new CairoInt32(2147483647); + expect(minI32.toBigInt()).toBe(-2147483648n); + expect(maxI32.toBigInt()).toBe(2147483647n); + }); + }); + + describe('toHexString method', () => { + test('should convert zero to hex', () => { + const i32 = new CairoInt32(0); + expect(i32.toHexString()).toBe('0x0'); + }); + + test('should convert positive numbers to hex', () => { + const i32 = new CairoInt32(65535); + expect(i32.toHexString()).toBe('0xffff'); + }); + + test('should convert negative numbers to hex using field element representation', () => { + const i32 = new CairoInt32(-1); + // -1 becomes PRIME + (-1) = PRIME - 1 + const fieldElement = PRIME - 1n; + expect(i32.toHexString()).toBe(`0x${fieldElement.toString(16)}`); + }); + + test('should convert boundary values to hex', () => { + const minI32 = new CairoInt32(-2147483648); + const maxI32 = new CairoInt32(2147483647); + const minFieldElement = PRIME - 2147483648n; + expect(minI32.toHexString()).toBe(`0x${minFieldElement.toString(16)}`); + expect(maxI32.toHexString()).toBe('0x7fffffff'); + }); + }); + + describe('decodeUtf8 method', () => { + test('should decode positive values correctly', () => { + const i32 = new CairoInt32(65); // 'A' + expect(i32.decodeUtf8()).toBe('A'); + }); + + test("should handle negative values with two's complement", () => { + const i32 = new CairoInt32(-1); + // Negative values are converted using 2^32 + value for UTF-8 decoding + expect(typeof i32.decodeUtf8()).toBe('string'); + }); + + test('should handle boundary values', () => { + const minI32 = new CairoInt32(-2147483648); + const maxI32 = new CairoInt32(2147483647); + expect(typeof minI32.decodeUtf8()).toBe('string'); + expect(typeof maxI32.decodeUtf8()).toBe('string'); + }); + }); + + describe('validate static method', () => { + test('should validate correct number inputs', () => { + expect(() => CairoInt32.validate(-2147483648)).not.toThrow(); + expect(() => CairoInt32.validate(0)).not.toThrow(); + expect(() => CairoInt32.validate(2147483647)).not.toThrow(); + }); + + test('should validate correct bigint inputs', () => { + expect(() => CairoInt32.validate(-2147483648n)).not.toThrow(); + expect(() => CairoInt32.validate(0n)).not.toThrow(); + expect(() => CairoInt32.validate(2147483647n)).not.toThrow(); + }); + + test('should reject out-of-range values', () => { + expect(() => CairoInt32.validate(-2147483649)).toThrow( + 'Value is out of i32 range [-2147483648, 2147483647]' + ); + expect(() => CairoInt32.validate(2147483648)).toThrow( + 'Value is out of i32 range [-2147483648, 2147483647]' + ); + expect(() => CairoInt32.validate(-3000000000n)).toThrow( + 'Value is out of i32 range [-2147483648, 2147483647]' + ); + expect(() => CairoInt32.validate(3000000000n)).toThrow( + 'Value is out of i32 range [-2147483648, 2147483647]' + ); + }); + + test('should reject invalid types', () => { + expect(() => CairoInt32.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoInt32.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoInt32.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoInt32.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoInt32.is(-2147483648)).toBe(true); + expect(CairoInt32.is(0)).toBe(true); + expect(CairoInt32.is(2147483647)).toBe(true); + expect(CairoInt32.is(-1000000n)).toBe(true); + expect(CairoInt32.is('A')).toBe(true); // UTF-8 encoded to 65 + expect(CairoInt32.is('1000')).toBe(true); // Parsed as number 1000 + }); + + test('should return false for invalid inputs', () => { + expect(CairoInt32.is(-2147483649)).toBe(false); + expect(CairoInt32.is(2147483648)).toBe(false); + expect(CairoInt32.is(null as any)).toBe(false); + expect(CairoInt32.is(undefined as any)).toBe(false); + expect(CairoInt32.is({} as any)).toBe(false); + expect(CairoInt32.is(42.5)).toBe(false); + }); + }); + + describe('isAbiType static method', () => { + test('should identify correct ABI type', () => { + expect(CairoInt32.isAbiType('core::integer::i32')).toBe(true); + expect(CairoInt32.isAbiType('core::integer::i16')).toBe(false); + expect(CairoInt32.isAbiType('core::integer::u32')).toBe(false); + expect(CairoInt32.isAbiType('felt252')).toBe(false); + }); + }); + + describe('signed integer specific tests', () => { + test('should handle negative values correctly', () => { + const negativeValues = [-2147483648, -1000000, -1000, -1]; + negativeValues.forEach((val) => { + const i32 = new CairoInt32(val); + expect(i32.data).toBe(BigInt(val)); + expect(i32.toBigInt()).toBe(BigInt(val)); + }); + }); + + test("should handle two's complement boundary correctly", () => { + const minI32 = new CairoInt32(-2147483648); + const maxI32 = new CairoInt32(2147483647); + + expect(minI32.data).toBe(-2147483648n); + expect(maxI32.data).toBe(2147483647n); + + // Test that values outside range are rejected + expect(() => new CairoInt32(-2147483649)).toThrow(); + expect(() => new CairoInt32(2147483648)).toThrow(); + }); + + test('should maintain sign consistency', () => { + const testCases = [ + { input: -1000000, expected: -1000000n }, + { input: 1000000, expected: 1000000n }, + { input: 'A', expected: 65n }, // UTF-8 encoded + { input: '5', expected: 5n }, // Parsed as number + { input: -1n, expected: -1n }, + { input: 1n, expected: 1n }, + ]; + + testCases.forEach(({ input, expected }) => { + const i32 = new CairoInt32(input as any); + expect(i32.data).toBe(expected); + expect(i32.toBigInt()).toBe(expected); + }); + }); + }); + + describe('toApiRequest method', () => { + test('should return hex string array for zero', () => { + const i32 = new CairoInt32(0); + const result = i32.toApiRequest(); + expect(result).toEqual(['0x0']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for positive numbers', () => { + const i32 = new CairoInt32(1000000); + const result = i32.toApiRequest(); + expect(result).toEqual(['0xf4240']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return field element hex representation for negative numbers', () => { + const i32 = new CairoInt32(-1000000); + const result = i32.toApiRequest(); + // Negative value -1000000 becomes PRIME + (-1000000) = PRIME - 1000000 + const fieldElement = PRIME - 1000000n; + const expectedValue = `0x${fieldElement.toString(16)}`; + expect(result).toEqual([expectedValue]); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should handle boundary values', () => { + const minI32 = new CairoInt32(-2147483648); + const maxI32 = new CairoInt32(2147483647); + const minFieldElement = PRIME - 2147483648n; + const expectedMinValue = `0x${minFieldElement.toString(16)}`; + const expectedMaxValue = '0x7fffffff'; + expect(minI32.toApiRequest()).toEqual([expectedMinValue]); + expect(maxI32.toApiRequest()).toEqual([expectedMaxValue]); + }); + }); + + describe('factoryFromApiResponse method', () => { + test('should create CairoInt32 from API response iterator', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0xf4240', done: false }), + }; + const i32 = CairoInt32.factoryFromApiResponse(mockIterator as any); + expect(i32.data).toBe(1000000n); + }); + + test('should handle positive values from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '1000000', done: false }), + }; + const i32 = CairoInt32.factoryFromApiResponse(mockIterator as any); + expect(i32.data).toBe(1000000n); + }); + + test('should handle boundary values from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '2147483647', done: false }), + }; + const i32 = CairoInt32.factoryFromApiResponse(mockIterator as any); + expect(i32.data).toBe(2147483647n); + }); + }); + + describe('round-trip consistency', () => { + test('should maintain consistency between constructor types', () => { + const testValues = [-2147483648, -1000000, 0, 1000000, 2147483647]; + testValues.forEach((val) => { + const i32FromNumber = new CairoInt32(val); + const i32FromBigint = new CairoInt32(BigInt(val)); + // Skip string comparison as strings are UTF-8 encoded and produce different values + + expect(i32FromNumber.toBigInt()).toBe(i32FromBigint.toBigInt()); + }); + }); + + test('should handle round-trip conversions', () => { + const originalValue = -1234567; + const i32 = new CairoInt32(originalValue); + const bigintValue = i32.toBigInt(); + const newI32 = new CairoInt32(bigintValue); + + expect(newI32.toBigInt()).toBe(BigInt(originalValue)); + expect(newI32.data).toBe(i32.data); + }); + }); + + describe('edge cases and consistency checks', () => { + test('should handle boundary values correctly', () => { + const minI32 = new CairoInt32(-2147483648); + const maxI32 = new CairoInt32(2147483647); + + expect(minI32.data).toBe(-2147483648n); + expect(maxI32.data).toBe(2147483647n); + expect(minI32.toBigInt()).toBe(-2147483648n); + expect(maxI32.toBigInt()).toBe(2147483647n); + }); + + test('should maintain consistency across methods', () => { + const values = [-2147483648, -1000000, 0, 1000000, 2147483647]; + values.forEach((val) => { + const i32 = new CairoInt32(val); + const bigintVal = i32.toBigInt(); + const hexVal = i32.toHexString(); + const apiRequest = i32.toApiRequest(); + + expect(bigintVal).toBe(BigInt(val)); + // For negative values, hex uses field element representation + if (val < 0) { + const fieldElement = PRIME + BigInt(val); + expect(hexVal).toBe(`0x${fieldElement.toString(16)}`); + } else { + expect(hexVal).toBe(`0x${val.toString(16)}`); + } + // apiRequest should equal hexVal + expect(apiRequest[0]).toBe(hexVal); + }); + }); + + test('should preserve exact values without precision loss', () => { + const testValues = [-2147483648, -1234567, 0, 1234567, 2147483647]; + testValues.forEach((val) => { + const i32 = new CairoInt32(val); + expect(i32.toBigInt()).toBe(BigInt(val)); + expect(Number(i32.toBigInt())).toBe(val); + }); + }); + }); + + describe('JavaScript integer compatibility', () => { + test('should handle all JavaScript safe integers', () => { + const safeIntegerValues = [ + Number.MIN_SAFE_INTEGER, + -1000000, + -1, + 0, + 1, + 1000000, + Number.MAX_SAFE_INTEGER, + ].filter((val) => val >= -2147483648 && val <= 2147483647); + + safeIntegerValues.forEach((val) => { + const i32 = new CairoInt32(val); + expect(i32.toBigInt()).toBe(BigInt(val)); + expect(Number(i32.toBigInt())).toBe(val); + }); + }); + + test('should handle powers of 2 within range', () => { + const powersOf2 = [ + 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, + 262144, 524288, 1048576, + ]; + powersOf2.forEach((power) => { + const i32Pos = new CairoInt32(power); + const i32Neg = new CairoInt32(-power); + expect(i32Pos.toBigInt()).toBe(BigInt(power)); + expect(i32Neg.toBigInt()).toBe(BigInt(-power)); + }); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoInt64.test.ts b/__tests__/utils/cairoDataTypes/CairoInt64.test.ts new file mode 100644 index 000000000..336c3554e --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoInt64.test.ts @@ -0,0 +1,330 @@ +import { CairoInt64, constants } from '../../../src'; + +const { PRIME } = constants; + +describe('CairoInt64 class Unit Tests', () => { + describe('constructor with different input types', () => { + test('should handle positive number input', () => { + const i64 = new CairoInt64(1000000); + expect(i64.data).toBe(1000000n); + }); + + test('should handle negative number input', () => { + const i64 = new CairoInt64(-1000000); + expect(i64.data).toBe(-1000000n); + }); + + test('should handle bigint input', () => { + const i64 = new CairoInt64(123456789012345n); + expect(i64.data).toBe(123456789012345n); + }); + + test('should handle negative bigint input', () => { + const i64 = new CairoInt64(-123456789012345n); + expect(i64.data).toBe(-123456789012345n); + }); + + test('should handle zero values', () => { + const i64FromNumber = new CairoInt64(0); + const i64FromBigint = new CairoInt64(0n); + + expect(i64FromNumber.data).toBe(0n); + expect(i64FromBigint.data).toBe(0n); + }); + + test('should handle maximum i64 value', () => { + const maxI64 = 2n ** 63n - 1n; + const i64 = new CairoInt64(maxI64); + expect(i64.data).toBe(maxI64); + }); + + test('should handle minimum i64 value', () => { + const minI64 = -(2n ** 63n); + const i64 = new CairoInt64(minI64); + expect(i64.data).toBe(minI64); + }); + }); + + describe('validation', () => { + test('should accept valid i64 values', () => { + expect(() => new CairoInt64(-(2n ** 63n))).not.toThrow(); + expect(() => new CairoInt64(0)).not.toThrow(); + expect(() => new CairoInt64(2n ** 63n - 1n)).not.toThrow(); + expect(() => new CairoInt64('A')).not.toThrow(); // UTF-8 encoded to 65 + expect(() => new CairoInt64(1000000n)).not.toThrow(); + expect(() => new CairoInt64(-1000000n)).not.toThrow(); + }); + + test('should reject values less than -2^63', () => { + expect(() => new CairoInt64(-(2n ** 63n) - 1n)).toThrow( + 'Value is out of i64 range [-9223372036854775808, 9223372036854775807]' + ); + expect(() => new CairoInt64(-(2n ** 64n))).toThrow( + 'Value is out of i64 range [-9223372036854775808, 9223372036854775807]' + ); + }); + + test('should reject values greater than 2^63-1', () => { + expect(() => new CairoInt64(2n ** 63n)).toThrow( + 'Value is out of i64 range [-9223372036854775808, 9223372036854775807]' + ); + expect(() => new CairoInt64(2n ** 64n)).toThrow( + 'Value is out of i64 range [-9223372036854775808, 9223372036854775807]' + ); + }); + + test('should handle valid string inputs correctly', () => { + const i64FromCharString = new CairoInt64('A'); // UTF-8 encoded to 65 + const i64FromNumString = new CairoInt64('1000000'); // Parsed as number + const i64FromHexString = new CairoInt64('0x7fffffffffffffff'); + + expect(i64FromCharString.data).toBe(65n); // ASCII value of 'A' + expect(i64FromNumString.data).toBe(1000000n); // Parsed as number + expect(i64FromHexString.data).toBe(2n ** 63n - 1n); + }); + + test('should reject decimal numbers', () => { + expect(() => new CairoInt64(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + expect(() => new CairoInt64(-1.1)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + + test('should handle edge cases and invalid inputs', () => { + expect(() => CairoInt64.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoInt64.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoInt64.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoInt64.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + }); + + describe('toBigInt method', () => { + test('should return the stored bigint value', () => { + const values = [-1000000000n, -1000000n, 0n, 1000000n, 1000000000n]; + values.forEach((val) => { + const i64 = new CairoInt64(val); + expect(i64.toBigInt()).toBe(val); + }); + }); + + test('should handle negative values', () => { + const i64 = new CairoInt64(-123456789012345n); + expect(i64.toBigInt()).toBe(-123456789012345n); + }); + + test('should handle boundary values', () => { + const minI64 = new CairoInt64(-(2n ** 63n)); + const maxI64 = new CairoInt64(2n ** 63n - 1n); + expect(minI64.toBigInt()).toBe(-(2n ** 63n)); + expect(maxI64.toBigInt()).toBe(2n ** 63n - 1n); + }); + }); + + describe('toHexString method', () => { + test('should convert zero to hex', () => { + const i64 = new CairoInt64(0); + expect(i64.toHexString()).toBe('0x0'); + }); + + test('should convert positive numbers to hex', () => { + const i64 = new CairoInt64(0xffffffffn); + expect(i64.toHexString()).toBe('0xffffffff'); + }); + + test('should convert negative numbers to hex using field element representation', () => { + const i64 = new CairoInt64(-1); + // -1 becomes PRIME + (-1) = PRIME - 1 + const fieldElement = PRIME - 1n; + expect(i64.toHexString()).toBe(`0x${fieldElement.toString(16)}`); + }); + + test('should convert boundary values to hex', () => { + const minI64 = new CairoInt64(-(2n ** 63n)); + const maxI64 = new CairoInt64(2n ** 63n - 1n); + const minFieldElement = PRIME - 2n ** 63n; + expect(minI64.toHexString()).toBe(`0x${minFieldElement.toString(16)}`); + expect(maxI64.toHexString()).toBe('0x7fffffffffffffff'); + }); + }); + + describe('validate static method', () => { + test('should validate correct number inputs', () => { + expect(() => CairoInt64.validate(-1000000)).not.toThrow(); + expect(() => CairoInt64.validate(0)).not.toThrow(); + expect(() => CairoInt64.validate(1000000)).not.toThrow(); + }); + + test('should validate correct bigint inputs', () => { + expect(() => CairoInt64.validate(-(2n ** 63n))).not.toThrow(); + expect(() => CairoInt64.validate(0n)).not.toThrow(); + expect(() => CairoInt64.validate(2n ** 63n - 1n)).not.toThrow(); + }); + + test('should reject out-of-range values', () => { + expect(() => CairoInt64.validate(-(2n ** 63n) - 1n)).toThrow( + 'Value is out of i64 range [-9223372036854775808, 9223372036854775807]' + ); + expect(() => CairoInt64.validate(2n ** 63n)).toThrow( + 'Value is out of i64 range [-9223372036854775808, 9223372036854775807]' + ); + }); + + test('should reject invalid types', () => { + expect(() => CairoInt64.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoInt64.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoInt64.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoInt64.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoInt64.is(-(2n ** 63n))).toBe(true); + expect(CairoInt64.is(0)).toBe(true); + expect(CairoInt64.is(2n ** 63n - 1n)).toBe(true); + expect(CairoInt64.is(-1000000n)).toBe(true); + expect(CairoInt64.is('A')).toBe(true); // UTF-8 encoded to 65 + expect(CairoInt64.is('1000000')).toBe(true); // Parsed as number + }); + + test('should return false for invalid inputs', () => { + expect(CairoInt64.is(-(2n ** 63n) - 1n)).toBe(false); + expect(CairoInt64.is(2n ** 63n)).toBe(false); + expect(CairoInt64.is(null as any)).toBe(false); + expect(CairoInt64.is(undefined as any)).toBe(false); + expect(CairoInt64.is({} as any)).toBe(false); + expect(CairoInt64.is(42.5)).toBe(false); + }); + }); + + describe('isAbiType static method', () => { + test('should identify correct ABI type', () => { + expect(CairoInt64.isAbiType('core::integer::i64')).toBe(true); + expect(CairoInt64.isAbiType('core::integer::i32')).toBe(false); + expect(CairoInt64.isAbiType('core::integer::u64')).toBe(false); + expect(CairoInt64.isAbiType('felt252')).toBe(false); + }); + }); + + describe('toApiRequest method', () => { + test('should return hex string array for zero', () => { + const i64 = new CairoInt64(0); + const result = i64.toApiRequest(); + expect(result).toEqual(['0x0']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for positive numbers', () => { + const i64 = new CairoInt64(1000000000n); + const result = i64.toApiRequest(); + expect(result).toEqual(['0x3b9aca00']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return field element hex representation for negative numbers', () => { + const i64 = new CairoInt64(-1000000000n); + const result = i64.toApiRequest(); + // Negative value -1000000000 becomes PRIME + (-1000000000) = PRIME - 1000000000 + const fieldElement = PRIME - 1000000000n; + const expectedValue = `0x${fieldElement.toString(16)}`; + expect(result).toEqual([expectedValue]); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should handle boundary values', () => { + const minI64 = new CairoInt64(-(2n ** 63n)); + const maxI64 = new CairoInt64(2n ** 63n - 1n); + const minFieldElement = PRIME - 2n ** 63n; + const expectedMinValue = `0x${minFieldElement.toString(16)}`; + const expectedMaxValue = `0x${(2n ** 63n - 1n).toString(16)}`; + expect(minI64.toApiRequest()).toEqual([expectedMinValue]); + expect(maxI64.toApiRequest()).toEqual([expectedMaxValue]); + }); + }); + + describe('factoryFromApiResponse method', () => { + test('should create CairoInt64 from API response iterator', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0x3b9aca00', done: false }), + }; + const i64 = CairoInt64.factoryFromApiResponse(mockIterator as any); + expect(i64.data).toBe(1000000000n); + }); + + test('should handle positive values from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '1000000000', done: false }), + }; + const i64 = CairoInt64.factoryFromApiResponse(mockIterator as any); + expect(i64.data).toBe(1000000000n); + }); + + test('should handle boundary values from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '9223372036854775807', done: false }), + }; + const i64 = CairoInt64.factoryFromApiResponse(mockIterator as any); + expect(i64.data).toBe(2n ** 63n - 1n); + }); + }); + + describe('round-trip consistency', () => { + test('should maintain consistency between constructor types', () => { + const testValues = [-1000000000n, -1000000n, 0n, 1000000n, 1000000000n]; + testValues.forEach((val) => { + const i64FromBigint = new CairoInt64(val); + // Note: string representations may differ due to UTF-8 encoding + + expect(i64FromBigint.toBigInt()).toBe(val); + }); + }); + + test('should handle round-trip conversions', () => { + const originalValue = -123456789012345n; + const i64 = new CairoInt64(originalValue); + const bigintValue = i64.toBigInt(); + const newI64 = new CairoInt64(bigintValue); + + expect(newI64.toBigInt()).toBe(originalValue); + expect(newI64.data).toBe(i64.data); + }); + }); + + describe('large number handling', () => { + test('should handle values larger than JavaScript safe integer', () => { + const largeValue = BigInt(Number.MAX_SAFE_INTEGER) * 100n; + const i64 = new CairoInt64(largeValue); + expect(i64.toBigInt()).toBe(largeValue); + }); + + test('should handle negative values larger than JavaScript safe integer', () => { + const largeNegValue = BigInt(Number.MIN_SAFE_INTEGER) * 100n; + const i64 = new CairoInt64(largeNegValue); + expect(i64.toBigInt()).toBe(largeNegValue); + }); + + test('should handle powers of 2 within range', () => { + const powersOf2 = [2n ** 32n, 2n ** 40n, 2n ** 48n, 2n ** 56n, 2n ** 62n]; + powersOf2.forEach((power) => { + const i64Pos = new CairoInt64(power); + const i64Neg = new CairoInt64(-power); + expect(i64Pos.toBigInt()).toBe(power); + expect(i64Neg.toBigInt()).toBe(-power); + }); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoInt8.test.ts b/__tests__/utils/cairoDataTypes/CairoInt8.test.ts new file mode 100644 index 000000000..ae5543b10 --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoInt8.test.ts @@ -0,0 +1,445 @@ +import { CairoInt8, constants } from '../../../src'; + +const { PRIME } = constants; +describe('CairoInt8 class Unit Tests', () => { + describe('constructor with different input types', () => { + test('should handle positive number input', () => { + const i8 = new CairoInt8(42); + expect(i8.data).toBe(42n); + }); + + test('should handle negative number input', () => { + const i8 = new CairoInt8(-42); + expect(i8.data).toBe(-42n); + }); + + test('should handle bigint input', () => { + const i8 = new CairoInt8(123n); + expect(i8.data).toBe(123n); + }); + + test('should handle negative bigint input', () => { + const i8 = new CairoInt8(-100n); + expect(i8.data).toBe(-100n); + }); + + test('should handle zero values', () => { + const i8FromNumber = new CairoInt8(0); + const i8FromBigint = new CairoInt8(0n); + + expect(i8FromNumber.data).toBe(0n); + expect(i8FromBigint.data).toBe(0n); + }); + + test('should handle maximum i8 value', () => { + const maxI8 = 127n; + const i8 = new CairoInt8(maxI8); + expect(i8.data).toBe(maxI8); + }); + + test('should handle minimum i8 value', () => { + const minI8 = -128n; + const i8 = new CairoInt8(minI8); + expect(i8.data).toBe(minI8); + }); + }); + + describe('validation', () => { + test('should accept valid i8 values', () => { + expect(() => new CairoInt8(-128)).not.toThrow(); + expect(() => new CairoInt8(0)).not.toThrow(); + expect(() => new CairoInt8(127)).not.toThrow(); + expect(() => new CairoInt8('A')).not.toThrow(); // UTF-8 encoded to 65 + expect(() => new CairoInt8(100n)).not.toThrow(); + expect(() => new CairoInt8(-50n)).not.toThrow(); + }); + + test('should reject values less than -128', () => { + expect(() => new CairoInt8(-129)).toThrow('Value is out of i8 range [-128, 127]'); + expect(() => new CairoInt8(-200n)).toThrow('Value is out of i8 range [-128, 127]'); + expect(() => new CairoInt8('-150')).toThrow('Value is out of i8 range [-128, 127]'); + }); + + test('should reject values greater than 127', () => { + expect(() => new CairoInt8(128)).toThrow('Value is out of i8 range [-128, 127]'); + expect(() => new CairoInt8(200n)).toThrow('Value is out of i8 range [-128, 127]'); + expect(() => new CairoInt8('150')).toThrow('Value is out of i8 range [-128, 127]'); + }); + + test('should handle valid string inputs correctly', () => { + const i8FromCharString = new CairoInt8('A'); // UTF-8 encoded to 65 + const i8FromNumString = new CairoInt8('5'); // Parsed as number 5 + const i8FromHexString = new CairoInt8('0x7f'); + + expect(i8FromCharString.data).toBe(65n); // ASCII value of 'A' + expect(i8FromNumString.data).toBe(5n); // Parsed as number + expect(i8FromHexString.data).toBe(127n); + }); + + test('should reject decimal numbers', () => { + expect(() => new CairoInt8(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + expect(() => new CairoInt8(-1.1)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + + test('should handle edge cases and invalid inputs', () => { + expect(() => CairoInt8.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoInt8.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoInt8.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoInt8.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + + test('should handle unknown data types properly', () => { + // Valid unknown data types that can be converted + expect(() => new CairoInt8('100' as unknown)).not.toThrow(); + expect(() => new CairoInt8(100 as unknown)).not.toThrow(); + expect(() => new CairoInt8(-100 as unknown)).not.toThrow(); + expect(() => new CairoInt8(100n as unknown)).not.toThrow(); + expect(() => new CairoInt8(-100n as unknown)).not.toThrow(); + expect(() => new CairoInt8(true as unknown)).not.toThrow(); // true -> 1 + expect(() => new CairoInt8(false as unknown)).not.toThrow(); // false -> 0 + + // Invalid unknown data types + expect(() => new CairoInt8({} as unknown)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => new CairoInt8([] as unknown)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => new CairoInt8(null as unknown)).toThrow('Invalid input: null or undefined'); + expect(() => new CairoInt8(undefined as unknown)).toThrow('Invalid input: null or undefined'); + expect(() => new CairoInt8(Symbol('test') as unknown)).toThrow(); + + // Out of range values as unknown + expect(() => new CairoInt8(128 as unknown)).toThrow('Value is out of i8 range [-128, 127]'); + expect(() => new CairoInt8(-129 as unknown)).toThrow('Value is out of i8 range [-128, 127]'); + }); + }); + + describe('toBigInt method', () => { + test('should return the stored bigint value', () => { + const values = [-128, -50, 0, 50, 127]; + values.forEach((val) => { + const i8 = new CairoInt8(val); + expect(i8.toBigInt()).toBe(BigInt(val)); + }); + }); + + test('should handle negative values', () => { + const i8 = new CairoInt8(-100); + expect(i8.toBigInt()).toBe(-100n); + }); + + test('should handle boundary values', () => { + const minI8 = new CairoInt8(-128); + const maxI8 = new CairoInt8(127); + expect(minI8.toBigInt()).toBe(-128n); + expect(maxI8.toBigInt()).toBe(127n); + }); + }); + + describe('toHexString method', () => { + test('should convert zero to hex', () => { + const i8 = new CairoInt8(0); + expect(i8.toHexString()).toBe('0x0'); + }); + + test('should convert positive numbers to hex', () => { + const i8 = new CairoInt8(15); + expect(i8.toHexString()).toBe('0xf'); + }); + + test('should convert negative numbers to hex using field element representation', () => { + const i8 = new CairoInt8(-1); + // -1 becomes PRIME + (-1) = PRIME - 1 + const fieldElement = PRIME - 1n; + expect(i8.toHexString()).toBe(`0x${fieldElement.toString(16)}`); + }); + + test('should convert boundary values to hex', () => { + const minI8 = new CairoInt8(-128); + const maxI8 = new CairoInt8(127); + const minFieldElement = PRIME - 128n; + expect(minI8.toHexString()).toBe(`0x${minFieldElement.toString(16)}`); + expect(maxI8.toHexString()).toBe('0x7f'); + }); + }); + + describe('validate static method', () => { + test('should validate correct number inputs', () => { + expect(() => CairoInt8.validate(-128)).not.toThrow(); + expect(() => CairoInt8.validate(0)).not.toThrow(); + expect(() => CairoInt8.validate(127)).not.toThrow(); + }); + + test('should validate correct bigint inputs', () => { + expect(() => CairoInt8.validate(-128n)).not.toThrow(); + expect(() => CairoInt8.validate(0n)).not.toThrow(); + expect(() => CairoInt8.validate(127n)).not.toThrow(); + }); + + test('should reject out-of-range values', () => { + expect(() => CairoInt8.validate(-129)).toThrow('Value is out of i8 range [-128, 127]'); + expect(() => CairoInt8.validate(128)).toThrow('Value is out of i8 range [-128, 127]'); + expect(() => CairoInt8.validate(-200n)).toThrow('Value is out of i8 range [-128, 127]'); + expect(() => CairoInt8.validate(200n)).toThrow('Value is out of i8 range [-128, 127]'); + }); + + test('should reject invalid types', () => { + expect(() => CairoInt8.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoInt8.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoInt8.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoInt8.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoInt8.is(-128)).toBe(true); + expect(CairoInt8.is(0)).toBe(true); + expect(CairoInt8.is(127)).toBe(true); + expect(CairoInt8.is(-50n)).toBe(true); + expect(CairoInt8.is('A')).toBe(true); // UTF-8 encoded to 65 + expect(CairoInt8.is('0')).toBe(true); // UTF-8 encoded to 48 + }); + + test('should return false for invalid inputs', () => { + expect(CairoInt8.is(-129)).toBe(false); + expect(CairoInt8.is(128)).toBe(false); + expect(CairoInt8.is(null as any)).toBe(false); + expect(CairoInt8.is(undefined as any)).toBe(false); + expect(CairoInt8.is({} as any)).toBe(false); + expect(CairoInt8.is(42.5)).toBe(false); + }); + }); + + describe('isAbiType static method', () => { + test('should identify correct ABI type', () => { + expect(CairoInt8.isAbiType('core::integer::i8')).toBe(true); + expect(CairoInt8.isAbiType('core::integer::i16')).toBe(false); + expect(CairoInt8.isAbiType('core::integer::u8')).toBe(false); + expect(CairoInt8.isAbiType('felt252')).toBe(false); + }); + }); + + describe('signed integer specific tests', () => { + test('should handle negative values correctly', () => { + const negativeValues = [-128, -100, -50, -1]; + negativeValues.forEach((val) => { + const i8 = new CairoInt8(val); + expect(i8.data).toBe(BigInt(val)); + expect(i8.toBigInt()).toBe(BigInt(val)); + }); + }); + + test("should handle two's complement boundary correctly", () => { + const minI8 = new CairoInt8(-128); + const maxI8 = new CairoInt8(127); + + expect(minI8.data).toBe(-128n); + expect(maxI8.data).toBe(127n); + + // Test that -129 and 128 are rejected + expect(() => new CairoInt8(-129)).toThrow(); + expect(() => new CairoInt8(128)).toThrow(); + }); + + test('should maintain sign consistency', () => { + const testCases = [ + { input: -100, expected: -100n }, + { input: 100, expected: 100n }, + { input: 'A', expected: 65n }, // UTF-8 encoded + { input: '5', expected: 5n }, // Parsed as number + { input: -1n, expected: -1n }, + { input: 1n, expected: 1n }, + ]; + + testCases.forEach(({ input, expected }) => { + const i8 = new CairoInt8(input as any); + expect(i8.data).toBe(expected); + expect(i8.toBigInt()).toBe(expected); + }); + }); + }); + + describe('decodeUtf8 method', () => { + test('should decode UTF-8 bytes correctly for positive values', () => { + const i8 = new CairoInt8(65); // ASCII 'A' + expect(i8.decodeUtf8()).toBe('A'); + }); + + test('should decode UTF-8 bytes for character values', () => { + const testCases = [ + { input: 72, expected: 'H' }, // ASCII 'H' + { input: 48, expected: '0' }, // ASCII '0' + { input: 33, expected: '!' }, // ASCII '!' + ]; + + testCases.forEach(({ input, expected }) => { + const i8 = new CairoInt8(input); + expect(i8.decodeUtf8()).toBe(expected); + }); + }); + + test('should handle zero value', () => { + const i8 = new CairoInt8(0); + expect(i8.decodeUtf8()).toBe('\x00'); // null character + }); + }); + + describe('toApiRequest method', () => { + test('should return hex string array for zero', () => { + const i8 = new CairoInt8(0); + const result = i8.toApiRequest(); + expect(result).toEqual(['0x0']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for positive numbers', () => { + const i8 = new CairoInt8(100); + const result = i8.toApiRequest(); + expect(result).toEqual(['0x64']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return field element hex representation for negative numbers', () => { + const i8 = new CairoInt8(-100); + const result = i8.toApiRequest(); + // Negative value -100 becomes PRIME + (-100) = PRIME - 100 + const fieldElement = PRIME - 100n; + const expectedValue = `0x${fieldElement.toString(16)}`; + expect(result).toEqual([expectedValue]); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should handle boundary values', () => { + const minI8 = new CairoInt8(-128); + const maxI8 = new CairoInt8(127); + const minFieldElement = PRIME - 128n; + const expectedMinValue = `0x${minFieldElement.toString(16)}`; + expect(minI8.toApiRequest()).toEqual([expectedMinValue]); + expect(maxI8.toApiRequest()).toEqual(['0x7f']); + }); + }); + + describe('factoryFromApiResponse method', () => { + test('should create CairoInt8 from API response iterator', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '100', done: false }), + }; + const i8 = CairoInt8.factoryFromApiResponse(mockIterator as any); + expect(i8.data).toBe(100n); + }); + + test('should handle positive values from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '127', done: false }), + }; + const i8 = CairoInt8.factoryFromApiResponse(mockIterator as any); + expect(i8.data).toBe(127n); + }); + + test('should handle boundary values from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '127', done: false }), + }; + const i8 = CairoInt8.factoryFromApiResponse(mockIterator as any); + expect(i8.data).toBe(127n); + }); + }); + + describe('round-trip consistency', () => { + test('should maintain consistency between constructor types', () => { + const testValues = [-128, -50, 0, 50, 127]; + testValues.forEach((val) => { + const i8FromNumber = new CairoInt8(val); + const i8FromBigint = new CairoInt8(BigInt(val)); + // Skip string comparison as strings are UTF-8 encoded and produce different values + + expect(i8FromNumber.toBigInt()).toBe(i8FromBigint.toBigInt()); + }); + }); + + test('should handle round-trip conversions', () => { + const originalValue = -100; + const i8 = new CairoInt8(originalValue); + const bigintValue = i8.toBigInt(); + const newI8 = new CairoInt8(bigintValue); + + expect(newI8.toBigInt()).toBe(BigInt(originalValue)); + expect(newI8.data).toBe(i8.data); + }); + }); + + describe('edge cases and consistency checks', () => { + test('should handle boundary values correctly', () => { + const minI8 = new CairoInt8(-128); + const maxI8 = new CairoInt8(127); + + expect(minI8.data).toBe(-128n); + expect(maxI8.data).toBe(127n); + expect(minI8.toBigInt()).toBe(-128n); + expect(maxI8.toBigInt()).toBe(127n); + }); + + test('should maintain consistency across methods', () => { + const values = [-128, -100, 0, 100, 127]; + values.forEach((val) => { + const i8 = new CairoInt8(val); + const bigintVal = i8.toBigInt(); + const hexVal = i8.toHexString(); + const apiRequest = i8.toApiRequest(); + + expect(bigintVal).toBe(BigInt(val)); + // For negative values, hex uses field element representation + if (val < 0) { + const fieldElement = PRIME + BigInt(val); + expect(hexVal).toBe(`0x${fieldElement.toString(16)}`); + } else { + expect(hexVal).toBe(`0x${val.toString(16)}`); + } + // apiRequest should equal hexVal + expect(apiRequest[0]).toBe(hexVal); + }); + }); + + test('should preserve exact values without precision loss', () => { + const testValues = [-128, -100, 0, 100, 127]; + testValues.forEach((val) => { + const i8 = new CairoInt8(val); + expect(i8.toBigInt()).toBe(BigInt(val)); + expect(Number(i8.toBigInt())).toBe(val); + }); + }); + + test('should handle min and max edge cases', () => { + const minValue = -128; + const maxValue = 127; + + const minI8 = new CairoInt8(minValue); + const maxI8 = new CairoInt8(maxValue); + + expect(minI8.toBigInt()).toBe(BigInt(minValue)); + expect(maxI8.toBigInt()).toBe(BigInt(maxValue)); + + const minFieldElement = PRIME - 128n; + expect(minI8.toHexString()).toBe(`0x${minFieldElement.toString(16)}`); + expect(maxI8.toHexString()).toBe('0x7f'); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoUint128.test.ts b/__tests__/utils/cairoDataTypes/CairoUint128.test.ts new file mode 100644 index 000000000..61f276f56 --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoUint128.test.ts @@ -0,0 +1,446 @@ +import { CairoUint128 } from '../../../src'; + +describe('CairoUint128 class Unit Tests', () => { + describe('constructor with different input types', () => { + test('should handle number input', () => { + const u128 = new CairoUint128(42); + expect(u128.data).toBe(42n); + }); + + test('should handle bigint input', () => { + const u128 = new CairoUint128(123n); + expect(u128.data).toBe(123n); + }); + + test('should handle zero values', () => { + const u128FromNumber = new CairoUint128(0); + const u128FromBigint = new CairoUint128(0n); + + expect(u128FromNumber.data).toBe(0n); + expect(u128FromBigint.data).toBe(0n); + }); + + test('should handle maximum u128 value', () => { + const maxU128 = 2n ** 128n - 1n; + const u128 = new CairoUint128(maxU128); + expect(u128.data).toBe(maxU128); + }); + + test('should handle very large values', () => { + const largeValue = 2n ** 100n; + const u128 = new CairoUint128(largeValue); + expect(u128.data).toBe(largeValue); + }); + + test('should convert number to bigint internally', () => { + const u128 = new CairoUint128(1000000); + expect(typeof u128.data).toBe('bigint'); + expect(u128.data).toBe(1000000n); + }); + }); + + describe('validation', () => { + test('should accept valid u128 values', () => { + expect(() => new CairoUint128(0)).not.toThrow(); + expect(() => new CairoUint128(1000000)).not.toThrow(); + expect(() => new CairoUint128(2n ** 64n)).not.toThrow(); + expect(() => new CairoUint128(2n ** 96n)).not.toThrow(); + expect(() => new CairoUint128('1000000')).not.toThrow(); + expect(() => new CairoUint128(1000000n)).not.toThrow(); + }); + + test('should reject negative values', () => { + expect(() => new CairoUint128(-1)).toThrow( + 'Value is out of u128 range [0, 340282366920938463463374607431768211455]' + ); + expect(() => new CairoUint128(-100n)).toThrow( + 'Value is out of u128 range [0, 340282366920938463463374607431768211455]' + ); + }); + + test('should reject values greater than 340282366920938463463374607431768211455', () => { + const overMax = 2n ** 128n; + expect(() => new CairoUint128(overMax)).toThrow( + 'Value is out of u128 range [0, 340282366920938463463374607431768211455]' + ); + expect(() => new CairoUint128(overMax + 1n)).toThrow( + 'Value is out of u128 range [0, 340282366920938463463374607431768211455]' + ); + }); + + test('should handle valid string inputs correctly', () => { + const u128FromDecString = new CairoUint128('1000000'); + const u128FromHexString = new CairoUint128('0xffffffff'); + + expect(u128FromDecString.data).toBe(1000000n); + expect(u128FromHexString.data).toBe(0xffffffffn); + }); + + test('should accept text strings and convert via UTF-8 encoding', () => { + const u128FromChar = new CairoUint128('A'); + expect(u128FromChar.data).toBe(65n); // ASCII value of 'A' + }); + + test('should handle edge cases and invalid inputs', () => { + expect(() => CairoUint128.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoUint128.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoUint128.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoUint128.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + + test('should reject decimal numbers', () => { + expect(() => new CairoUint128(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + expect(() => new CairoUint128(1.1)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + }); + + describe('toBigInt method', () => { + test('should return the stored bigint value', () => { + const values = [0, 1, 1000000, 2147483647, Number.MAX_SAFE_INTEGER]; + values.forEach((val) => { + const u128 = new CairoUint128(val); + expect(u128.toBigInt()).toBe(BigInt(val)); + }); + }); + + test('should handle zero', () => { + const u128 = new CairoUint128(0); + expect(u128.toBigInt()).toBe(0n); + }); + + test('should handle maximum u128 value', () => { + const maxU128 = 2n ** 128n - 1n; + const u128 = new CairoUint128(maxU128); + expect(u128.toBigInt()).toBe(maxU128); + }); + + test('should handle very large values', () => { + const largeValue = 2n ** 120n; + const u128 = new CairoUint128(largeValue); + expect(u128.toBigInt()).toBe(largeValue); + }); + }); + + describe('toHexString method', () => { + test('should convert zero to hex', () => { + const u128 = new CairoUint128(0); + expect(u128.toHexString()).toBe('0x0'); + }); + + test('should convert small numbers to hex', () => { + const u128 = new CairoUint128(255); + expect(u128.toHexString()).toBe('0xff'); + }); + + test('should convert medium numbers to hex', () => { + const u128 = new CairoUint128(1000000); + expect(u128.toHexString()).toBe('0xf4240'); + }); + + test('should convert large numbers to hex', () => { + const u128 = new CairoUint128(0xffffffffffffffffn); + expect(u128.toHexString()).toBe('0xffffffffffffffff'); + }); + + test('should convert maximum u128 value to hex', () => { + const maxU128 = 2n ** 128n - 1n; + const u128 = new CairoUint128(maxU128); + expect(u128.toHexString()).toBe('0xffffffffffffffffffffffffffffffff'); + }); + + test('should handle bigint input', () => { + const u128 = new CairoUint128(0x123456789abcdef0123456789abcdefn); + expect(u128.toHexString()).toBe('0x123456789abcdef0123456789abcdef'); + }); + }); + + describe('decodeUtf8 method', () => { + test('should decode single byte values to Unicode', () => { + const u128A = new CairoUint128(65); // 'A' + const u128Z = new CairoUint128(90); // 'Z' + const u128Zero = new CairoUint128(48); // '0' + + expect(u128A.decodeUtf8()).toBe('A'); + expect(u128Z.decodeUtf8()).toBe('Z'); + expect(u128Zero.decodeUtf8()).toBe('0'); + }); + + test('should convert zero to null character', () => { + const u128 = new CairoUint128(0); + expect(u128.decodeUtf8()).toBe('\0'); + }); + + test('should handle special ASCII characters', () => { + const u128Space = new CairoUint128(32); // ' ' + const u128Exclamation = new CairoUint128(33); // '!' + const u128AtSign = new CairoUint128(64); // '@' + + expect(u128Space.decodeUtf8()).toBe(' '); + expect(u128Exclamation.decodeUtf8()).toBe('!'); + expect(u128AtSign.decodeUtf8()).toBe('@'); + }); + }); + + describe('toApiRequest method', () => { + test('should return hex string array for zero', () => { + const u128 = new CairoUint128(0); + const result = u128.toApiRequest(); + expect(result).toEqual(['0x0']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for small numbers', () => { + const u128 = new CairoUint128(42); + const result = u128.toApiRequest(); + expect(result).toEqual(['0x2a']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for large numbers', () => { + const maxU128 = 2n ** 128n - 1n; + const u128 = new CairoUint128(maxU128); + const result = u128.toApiRequest(); + expect(result).toEqual(['0xffffffffffffffffffffffffffffffff']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should handle bigint input', () => { + const u128 = new CairoUint128(0x123456789abcdef0123456789abcdefn); + const result = u128.toApiRequest(); + expect(result).toEqual(['0x123456789abcdef0123456789abcdef']); + expect(result).toHaveProperty('__compiled__', true); + }); + }); + + describe('validate static method', () => { + test('should validate correct number inputs', () => { + expect(() => CairoUint128.validate(0)).not.toThrow(); + expect(() => CairoUint128.validate(1000000)).not.toThrow(); + expect(() => CairoUint128.validate(Number.MAX_SAFE_INTEGER)).not.toThrow(); + }); + + test('should validate correct bigint inputs', () => { + expect(() => CairoUint128.validate(0n)).not.toThrow(); + expect(() => CairoUint128.validate(1000000n)).not.toThrow(); + expect(() => CairoUint128.validate(2n ** 128n - 1n)).not.toThrow(); + }); + + test('should reject invalid types', () => { + expect(() => CairoUint128.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoUint128.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoUint128.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoUint128.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + + test('should reject negative values', () => { + expect(() => CairoUint128.validate(-1)).toThrow( + 'Value is out of u128 range [0, 340282366920938463463374607431768211455]' + ); + expect(() => CairoUint128.validate(-100n)).toThrow( + 'Value is out of u128 range [0, 340282366920938463463374607431768211455]' + ); + }); + + test('should reject values exceeding u128 range', () => { + expect(() => CairoUint128.validate(2n ** 128n)).toThrow( + 'Value is out of u128 range [0, 340282366920938463463374607431768211455]' + ); + expect(() => CairoUint128.validate(2n ** 128n + 1n)).toThrow( + 'Value is out of u128 range [0, 340282366920938463463374607431768211455]' + ); + }); + + test('should reject decimal numbers', () => { + expect(() => CairoUint128.validate(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoUint128.is(0)).toBe(true); + expect(CairoUint128.is(1000000)).toBe(true); + expect(CairoUint128.is(2n ** 64n)).toBe(true); + expect(CairoUint128.is(2n ** 96n)).toBe(true); + expect(CairoUint128.is(1000000n)).toBe(true); + expect(CairoUint128.is('1000000')).toBe(true); + }); + + test('should return false for invalid inputs', () => { + expect(CairoUint128.is(-1)).toBe(false); + expect(CairoUint128.is(2n ** 128n)).toBe(false); + expect(CairoUint128.is(null as any)).toBe(false); + expect(CairoUint128.is(undefined as any)).toBe(false); + expect(CairoUint128.is({} as any)).toBe(false); + expect(CairoUint128.is(42.5)).toBe(false); + }); + }); + + describe('isAbiType static method', () => { + test('should identify correct ABI type', () => { + expect(CairoUint128.isAbiType('core::integer::u128')).toBe(true); + expect(CairoUint128.isAbiType('core::integer::u64')).toBe(false); + expect(CairoUint128.isAbiType('core::integer::u256')).toBe(false); + expect(CairoUint128.isAbiType('felt252')).toBe(false); + }); + }); + + describe('edge cases and consistency checks', () => { + test('should handle boundary values correctly', () => { + const minU128 = new CairoUint128(0); + const maxU128 = new CairoUint128(2n ** 128n - 1n); + + expect(minU128.data).toBe(0n); + expect(maxU128.data).toBe(2n ** 128n - 1n); + expect(minU128.toBigInt()).toBe(0n); + expect(maxU128.toBigInt()).toBe(2n ** 128n - 1n); + }); + + test('should maintain consistency across methods', () => { + const values = [0, 1, 1000000, 4294967295]; // Test values within safe integer range + values.forEach((val) => { + const u128 = new CairoUint128(val); + const bigintVal = u128.toBigInt(); + const hexVal = u128.toHexString(); + const apiRequest = u128.toApiRequest(); + + expect(bigintVal).toBe(BigInt(val)); + expect(hexVal).toBe(`0x${val.toString(16)}`); + expect(apiRequest[0]).toBe(hexVal); + }); + }); + + test('should handle number and bigint inputs consistently', () => { + const testValues = [0, 100, 1000000, 2147483647]; + testValues.forEach((val) => { + const u128FromNumber = new CairoUint128(val); + const u128FromBigint = new CairoUint128(BigInt(val)); + + expect(u128FromNumber.data).toBe(u128FromBigint.data); + expect(u128FromNumber.toBigInt()).toBe(u128FromBigint.toBigInt()); + expect(u128FromNumber.toHexString()).toBe(u128FromBigint.toHexString()); + }); + }); + + test('should preserve exact values without precision loss', () => { + const maxU128 = 2n ** 128n - 1n; + const u128 = new CairoUint128(maxU128); + expect(u128.toBigInt()).toBe(maxU128); + }); + }); + + describe('factoryFromApiResponse method', () => { + test('should create CairoUint128 from API response iterator', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0xf4240', done: false }), + }; + const u128 = CairoUint128.factoryFromApiResponse(mockIterator as any); + expect(u128.data).toBe(0xf4240n); + }); + + test('should handle hex string from API response', () => { + const mockIterator = { + next: jest + .fn() + .mockReturnValue({ value: '0xffffffffffffffffffffffffffffffff', done: false }), + }; + const u128 = CairoUint128.factoryFromApiResponse(mockIterator as any); + expect(u128.data).toBe(2n ** 128n - 1n); + }); + + test('should handle large decimal values from API response', () => { + const largeValue = (2n ** 127n).toString(); + const mockIterator = { + next: jest.fn().mockReturnValue({ value: largeValue, done: false }), + }; + const u128 = CairoUint128.factoryFromApiResponse(mockIterator as any); + expect(u128.data).toBe(2n ** 127n); + }); + }); + + describe('round-trip consistency', () => { + test('should maintain consistency between constructor types', () => { + const testValue = 1000000; + const u128FromNumber = new CairoUint128(testValue); + const u128FromBigint = new CairoUint128(BigInt(testValue)); + const u128FromString = new CairoUint128(testValue.toString()); + + expect(u128FromNumber.toBigInt()).toBe(u128FromBigint.toBigInt()); + expect(u128FromNumber.toBigInt()).toBe(u128FromString.toBigInt()); + expect(u128FromBigint.toBigInt()).toBe(u128FromString.toBigInt()); + }); + + test('should handle string-to-bigint-to-string round trips', () => { + const originalValue = 1000000; + const u128 = new CairoUint128(originalValue); + const bigintValue = u128.toBigInt(); + const newU128 = new CairoUint128(bigintValue); + + expect(newU128.toBigInt()).toBe(BigInt(originalValue)); + expect(newU128.data).toBe(u128.data); + }); + }); + + describe('extremely large number handling', () => { + test('should handle values much larger than u64 and u96 ranges', () => { + const extremelyLargeValue = 2n ** 127n; + const u128 = new CairoUint128(extremelyLargeValue); + expect(u128.toBigInt()).toBe(extremelyLargeValue); + expect(u128.toHexString()).toBe(`0x${extremelyLargeValue.toString(16)}`); + }); + + test('should handle powers of 2 correctly', () => { + const powersOf2 = [2n ** 64n, 2n ** 80n, 2n ** 96n, 2n ** 112n, 2n ** 127n]; + powersOf2.forEach((power) => { + const u128 = new CairoUint128(power); + expect(u128.toBigInt()).toBe(power); + }); + }); + + test('should handle hex representations of very large numbers', () => { + const hexValue = '0x123456789abcdef0123456789abcdef0'; // Valid u128 value + const u128 = new CairoUint128(hexValue); + expect(u128.toHexString().toLowerCase()).toBe(hexValue.toLowerCase()); + }); + }); + + describe('comparison with smaller integer types', () => { + test('should handle all u64 values correctly', () => { + const maxU64 = 2n ** 64n - 1n; + const u128 = new CairoUint128(maxU64); + expect(u128.toBigInt()).toBe(maxU64); + expect(u128.data).toBe(maxU64); + }); + + test('should handle all u96 values correctly', () => { + const maxU96 = 2n ** 96n - 1n; + const u128 = new CairoUint128(maxU96); + expect(u128.toBigInt()).toBe(maxU96); + expect(u128.data).toBe(maxU96); + }); + + test('should handle values just above u96 range', () => { + const justAboveU96 = 2n ** 96n; + const u128 = new CairoUint128(justAboveU96); + expect(u128.toBigInt()).toBe(justAboveU96); + expect(u128.data).toBe(justAboveU96); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoUint16.test.ts b/__tests__/utils/cairoDataTypes/CairoUint16.test.ts new file mode 100644 index 000000000..6a4ad69c3 --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoUint16.test.ts @@ -0,0 +1,380 @@ +import { CairoUint16 } from '../../../src'; + +describe('CairoUint16 class Unit Tests', () => { + describe('constructor with different input types', () => { + test('should handle number input', () => { + const u16 = new CairoUint16(42); + expect(u16.data).toBe(42n); + }); + + test('should handle bigint input', () => { + const u16 = new CairoUint16(123n); + expect(u16.data).toBe(123n); + }); + + test('should handle zero values', () => { + const u16FromNumber = new CairoUint16(0); + const u16FromBigint = new CairoUint16(0n); + + expect(u16FromNumber.data).toBe(0n); + expect(u16FromBigint.data).toBe(0n); + }); + + test('should handle maximum u16 value', () => { + const maxU16 = 65535n; + const u16 = new CairoUint16(maxU16); + expect(u16.data).toBe(maxU16); + }); + + test('should handle maximum u16 value as number', () => { + const u16 = new CairoUint16(65535); + expect(u16.data).toBe(65535n); + }); + + test('should convert number to bigint internally', () => { + const u16 = new CairoUint16(32768); + expect(typeof u16.data).toBe('bigint'); + expect(u16.data).toBe(32768n); + }); + }); + + describe('validation', () => { + test('should accept valid u16 values', () => { + expect(() => new CairoUint16(0)).not.toThrow(); + expect(() => new CairoUint16(32768)).not.toThrow(); + expect(() => new CairoUint16(65535)).not.toThrow(); + expect(() => new CairoUint16('1000')).not.toThrow(); + expect(() => new CairoUint16(1000n)).not.toThrow(); + }); + + test('should reject negative values', () => { + expect(() => new CairoUint16(-1)).toThrow('Value is out of u16 range [0, 65535]'); + expect(() => new CairoUint16(-100n)).toThrow('Value is out of u16 range [0, 65535]'); + // Note: '-1' as string gets UTF-8 encoded and produces a large value, not -1 + }); + + test('should reject values greater than 65535', () => { + expect(() => new CairoUint16(65536)).toThrow('Value is out of u16 range [0, 65535]'); + expect(() => new CairoUint16(100000n)).toThrow('Value is out of u16 range [0, 65535]'); + expect(() => new CairoUint16('70000')).toThrow('Value is out of u16 range [0, 65535]'); + }); + + test('should handle valid string inputs correctly', () => { + const u16FromDecString = new CairoUint16('32768'); + const u16FromHexString = new CairoUint16('0xffff'); + + expect(u16FromDecString.data).toBe(32768n); + expect(u16FromHexString.data).toBe(65535n); + }); + + test('should accept text strings and convert via UTF-8 encoding', () => { + const u16FromChar = new CairoUint16('A'); + expect(u16FromChar.data).toBe(65n); // ASCII value of 'A' + }); + + test('should handle edge cases and invalid inputs', () => { + expect(() => CairoUint16.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoUint16.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoUint16.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoUint16.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + + test('should reject decimal numbers', () => { + expect(() => new CairoUint16(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + expect(() => new CairoUint16(1.1)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + + test('should validate string inputs with out-of-range values', () => { + expect(() => new CairoUint16('65536')).toThrow('Value is out of u16 range [0, 65535]'); + expect(() => new CairoUint16('0x10000')).toThrow('Value is out of u16 range [0, 65535]'); + }); + }); + + describe('toBigInt method', () => { + test('should return the stored bigint value', () => { + const values = [0, 1, 1000, 32768, 65535]; + values.forEach((val) => { + const u16 = new CairoUint16(val); + expect(u16.toBigInt()).toBe(BigInt(val)); + }); + }); + + test('should handle zero', () => { + const u16 = new CairoUint16(0); + expect(u16.toBigInt()).toBe(0n); + }); + + test('should handle maximum u16 value', () => { + const u16 = new CairoUint16(65535); + expect(u16.toBigInt()).toBe(65535n); + }); + + test('should handle large values', () => { + const u16 = new CairoUint16(32768); + expect(u16.toBigInt()).toBe(32768n); + }); + }); + + describe('toHexString method', () => { + test('should convert zero to hex', () => { + const u16 = new CairoUint16(0); + expect(u16.toHexString()).toBe('0x0'); + }); + + test('should convert small numbers to hex', () => { + const u16 = new CairoUint16(15); + expect(u16.toHexString()).toBe('0xf'); + }); + + test('should convert medium numbers to hex', () => { + const u16 = new CairoUint16(1000); + expect(u16.toHexString()).toBe('0x3e8'); + }); + + test('should convert large numbers to hex', () => { + const u16 = new CairoUint16(32768); + expect(u16.toHexString()).toBe('0x8000'); + }); + + test('should convert maximum u16 value to hex', () => { + const u16 = new CairoUint16(65535); + expect(u16.toHexString()).toBe('0xffff'); + }); + + test('should handle bigint input', () => { + const u16 = new CairoUint16(4096n); + expect(u16.toHexString()).toBe('0x1000'); + }); + }); + + describe('decodeUtf8 method', () => { + test('should decode single byte values to Unicode', () => { + const u16A = new CairoUint16(65); // 'A' + const u16Z = new CairoUint16(90); // 'Z' + const u16Zero = new CairoUint16(48); // '0' + + expect(u16A.decodeUtf8()).toBe('A'); + expect(u16Z.decodeUtf8()).toBe('Z'); + expect(u16Zero.decodeUtf8()).toBe('0'); + }); + + test('should convert zero to null character', () => { + const u16 = new CairoUint16(0); + expect(u16.decodeUtf8()).toBe('\0'); + }); + + test('should handle special ASCII characters', () => { + const u16Space = new CairoUint16(32); // ' ' + const u16Exclamation = new CairoUint16(33); // '!' + const u16AtSign = new CairoUint16(64); // '@' + + expect(u16Space.decodeUtf8()).toBe(' '); + expect(u16Exclamation.decodeUtf8()).toBe('!'); + expect(u16AtSign.decodeUtf8()).toBe('@'); + }); + }); + + describe('toApiRequest method', () => { + test('should return hex string array for zero', () => { + const u16 = new CairoUint16(0); + const result = u16.toApiRequest(); + expect(result).toEqual(['0x0']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for small numbers', () => { + const u16 = new CairoUint16(42); + const result = u16.toApiRequest(); + expect(result).toEqual(['0x2a']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for large numbers', () => { + const u16 = new CairoUint16(65535); + const result = u16.toApiRequest(); + expect(result).toEqual(['0xffff']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should handle bigint input', () => { + const u16 = new CairoUint16(32768n); + const result = u16.toApiRequest(); + expect(result).toEqual(['0x8000']); + expect(result).toHaveProperty('__compiled__', true); + }); + }); + + describe('validate static method', () => { + test('should validate correct number inputs', () => { + expect(() => CairoUint16.validate(0)).not.toThrow(); + expect(() => CairoUint16.validate(32768)).not.toThrow(); + expect(() => CairoUint16.validate(65535)).not.toThrow(); + }); + + test('should validate correct bigint inputs', () => { + expect(() => CairoUint16.validate(0n)).not.toThrow(); + expect(() => CairoUint16.validate(32768n)).not.toThrow(); + expect(() => CairoUint16.validate(65535n)).not.toThrow(); + }); + + test('should reject invalid types', () => { + expect(() => CairoUint16.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoUint16.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoUint16.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoUint16.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + + test('should reject negative values', () => { + expect(() => CairoUint16.validate(-1)).toThrow('Value is out of u16 range [0, 65535]'); + expect(() => CairoUint16.validate(-100n)).toThrow('Value is out of u16 range [0, 65535]'); + }); + + test('should reject values exceeding u16 range', () => { + expect(() => CairoUint16.validate(65536)).toThrow('Value is out of u16 range [0, 65535]'); + expect(() => CairoUint16.validate(100000n)).toThrow('Value is out of u16 range [0, 65535]'); + }); + + test('should reject decimal numbers', () => { + expect(() => CairoUint16.validate(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoUint16.is(0)).toBe(true); + expect(CairoUint16.is(32768)).toBe(true); + expect(CairoUint16.is(65535)).toBe(true); + expect(CairoUint16.is(1000n)).toBe(true); + expect(CairoUint16.is('32768')).toBe(true); + }); + + test('should return false for invalid inputs', () => { + expect(CairoUint16.is(-1)).toBe(false); + expect(CairoUint16.is(65536)).toBe(false); + expect(CairoUint16.is(null as any)).toBe(false); + expect(CairoUint16.is(undefined as any)).toBe(false); + expect(CairoUint16.is({} as any)).toBe(false); + expect(CairoUint16.is(42.5)).toBe(false); + }); + }); + + describe('isAbiType static method', () => { + test('should identify correct ABI type', () => { + expect(CairoUint16.isAbiType('core::integer::u16')).toBe(true); + expect(CairoUint16.isAbiType('core::integer::u8')).toBe(false); + expect(CairoUint16.isAbiType('core::integer::u32')).toBe(false); + expect(CairoUint16.isAbiType('felt252')).toBe(false); + }); + }); + + describe('edge cases and consistency checks', () => { + test('should handle boundary values correctly', () => { + const minU16 = new CairoUint16(0); + const maxU16 = new CairoUint16(65535); + + expect(minU16.data).toBe(0n); + expect(maxU16.data).toBe(65535n); + expect(minU16.toBigInt()).toBe(0n); + expect(maxU16.toBigInt()).toBe(65535n); + }); + + test('should maintain consistency across methods', () => { + const values = [0, 1, 1000, 32768, 65535]; + values.forEach((val) => { + const u16 = new CairoUint16(val); + const bigintVal = u16.toBigInt(); + const hexVal = u16.toHexString(); + const apiRequest = u16.toApiRequest(); + + expect(bigintVal).toBe(BigInt(val)); + expect(hexVal).toBe(`0x${val.toString(16)}`); + expect(apiRequest[0]).toBe(hexVal); + }); + }); + + test('should handle number and bigint inputs consistently', () => { + const testValues = [0, 100, 1000, 32768, 65535]; + testValues.forEach((val) => { + const u16FromNumber = new CairoUint16(val); + const u16FromBigint = new CairoUint16(BigInt(val)); + + expect(u16FromNumber.data).toBe(u16FromBigint.data); + expect(u16FromNumber.toBigInt()).toBe(u16FromBigint.toBigInt()); + expect(u16FromNumber.toHexString()).toBe(u16FromBigint.toHexString()); + }); + }); + + test('should preserve exact values without precision loss', () => { + const u16 = new CairoUint16(65535); + expect(u16.toBigInt()).toBe(65535n); + expect(Number(u16.toBigInt())).toBe(65535); + }); + }); + + describe('factoryFromApiResponse method', () => { + test('should create CairoUint16 from API response iterator', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0x1000', done: false }), + }; + const u16 = CairoUint16.factoryFromApiResponse(mockIterator as any); + expect(u16.data).toBe(0x1000n); + }); + + test('should handle hex string from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0xffff', done: false }), + }; + const u16 = CairoUint16.factoryFromApiResponse(mockIterator as any); + expect(u16.data).toBe(65535n); + }); + + test('should handle max u16 value from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '65535', done: false }), + }; + const u16 = CairoUint16.factoryFromApiResponse(mockIterator as any); + expect(u16.data).toBe(65535n); + }); + }); + + describe('round-trip consistency', () => { + test('should maintain consistency between constructor types', () => { + const testValue = 32768; + const u16FromNumber = new CairoUint16(testValue); + const u16FromBigint = new CairoUint16(BigInt(testValue)); + const u16FromString = new CairoUint16(testValue.toString()); + + expect(u16FromNumber.toBigInt()).toBe(u16FromBigint.toBigInt()); + expect(u16FromNumber.toBigInt()).toBe(u16FromString.toBigInt()); + expect(u16FromBigint.toBigInt()).toBe(u16FromString.toBigInt()); + }); + + test('should handle string-to-bigint-to-string round trips', () => { + const originalValue = 32768; + const u16 = new CairoUint16(originalValue); + const bigintValue = u16.toBigInt(); + const newU16 = new CairoUint16(bigintValue); + + expect(newU16.toBigInt()).toBe(BigInt(originalValue)); + expect(newU16.data).toBe(u16.data); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoUint256.test.ts b/__tests__/utils/cairoDataTypes/CairoUint256.test.ts index 2e62411a0..8d655bbaf 100644 --- a/__tests__/utils/cairoDataTypes/CairoUint256.test.ts +++ b/__tests__/utils/cairoDataTypes/CairoUint256.test.ts @@ -1,6 +1,6 @@ /* eslint-disable no-new */ -import { Uint256 } from '../../../src'; import { + Uint256, CairoUint256, UINT_256_HIGH_MAX, UINT_256_HIGH_MIN, @@ -8,7 +8,7 @@ import { UINT_256_LOW_MIN, UINT_256_MAX, UINT_256_MIN, -} from '../../../src/utils/cairoDataTypes/uint256'; +} from '../../../src'; describe('CairoUint256 class test', () => { test('constructor 1 should throw on < UINT_256_MIN', () => { @@ -28,6 +28,28 @@ describe('CairoUint256 class test', () => { expect(u256.toApiRequest()).toEqual(['1000', '1000']); }); + test('constructor 1 should throw on null', () => { + expect(() => { + new CairoUint256(null as any); + }).toThrow('null value is not allowed for u256'); + }); + + test('constructor 1 should throw on undefined', () => { + expect(() => { + new CairoUint256(undefined as any); + }).toThrow('undefined value is not allowed for u256'); + }); + + test('constructor 1 should throw on invalid types', () => { + expect(() => { + new CairoUint256(Symbol('test') as any); + }).toThrow("Unsupported data type 'symbol' for u256"); + + expect(() => { + new CairoUint256((() => {}) as any); + }).toThrow("Unsupported data type 'function' for u256"); + }); + test('constructor 2 should throw out of bounds', () => { expect(() => { new CairoUint256(UINT_256_LOW_MIN - 1n, 1000); @@ -80,6 +102,38 @@ describe('CairoUint256 class test', () => { expect(typeof validate).toBe('bigint'); }); + test('validate should reject null with specific error message', () => { + expect(() => { + CairoUint256.validate(null as any); + }).toThrow('null value is not allowed for u256'); + }); + + test('validate should reject undefined with specific error message', () => { + expect(() => { + CairoUint256.validate(undefined as any); + }).toThrow('undefined value is not allowed for u256'); + }); + + test('validate should reject unsupported data types with specific error messages', () => { + expect(() => { + CairoUint256.validate(Symbol('test') as any); + }).toThrow( + "Unsupported data type 'symbol' for u256. Expected string, number, bigint, or Uint256 object" + ); + + expect(() => { + CairoUint256.validate((() => {}) as any); + }).toThrow( + "Unsupported data type 'function' for u256. Expected string, number, bigint, or Uint256 object" + ); + + expect(() => { + CairoUint256.validate(true as any); + }).toThrow( + "Unsupported data type 'boolean' for u256. Expected string, number, bigint, or Uint256 object" + ); + }); + test('is should return true', () => { const is = CairoUint256.is(UINT_256_MIN); expect(is).toBe(true); @@ -90,6 +144,17 @@ describe('CairoUint256 class test', () => { expect(is).toBe(false); }); + test('is should return false for unknown invalid data types', () => { + expect(CairoUint256.is(null as any)).toBe(false); + expect(CairoUint256.is(undefined as any)).toBe(false); + expect(CairoUint256.is(Symbol('test') as any)).toBe(false); + expect(CairoUint256.is((() => {}) as any)).toBe(false); + expect(CairoUint256.is(true as any)).toBe(false); + expect(CairoUint256.is(false as any)).toBe(false); + // Note: Date, Map, Set can be converted to numbers/BigInt so they may pass validation + // depending on BigInt conversion behavior + }); + test('constructor 1 should support BigNumberish', () => { const case1 = new CairoUint256(10n); const case2 = new CairoUint256(10); diff --git a/__tests__/utils/cairoDataTypes/CairoUint32.test.ts b/__tests__/utils/cairoDataTypes/CairoUint32.test.ts new file mode 100644 index 000000000..2e7b13b18 --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoUint32.test.ts @@ -0,0 +1,562 @@ +import { CairoFelt252, CairoUint32 } from '../../../src'; + +describe('CairoUint32 class Unit Tests', () => { + describe('constructor with different input types', () => { + test('should handle number input', () => { + const u32 = new CairoUint32(42); + expect(u32.data).toBe(42n); + }); + + test('should handle bigint input', () => { + const u32 = new CairoUint32(123n); + expect(u32.data).toBe(123n); + }); + + test('should handle zero values', () => { + const u32FromNumber = new CairoUint32(0); + const u32FromBigint = new CairoUint32(0n); + + expect(u32FromNumber.data).toBe(0n); + expect(u32FromBigint.data).toBe(0n); + }); + + test('should handle maximum u32 value', () => { + const maxU32 = 2n ** 32n - 1n; // 4294967295 + const u32 = new CairoUint32(maxU32); + expect(u32.data).toBe(maxU32); + }); + + test('should handle maximum u32 value as number', () => { + const maxU32Number = 4294967295; // 2^32 - 1 + const u32 = new CairoUint32(maxU32Number); + expect(u32.data).toBe(BigInt(maxU32Number)); + }); + + test('should convert number to bigint internally', () => { + const u32 = new CairoUint32(256); + expect(typeof u32.data).toBe('bigint'); + expect(u32.data).toBe(256n); + }); + }); + + describe('validation', () => { + test('should accept valid u32 values', () => { + expect(() => new CairoUint32(0)).not.toThrow(); + expect(() => new CairoUint32(1)).not.toThrow(); + expect(() => new CairoUint32(4294967295)).not.toThrow(); // 2^32 - 1 + expect(() => new CairoUint32(0n)).not.toThrow(); + expect(() => new CairoUint32(1n)).not.toThrow(); + expect(() => new CairoUint32(2n ** 32n - 1n)).not.toThrow(); + }); + + test('should reject negative values', () => { + expect(() => new CairoUint32(-1)).toThrow('Value is out of u32 range [0, 2^32)'); + expect(() => new CairoUint32(-100n)).toThrow('Value is out of u32 range [0, 2^32)'); + }); + + test('should reject values greater than 2^32 - 1', () => { + const overflowValue = 2n ** 32n; // 4294967296 + expect(() => new CairoUint32(overflowValue)).toThrow('Value is out of u32 range [0, 2^32)'); + expect(() => new CairoUint32(4294967296)).toThrow('Value is out of u32 range [0, 2^32)'); + }); + + test('should handle valid string inputs correctly', () => { + // Hex strings + const u32FromHex = new CairoUint32('0x7b'); // 123 in hex + expect(u32FromHex.data).toBe(123n); + + // Decimal strings + const u32FromDecimal = new CairoUint32('456'); + expect(u32FromDecimal.data).toBe(456n); + }); + + test('should accept text strings and convert via UTF-8 encoding', () => { + // UTF-8 text strings should be converted via UTF-8 encoding + const u32FromA = new CairoUint32('A'); + expect(u32FromA.data).toBe(65n); // 'A' as UTF-8 = 65 + + const u32FromHi = new CairoUint32('Hi'); + expect(u32FromHi.data).toBe(18537n); // 'Hi' as UTF-8 bytes + + // Long strings should also work if they fit in u32 range + const u32FromShort = new CairoUint32('test'); + expect(u32FromShort.data).toBe(1952805748n); // 'test' as UTF-8 bytes + }); + + test('should handle edge cases and invalid inputs', () => { + expect(() => new CairoUint32({} as any)).toThrow(); + expect(() => new CairoUint32(undefined as any)).toThrow(); + expect(() => new CairoUint32(null as any)).toThrow(); + }); + + test('should reject decimal numbers', () => { + expect(() => new CairoUint32(3.14)).toThrow(); + expect(() => new CairoUint32(1.5)).toThrow(); + }); + + test('should validate string inputs with out-of-range values', () => { + expect(() => new CairoUint32('4294967296')).toThrow('Value is out of u32 range [0, 2^32)'); + // Note: '-1' is treated as text and converted via UTF-8, not as a number string + // because it fails isStringWholeNumber (which only matches positive digits) + expect(() => new CairoUint32('0x100000000')).toThrow('Value is out of u32 range [0, 2^32)'); + }); + }); + + describe('toBigInt method', () => { + test('should return the stored bigint value', () => { + const u32 = new CairoUint32(42); + expect(u32.toBigInt()).toBe(42n); + }); + + test('should handle zero', () => { + const u32 = new CairoUint32(0); + expect(u32.toBigInt()).toBe(0n); + }); + + test('should handle maximum u32 value', () => { + const maxU32 = 2n ** 32n - 1n; + const u32 = new CairoUint32(maxU32); + expect(u32.toBigInt()).toBe(maxU32); + }); + + test('should handle large values', () => { + const largeValue = 1000000000n; + const u32 = new CairoUint32(largeValue); + expect(u32.toBigInt()).toBe(largeValue); + }); + }); + + describe('toHexString method', () => { + test('should convert zero to hex', () => { + const u32 = new CairoUint32(0); + expect(u32.toHexString()).toBe('0x0'); + }); + + test('should convert small numbers to hex', () => { + const u32 = new CairoUint32(255); + expect(u32.toHexString()).toBe('0xff'); + }); + + test('should convert medium numbers to hex', () => { + const u32 = new CairoUint32(4096); + expect(u32.toHexString()).toBe('0x1000'); + }); + + test('should convert large numbers to hex', () => { + const u32 = new CairoUint32(0xdeadbeef); + expect(u32.toHexString()).toBe('0xdeadbeef'); + }); + + test('should convert maximum u32 value to hex', () => { + const maxU32 = 2n ** 32n - 1n; // 0xffffffff + const u32 = new CairoUint32(maxU32); + expect(u32.toHexString()).toBe('0xffffffff'); + }); + + test('should handle bigint input', () => { + const u32 = new CairoUint32(256n); + expect(u32.toHexString()).toBe('0x100'); + }); + }); + + describe('toUnicode method', () => { + test('should convert single byte values to Unicode', () => { + const u32 = new CairoUint32(65); // ASCII 'A' + expect(u32.decodeUtf8()).toBe('A'); + }); + + test('should convert zero to null character', () => { + const u32 = new CairoUint32(0); + expect(u32.decodeUtf8()).toBe('\x00'); + }); + + test('should convert multi-byte values to Unicode', () => { + const u32 = new CairoUint32(0x4142); // 'AB' in ASCII + expect(u32.decodeUtf8()).toBe('AB'); + }); + + test('should handle special ASCII characters', () => { + const u32 = new CairoUint32(33); // '!' + expect(u32.decodeUtf8()).toBe('!'); + }); + + test('should handle larger multi-byte sequences', () => { + const u32 = new CairoUint32(0x48656c6c); // 'Hell' in ASCII + expect(u32.decodeUtf8()).toBe('Hell'); + }); + + test('should handle 4-byte values', () => { + // Test with a 4-byte value that represents valid UTF-8 + const u32 = new CairoUint32(0x74657374); // 'test' in ASCII + expect(u32.decodeUtf8()).toBe('test'); + }); + }); + + describe('toApiRequest method', () => { + test('should return hex string array for zero', () => { + const u32 = new CairoUint32(0); + expect(u32.toApiRequest()).toEqual(['0x0']); + }); + + test('should return hex string array for small numbers', () => { + const u32 = new CairoUint32(42); + expect(u32.toApiRequest()).toEqual(['0x2a']); + }); + + test('should return hex string array for large numbers', () => { + const u32 = new CairoUint32(1000000); + expect(u32.toApiRequest()).toEqual(['0xf4240']); + }); + + test('should return hex string array for maximum u32', () => { + const maxU32 = 2n ** 32n - 1n; + const u32 = new CairoUint32(maxU32); + expect(u32.toApiRequest()).toEqual(['0xffffffff']); + }); + + test('should handle bigint input', () => { + const u32 = new CairoUint32(12345n); + expect(u32.toApiRequest()).toEqual(['0x3039']); + }); + }); + + describe('validate static method', () => { + test('should validate correct number inputs', () => { + expect(() => CairoUint32.validate(0)).not.toThrow(); + expect(() => CairoUint32.validate(42)).not.toThrow(); + expect(() => CairoUint32.validate(4294967295)).not.toThrow(); + }); + + test('should validate correct bigint inputs', () => { + expect(() => CairoUint32.validate(0n)).not.toThrow(); + expect(() => CairoUint32.validate(42n)).not.toThrow(); + expect(() => CairoUint32.validate(2n ** 32n - 1n)).not.toThrow(); + }); + + test('should reject invalid types', () => { + expect(() => CairoUint32.validate({} as any)).toThrow(); + expect(() => CairoUint32.validate(null as any)).toThrow(); + expect(() => CairoUint32.validate(undefined as any)).toThrow(); + expect(() => CairoUint32.validate('invalid' as any)).toThrow(); + }); + + test('should reject negative values', () => { + expect(() => CairoUint32.validate(-1)).toThrow('Value is out of u32 range [0, 2^32)'); + expect(() => CairoUint32.validate(-100n)).toThrow('Value is out of u32 range [0, 2^32)'); + }); + + test('should reject values exceeding u32 range', () => { + expect(() => CairoUint32.validate(2n ** 32n)).toThrow('Value is out of u32 range [0, 2^32)'); + expect(() => CairoUint32.validate(4294967296)).toThrow('Value is out of u32 range [0, 2^32)'); + }); + + test('should reject decimal numbers', () => { + // Decimal numbers throw when converting to BigInt + expect(() => CairoUint32.validate(3.14)).toThrow(); + expect(() => CairoUint32.validate(1.5)).toThrow(); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoUint32.is(0)).toBe(true); + expect(CairoUint32.is(42)).toBe(true); + expect(CairoUint32.is(4294967295)).toBe(true); + expect(CairoUint32.is(0n)).toBe(true); + expect(CairoUint32.is(42n)).toBe(true); + expect(CairoUint32.is(2n ** 32n - 1n)).toBe(true); + }); + + test('should return false for invalid inputs', () => { + expect(CairoUint32.is(2n ** 32n)).toBe(false); + expect(CairoFelt252.is({} as any)).toBe(false); + expect(CairoFelt252.is([] as any)).toBe(false); + expect(CairoFelt252.is(null as any)).toBe(false); + expect(CairoFelt252.is(3.14 as any)).toBe(false); + expect(CairoFelt252.is(-1)).toBe(false); + expect(CairoFelt252.is(-1n)).toBe(false); + expect(CairoFelt252.is(undefined as any)).toBe(false); + }); + }); + + describe('isAbiType static method', () => { + test('should identify correct ABI type', () => { + expect(CairoUint32.isAbiType('core::u32::u32')).toBe(true); + expect(CairoUint32.isAbiType('u32')).toBe(false); + expect(CairoUint32.isAbiType('core::u64::u64')).toBe(false); + expect(CairoUint32.isAbiType('core::felt252')).toBe(false); + expect(CairoUint32.isAbiType('')).toBe(false); + }); + }); + + describe('edge cases and consistency checks', () => { + test('should handle boundary values correctly', () => { + // Test exactly at boundaries + const minValue = 0; + const maxValue = 4294967295; // 2^32 - 1 + + const minU32 = new CairoUint32(minValue); + const maxU32 = new CairoUint32(maxValue); + + expect(minU32.toBigInt()).toBe(0n); + expect(maxU32.toBigInt()).toBe(4294967295n); + expect(minU32.toHexString()).toBe('0x0'); + expect(maxU32.toHexString()).toBe('0xffffffff'); + }); + + test('should maintain consistency across methods', () => { + const testValues = [0, 1, 255, 256, 65535, 65536, 16777215, 16777216]; + + testValues.forEach((value) => { + const u32 = new CairoUint32(value); + const bigintValue = u32.toBigInt(); + const hexValue = u32.toHexString(); + const apiValue = u32.toApiRequest(); + + // Verify consistency + expect(bigintValue).toBe(BigInt(value)); + expect(BigInt(hexValue)).toBe(bigintValue); + expect(BigInt(apiValue[0])).toBe(bigintValue); + }); + }); + + test('should handle number and bigint inputs consistently', () => { + const testValue = 12345; + const u32FromNumber = new CairoUint32(testValue); + const u32FromBigint = new CairoUint32(BigInt(testValue)); + + expect(u32FromNumber.data).toBe(u32FromBigint.data); + expect(u32FromNumber.toBigInt()).toBe(u32FromBigint.toBigInt()); + expect(u32FromNumber.toHexString()).toBe(u32FromBigint.toHexString()); + expect(u32FromNumber.toApiRequest()).toEqual(u32FromBigint.toApiRequest()); + }); + + test('should preserve exact values without precision loss', () => { + const testValues = [ + 0, + 1, + 255, + 256, + 65535, + 65536, + 1000000, + 2147483647, // 2^31 - 1 + 2147483648, // 2^31 + 4294967294, + 4294967295, // 2^32 - 2, 2^32 - 1 + ]; + + testValues.forEach((value) => { + const u32 = new CairoUint32(value); + expect(u32.toBigInt()).toBe(BigInt(value)); + expect(Number(u32.toBigInt())).toBe(value); + }); + }); + + test('should handle powers of 2 correctly', () => { + const powersOf2 = [ + 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, + ]; + + powersOf2.forEach((power) => { + const u32 = new CairoUint32(power); + expect(u32.toBigInt()).toBe(BigInt(power)); + expect(u32.toHexString()).toBe(`0x${power.toString(16)}`); + }); + }); + + test('should handle hexadecimal patterns correctly', () => { + const hexValues = [0x0, 0x1, 0xff, 0x100, 0xffff, 0x10000, 0xffffff, 0x1000000, 0xffffffff]; + + hexValues.forEach((hex) => { + const u32 = new CairoUint32(hex); + expect(u32.toBigInt()).toBe(BigInt(hex)); + expect(u32.toHexString()).toBe(`0x${hex.toString(16)}`); + }); + }); + }); + + describe('String handling', () => { + describe('Hex strings', () => { + test('should handle hex strings with 0x prefix', () => { + const u32 = new CairoUint32('0xff'); + expect(u32.toBigInt()).toBe(255n); + expect(u32.toHexString()).toBe('0xff'); + }); + + test('should handle large hex strings', () => { + const u32 = new CairoUint32('0xffffffff'); // Max u32 + expect(u32.toBigInt()).toBe(4294967295n); + expect(u32.toHexString()).toBe('0xffffffff'); + }); + }); + + describe('Decimal strings', () => { + test('should handle decimal strings', () => { + const u32 = new CairoUint32('12345'); + expect(u32.toBigInt()).toBe(12345n); + expect(u32.decodeUtf8()).toBe('09'); // 12345 as bytes + }); + + test('should handle zero as decimal string', () => { + const u32 = new CairoUint32('0'); + expect(u32.toBigInt()).toBe(0n); + expect(u32.toHexString()).toBe('0x0'); + }); + + test('should handle max u32 as decimal string', () => { + const u32 = new CairoUint32('4294967295'); + expect(u32.toBigInt()).toBe(4294967295n); + expect(u32.toHexString()).toBe('0xffffffff'); + }); + }); + }); + + describe('decodeUtf8 method', () => { + test('should decode single byte values', () => { + const u32 = new CairoUint32(65); // 'A' + expect(u32.decodeUtf8()).toBe('A'); + }); + + test('should decode multi-byte values', () => { + const u32 = new CairoUint32(0x48656c6c); // "Hell" (fits in u32) + expect(u32.decodeUtf8()).toBe('Hell'); + }); + + test('should handle zero', () => { + const u32 = new CairoUint32(0); + expect(u32.decodeUtf8()).toBe('\x00'); + }); + + test('should handle ASCII range values', () => { + for (let i = 32; i < 127; i += 1) { + // Printable ASCII + const u32 = new CairoUint32(i); + expect(u32.decodeUtf8()).toBe(String.fromCharCode(i)); + } + }); + }); + + describe('Static methods', () => { + describe('validate method', () => { + test('should validate valid u32 range', () => { + expect(() => CairoUint32.validate(0)).not.toThrow(); + expect(() => CairoUint32.validate(4294967295)).not.toThrow(); + expect(() => CairoUint32.validate(0n)).not.toThrow(); + expect(() => CairoUint32.validate(2n ** 32n - 1n)).not.toThrow(); + }); + + test('should reject out-of-range values', () => { + expect(() => CairoUint32.validate(-1)).toThrow('Value is out of u32 range [0, 2^32)'); + expect(() => CairoUint32.validate(4294967296)).toThrow( + 'Value is out of u32 range [0, 2^32)' + ); + expect(() => CairoUint32.validate(2n ** 32n)).toThrow( + 'Value is out of u32 range [0, 2^32)' + ); + }); + }); + + describe('is method', () => { + test('should return true for valid values', () => { + expect(CairoUint32.is(0)).toBe(true); + expect(CairoUint32.is(4294967295)).toBe(true); + expect(CairoUint32.is(0n)).toBe(true); + expect(CairoUint32.is(2n ** 32n - 1n)).toBe(true); + }); + + test('should return false for invalid values', () => { + expect(CairoUint32.is(-1)).toBe(false); + expect(CairoUint32.is(4294967296)).toBe(false); + expect(CairoUint32.is(2n ** 32n)).toBe(false); + }); + }); + + describe('isAbiType method', () => { + test('should return true for correct ABI selector', () => { + expect(CairoUint32.isAbiType('core::u32::u32')).toBe(true); + }); + + test('should return false for incorrect ABI selector', () => { + expect(CairoUint32.isAbiType('core::u64::u64')).toBe(false); + expect(CairoUint32.isAbiType('core::felt252')).toBe(false); + expect(CairoUint32.isAbiType('')).toBe(false); + }); + }); + + describe('factoryFromApiResponse method', () => { + test('should create CairoUint32 from API response iterator', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '12345', done: false }), + } as Iterator; + + const u32 = CairoUint32.factoryFromApiResponse(mockIterator); + expect(u32).toBeInstanceOf(CairoUint32); + expect(u32.toBigInt()).toBe(12345n); + expect(mockIterator.next).toHaveBeenCalledTimes(1); + }); + + test('should handle hex string from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0xff', done: false }), + } as Iterator; + + const u32 = CairoUint32.factoryFromApiResponse(mockIterator); + expect(u32.toBigInt()).toBe(255n); + }); + + test('should handle max u32 value from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '4294967295', done: false }), + } as Iterator; + + const u32 = CairoUint32.factoryFromApiResponse(mockIterator); + expect(u32.toBigInt()).toBe(4294967295n); + }); + }); + }); + + describe('Round-trip consistency', () => { + test('should maintain consistency between constructor types', () => { + const testValues = [0, 1, 255, 65536, 4294967295]; + + testValues.forEach((value) => { + const u32FromNumber = new CairoUint32(value); + const u32FromBigint = new CairoUint32(BigInt(value)); + const u32FromString = new CairoUint32(value.toString()); + const u32FromHex = new CairoUint32(`0x${value.toString(16)}`); + + // All should have the same internal value + expect(u32FromNumber.toBigInt()).toBe(u32FromBigint.toBigInt()); + expect(u32FromNumber.toBigInt()).toBe(u32FromString.toBigInt()); + expect(u32FromNumber.toBigInt()).toBe(u32FromHex.toBigInt()); + + // All should produce the same API request + expect(u32FromNumber.toApiRequest()).toEqual(u32FromBigint.toApiRequest()); + expect(u32FromNumber.toApiRequest()).toEqual(u32FromString.toApiRequest()); + expect(u32FromNumber.toApiRequest()).toEqual(u32FromHex.toApiRequest()); + }); + }); + + test('should handle string-to-bigint-to-string round trips', () => { + const testStrings = ['123', '0xff']; + + testStrings.forEach((str) => { + const u32 = new CairoUint32(str); + const bigintValue = u32.toBigInt(); + const hexValue = u32.toHexString(); + + // Creating from the hex should yield the same result + const u32FromHex = new CairoUint32(hexValue); + expect(u32FromHex.toBigInt()).toBe(bigintValue); + }); + + // Test numeric values for consistency + const u32FromNumber = new CairoUint32(65); // 'A' as number + const bigintFromNumber = u32FromNumber.toBigInt(); + const hexFromNumber = u32FromNumber.toHexString(); + const u32FromHex = new CairoUint32(hexFromNumber); + expect(u32FromHex.toBigInt()).toBe(bigintFromNumber); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoUint512.test.ts b/__tests__/utils/cairoDataTypes/CairoUint512.test.ts index 62437c688..10e4f72ce 100644 --- a/__tests__/utils/cairoDataTypes/CairoUint512.test.ts +++ b/__tests__/utils/cairoDataTypes/CairoUint512.test.ts @@ -1,11 +1,13 @@ /* eslint-disable no-new */ -import { UINT_128_MAX, Uint512, num } from '../../../src'; import { + UINT_128_MAX, + Uint512, + num, CairoUint512, UINT_128_MIN, UINT_512_MAX, UINT_512_MIN, -} from '../../../src/utils/cairoDataTypes/uint512'; +} from '../../../src'; describe('CairoUint512 class test', () => { test('constructor 1 should throw on < UINT_512_MIN', () => { @@ -20,6 +22,28 @@ describe('CairoUint512 class test', () => { }).toThrow('bigNumberish is bigger than UINT_512_MAX'); }); + test('constructor 1 should throw on null', () => { + expect(() => { + new CairoUint512(null as any); + }).toThrow('null value is not allowed for u512'); + }); + + test('constructor 1 should throw on undefined', () => { + expect(() => { + new CairoUint512(undefined as any); + }).toThrow('undefined value is not allowed for u512'); + }); + + test('constructor 1 should throw on invalid types', () => { + expect(() => { + new CairoUint512(Symbol('test') as any); + }).toThrow("Unsupported data type 'symbol' for u512"); + + expect(() => { + new CairoUint512((() => {}) as any); + }).toThrow("Unsupported data type 'function' for u512"); + }); + test('constructor 1 should support BigNumberish', () => { const case1 = new CairoUint512(10n); const case2 = new CairoUint512(10); @@ -140,6 +164,38 @@ describe('CairoUint512 class test', () => { expect(typeof validate).toBe('bigint'); }); + test('validate should reject null with specific error message', () => { + expect(() => { + CairoUint512.validate(null as any); + }).toThrow('null value is not allowed for u512'); + }); + + test('validate should reject undefined with specific error message', () => { + expect(() => { + CairoUint512.validate(undefined as any); + }).toThrow('undefined value is not allowed for u512'); + }); + + test('validate should reject unsupported data types with specific error messages', () => { + expect(() => { + CairoUint512.validate(Symbol('test') as any); + }).toThrow( + "Unsupported data type 'symbol' for u512. Expected string, number, bigint, or Uint512 object" + ); + + expect(() => { + CairoUint512.validate((() => {}) as any); + }).toThrow( + "Unsupported data type 'function' for u512. Expected string, number, bigint, or Uint512 object" + ); + + expect(() => { + CairoUint512.validate(true as any); + }).toThrow( + "Unsupported data type 'boolean' for u512. Expected string, number, bigint, or Uint512 object" + ); + }); + test('validateProps should pass', () => { expect(CairoUint512.validateProps(1000, 1001, 1002, 1003)).toEqual({ limb0: 1000n, @@ -190,6 +246,17 @@ describe('CairoUint512 class test', () => { expect(is).toBe(false); }); + test('is should return false for unknown invalid data types', () => { + expect(CairoUint512.is(null as any)).toBe(false); + expect(CairoUint512.is(undefined as any)).toBe(false); + expect(CairoUint512.is(Symbol('test') as any)).toBe(false); + expect(CairoUint512.is((() => {}) as any)).toBe(false); + expect(CairoUint512.is(true as any)).toBe(false); + expect(CairoUint512.is(false as any)).toBe(false); + // Note: Date, Map, Set can be converted to numbers/BigInt so they may pass validation + // depending on BigInt conversion behavior + }); + test('should convert UINT_512_MAX to Uint512 bigint', () => { const numb = '0x33333333333333333333333333333333222222222222222222222222222222221111111111111111111111111111111100000000000000000000000000000000'; diff --git a/__tests__/utils/cairoDataTypes/CairoUint64.test.ts b/__tests__/utils/cairoDataTypes/CairoUint64.test.ts new file mode 100644 index 000000000..7d64c9f02 --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoUint64.test.ts @@ -0,0 +1,412 @@ +import { CairoUint64 } from '../../../src'; + +describe('CairoUint64 class Unit Tests', () => { + describe('constructor with different input types', () => { + test('should handle number input', () => { + const u64 = new CairoUint64(42); + expect(u64.data).toBe(42n); + }); + + test('should handle bigint input', () => { + const u64 = new CairoUint64(123n); + expect(u64.data).toBe(123n); + }); + + test('should handle zero values', () => { + const u64FromNumber = new CairoUint64(0); + const u64FromBigint = new CairoUint64(0n); + + expect(u64FromNumber.data).toBe(0n); + expect(u64FromBigint.data).toBe(0n); + }); + + test('should handle maximum u64 value', () => { + const maxU64 = 2n ** 64n - 1n; + const u64 = new CairoUint64(maxU64); + expect(u64.data).toBe(maxU64); + }); + + test('should handle large values', () => { + const largeValue = 9223372036854775807n; // 2^63 - 1 + const u64 = new CairoUint64(largeValue); + expect(u64.data).toBe(largeValue); + }); + + test('should convert number to bigint internally', () => { + const u64 = new CairoUint64(1000000); + expect(typeof u64.data).toBe('bigint'); + expect(u64.data).toBe(1000000n); + }); + }); + + describe('validation', () => { + test('should accept valid u64 values', () => { + expect(() => new CairoUint64(0)).not.toThrow(); + expect(() => new CairoUint64(1000000)).not.toThrow(); + expect(() => new CairoUint64(2n ** 32n)).not.toThrow(); + expect(() => new CairoUint64('1000000')).not.toThrow(); + expect(() => new CairoUint64(1000000n)).not.toThrow(); + }); + + test('should reject negative values', () => { + expect(() => new CairoUint64(-1)).toThrow( + 'Value is out of u64 range [0, 18446744073709551615]' + ); + expect(() => new CairoUint64(-100n)).toThrow( + 'Value is out of u64 range [0, 18446744073709551615]' + ); + }); + + test('should reject values greater than 2^64-1', () => { + const overMax = 2n ** 64n; + expect(() => new CairoUint64(overMax)).toThrow( + 'Value is out of u64 range [0, 18446744073709551615]' + ); + expect(() => new CairoUint64(overMax + 1n)).toThrow( + 'Value is out of u64 range [0, 18446744073709551615]' + ); + }); + + test('should handle valid string inputs correctly', () => { + const u64FromDecString = new CairoUint64('1000000'); + const u64FromHexString = new CairoUint64('0xffffffff'); + + expect(u64FromDecString.data).toBe(1000000n); + expect(u64FromHexString.data).toBe(0xffffffffn); + }); + + test('should accept text strings and convert via UTF-8 encoding', () => { + const u64FromChar = new CairoUint64('A'); + expect(u64FromChar.data).toBe(65n); // ASCII value of 'A' + }); + + test('should handle edge cases and invalid inputs', () => { + expect(() => CairoUint64.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoUint64.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoUint64.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoUint64.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + + test('should reject decimal numbers', () => { + expect(() => new CairoUint64(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + expect(() => new CairoUint64(1.1)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + }); + + describe('toBigInt method', () => { + test('should return the stored bigint value', () => { + const values = [0, 1, 1000000, 2147483647, Number.MAX_SAFE_INTEGER]; + values.forEach((val) => { + const u64 = new CairoUint64(val); + expect(u64.toBigInt()).toBe(BigInt(val)); + }); + }); + + test('should handle zero', () => { + const u64 = new CairoUint64(0); + expect(u64.toBigInt()).toBe(0n); + }); + + test('should handle maximum u64 value', () => { + const maxU64 = 2n ** 64n - 1n; + const u64 = new CairoUint64(maxU64); + expect(u64.toBigInt()).toBe(maxU64); + }); + + test('should handle large values', () => { + const largeValue = 9223372036854775807n; + const u64 = new CairoUint64(largeValue); + expect(u64.toBigInt()).toBe(largeValue); + }); + }); + + describe('toHexString method', () => { + test('should convert zero to hex', () => { + const u64 = new CairoUint64(0); + expect(u64.toHexString()).toBe('0x0'); + }); + + test('should convert small numbers to hex', () => { + const u64 = new CairoUint64(255); + expect(u64.toHexString()).toBe('0xff'); + }); + + test('should convert medium numbers to hex', () => { + const u64 = new CairoUint64(1000000); + expect(u64.toHexString()).toBe('0xf4240'); + }); + + test('should convert large numbers to hex', () => { + const u64 = new CairoUint64(0xffffffffn); + expect(u64.toHexString()).toBe('0xffffffff'); + }); + + test('should convert maximum u64 value to hex', () => { + const maxU64 = 2n ** 64n - 1n; + const u64 = new CairoUint64(maxU64); + expect(u64.toHexString()).toBe('0xffffffffffffffff'); + }); + + test('should handle bigint input', () => { + const u64 = new CairoUint64(0x123456789abcdefn); + expect(u64.toHexString()).toBe('0x123456789abcdef'); + }); + }); + + describe('decodeUtf8 method', () => { + test('should decode single byte values to Unicode', () => { + const u64A = new CairoUint64(65); // 'A' + const u64Z = new CairoUint64(90); // 'Z' + const u64Zero = new CairoUint64(48); // '0' + + expect(u64A.decodeUtf8()).toBe('A'); + expect(u64Z.decodeUtf8()).toBe('Z'); + expect(u64Zero.decodeUtf8()).toBe('0'); + }); + + test('should convert zero to null character', () => { + const u64 = new CairoUint64(0); + expect(u64.decodeUtf8()).toBe('\0'); + }); + + test('should handle special ASCII characters', () => { + const u64Space = new CairoUint64(32); // ' ' + const u64Exclamation = new CairoUint64(33); // '!' + const u64AtSign = new CairoUint64(64); // '@' + + expect(u64Space.decodeUtf8()).toBe(' '); + expect(u64Exclamation.decodeUtf8()).toBe('!'); + expect(u64AtSign.decodeUtf8()).toBe('@'); + }); + }); + + describe('toApiRequest method', () => { + test('should return hex string array for zero', () => { + const u64 = new CairoUint64(0); + const result = u64.toApiRequest(); + expect(result).toEqual(['0x0']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for small numbers', () => { + const u64 = new CairoUint64(42); + const result = u64.toApiRequest(); + expect(result).toEqual(['0x2a']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for large numbers', () => { + const maxU64 = 2n ** 64n - 1n; + const u64 = new CairoUint64(maxU64); + const result = u64.toApiRequest(); + expect(result).toEqual(['0xffffffffffffffff']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should handle bigint input', () => { + const u64 = new CairoUint64(0x123456789abcdefn); + const result = u64.toApiRequest(); + expect(result).toEqual(['0x123456789abcdef']); + expect(result).toHaveProperty('__compiled__', true); + }); + }); + + describe('validate static method', () => { + test('should validate correct number inputs', () => { + expect(() => CairoUint64.validate(0)).not.toThrow(); + expect(() => CairoUint64.validate(1000000)).not.toThrow(); + expect(() => CairoUint64.validate(Number.MAX_SAFE_INTEGER)).not.toThrow(); + }); + + test('should validate correct bigint inputs', () => { + expect(() => CairoUint64.validate(0n)).not.toThrow(); + expect(() => CairoUint64.validate(1000000n)).not.toThrow(); + expect(() => CairoUint64.validate(2n ** 64n - 1n)).not.toThrow(); + }); + + test('should reject invalid types', () => { + expect(() => CairoUint64.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoUint64.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoUint64.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoUint64.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + + test('should reject negative values', () => { + expect(() => CairoUint64.validate(-1)).toThrow( + 'Value is out of u64 range [0, 18446744073709551615]' + ); + expect(() => CairoUint64.validate(-100n)).toThrow( + 'Value is out of u64 range [0, 18446744073709551615]' + ); + }); + + test('should reject values exceeding u64 range', () => { + expect(() => CairoUint64.validate(2n ** 64n)).toThrow( + 'Value is out of u64 range [0, 18446744073709551615]' + ); + expect(() => CairoUint64.validate(2n ** 64n + 1n)).toThrow( + 'Value is out of u64 range [0, 18446744073709551615]' + ); + }); + + test('should reject decimal numbers', () => { + expect(() => CairoUint64.validate(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoUint64.is(0)).toBe(true); + expect(CairoUint64.is(1000000)).toBe(true); + expect(CairoUint64.is(2n ** 32n)).toBe(true); + expect(CairoUint64.is(1000000n)).toBe(true); + expect(CairoUint64.is('1000000')).toBe(true); + }); + + test('should return false for invalid inputs', () => { + expect(CairoUint64.is(-1)).toBe(false); + expect(CairoUint64.is(2n ** 64n)).toBe(false); + expect(CairoUint64.is(null as any)).toBe(false); + expect(CairoUint64.is(undefined as any)).toBe(false); + expect(CairoUint64.is({} as any)).toBe(false); + expect(CairoUint64.is(42.5)).toBe(false); + }); + }); + + describe('isAbiType static method', () => { + test('should identify correct ABI type', () => { + expect(CairoUint64.isAbiType('core::integer::u64')).toBe(true); + expect(CairoUint64.isAbiType('core::integer::u32')).toBe(false); + expect(CairoUint64.isAbiType('core::integer::u128')).toBe(false); + expect(CairoUint64.isAbiType('felt252')).toBe(false); + }); + }); + + describe('edge cases and consistency checks', () => { + test('should handle boundary values correctly', () => { + const minU64 = new CairoUint64(0); + const maxU64 = new CairoUint64(2n ** 64n - 1n); + + expect(minU64.data).toBe(0n); + expect(maxU64.data).toBe(2n ** 64n - 1n); + expect(minU64.toBigInt()).toBe(0n); + expect(maxU64.toBigInt()).toBe(2n ** 64n - 1n); + }); + + test('should maintain consistency across methods', () => { + const values = [0, 1, 1000000, 4294967295]; // Test values within safe integer range + values.forEach((val) => { + const u64 = new CairoUint64(val); + const bigintVal = u64.toBigInt(); + const hexVal = u64.toHexString(); + const apiRequest = u64.toApiRequest(); + + expect(bigintVal).toBe(BigInt(val)); + expect(hexVal).toBe(`0x${val.toString(16)}`); + expect(apiRequest[0]).toBe(hexVal); + }); + }); + + test('should handle number and bigint inputs consistently', () => { + const testValues = [0, 100, 1000000, 2147483647]; + testValues.forEach((val) => { + const u64FromNumber = new CairoUint64(val); + const u64FromBigint = new CairoUint64(BigInt(val)); + + expect(u64FromNumber.data).toBe(u64FromBigint.data); + expect(u64FromNumber.toBigInt()).toBe(u64FromBigint.toBigInt()); + expect(u64FromNumber.toHexString()).toBe(u64FromBigint.toHexString()); + }); + }); + + test('should preserve exact values without precision loss', () => { + const maxU64 = 2n ** 64n - 1n; + const u64 = new CairoUint64(maxU64); + expect(u64.toBigInt()).toBe(maxU64); + }); + }); + + describe('factoryFromApiResponse method', () => { + test('should create CairoUint64 from API response iterator', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0xf4240', done: false }), + }; + const u64 = CairoUint64.factoryFromApiResponse(mockIterator as any); + expect(u64.data).toBe(0xf4240n); + }); + + test('should handle hex string from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0xffffffffffffffff', done: false }), + }; + const u64 = CairoUint64.factoryFromApiResponse(mockIterator as any); + expect(u64.data).toBe(2n ** 64n - 1n); + }); + + test('should handle large values from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '9223372036854775807', done: false }), + }; + const u64 = CairoUint64.factoryFromApiResponse(mockIterator as any); + expect(u64.data).toBe(9223372036854775807n); + }); + }); + + describe('round-trip consistency', () => { + test('should maintain consistency between constructor types', () => { + const testValue = 1000000; + const u64FromNumber = new CairoUint64(testValue); + const u64FromBigint = new CairoUint64(BigInt(testValue)); + const u64FromString = new CairoUint64(testValue.toString()); + + expect(u64FromNumber.toBigInt()).toBe(u64FromBigint.toBigInt()); + expect(u64FromNumber.toBigInt()).toBe(u64FromString.toBigInt()); + expect(u64FromBigint.toBigInt()).toBe(u64FromString.toBigInt()); + }); + + test('should handle string-to-bigint-to-string round trips', () => { + const originalValue = 1000000; + const u64 = new CairoUint64(originalValue); + const bigintValue = u64.toBigInt(); + const newU64 = new CairoUint64(bigintValue); + + expect(newU64.toBigInt()).toBe(BigInt(originalValue)); + expect(newU64.data).toBe(u64.data); + }); + }); + + describe('large number handling', () => { + test('should handle values larger than JavaScript safe integer', () => { + const largeValue = BigInt(Number.MAX_SAFE_INTEGER) * 2n; + const u64 = new CairoUint64(largeValue); + expect(u64.toBigInt()).toBe(largeValue); + expect(u64.toHexString()).toBe(`0x${largeValue.toString(16)}`); + }); + + test('should handle powers of 2 correctly', () => { + const powersOf2 = [2n ** 32n, 2n ** 48n, 2n ** 56n, 2n ** 63n]; + powersOf2.forEach((power) => { + const u64 = new CairoUint64(power); + expect(u64.toBigInt()).toBe(power); + }); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoUint8.test.ts b/__tests__/utils/cairoDataTypes/CairoUint8.test.ts new file mode 100644 index 000000000..1a448dead --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoUint8.test.ts @@ -0,0 +1,494 @@ +import { CairoUint8 } from '../../../src'; + +describe('CairoUint8 class Unit Tests', () => { + describe('constructor with different input types', () => { + test('should handle number input', () => { + const u8 = new CairoUint8(42); + expect(u8.data).toBe(42n); + }); + + test('should handle bigint input', () => { + const u8 = new CairoUint8(123n); + expect(u8.data).toBe(123n); + }); + + test('should handle zero values', () => { + const u8FromNumber = new CairoUint8(0); + const u8FromBigint = new CairoUint8(0n); + + expect(u8FromNumber.data).toBe(0n); + expect(u8FromBigint.data).toBe(0n); + }); + + test('should handle maximum u8 value', () => { + const maxU8 = 255n; + const u8 = new CairoUint8(maxU8); + expect(u8.data).toBe(maxU8); + }); + + test('should handle maximum u8 value as number', () => { + const u8 = new CairoUint8(255); + expect(u8.data).toBe(255n); + }); + + test('should convert number to bigint internally', () => { + const u8 = new CairoUint8(200); + expect(typeof u8.data).toBe('bigint'); + expect(u8.data).toBe(200n); + }); + }); + + describe('validation', () => { + test('should accept valid u8 values', () => { + expect(() => new CairoUint8(0)).not.toThrow(); + expect(() => new CairoUint8(128)).not.toThrow(); + expect(() => new CairoUint8(255)).not.toThrow(); + expect(() => new CairoUint8('100')).not.toThrow(); + expect(() => new CairoUint8(100n)).not.toThrow(); + }); + + test('should reject negative values', () => { + expect(() => new CairoUint8(-1)).toThrow('Value is out of u8 range [0, 255]'); + expect(() => new CairoUint8(-100n)).toThrow('Value is out of u8 range [0, 255]'); + expect(() => new CairoUint8('-1')).toThrow('Value is out of u8 range [0, 255]'); + }); + + test('should reject values greater than 255', () => { + expect(() => new CairoUint8(256)).toThrow('Value is out of u8 range [0, 255]'); + expect(() => new CairoUint8(1000n)).toThrow('Value is out of u8 range [0, 255]'); + expect(() => new CairoUint8('300')).toThrow('Value is out of u8 range [0, 255]'); + }); + + test('should handle valid string inputs correctly', () => { + const u8FromDecString = new CairoUint8('200'); + const u8FromHexString = new CairoUint8('0xff'); + + expect(u8FromDecString.data).toBe(200n); + expect(u8FromHexString.data).toBe(255n); + }); + + test('should accept text strings and convert via UTF-8 encoding', () => { + const u8FromChar = new CairoUint8('A'); + expect(u8FromChar.data).toBe(65n); // ASCII value of 'A' + }); + + test('should handle edge cases and invalid inputs', () => { + expect(() => CairoUint8.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoUint8.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoUint8.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoUint8.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + + test('should handle unknown data types properly', () => { + // Valid unknown data types that can be converted + expect(() => new CairoUint8('100' as unknown)).not.toThrow(); + expect(() => new CairoUint8(100 as unknown)).not.toThrow(); + expect(() => new CairoUint8(100n as unknown)).not.toThrow(); + expect(() => new CairoUint8(true as unknown)).not.toThrow(); + expect(() => new CairoUint8(false as unknown)).not.toThrow(); + + // Invalid unknown data types + expect(() => new CairoUint8({} as unknown)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => new CairoUint8([] as unknown)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => new CairoUint8(null as unknown)).toThrow('Invalid input: null or undefined'); + expect(() => new CairoUint8(undefined as unknown)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => new CairoUint8(Symbol('test') as unknown)).toThrow(); + + // Out of range values as unknown + expect(() => new CairoUint8(256 as unknown)).toThrow('Value is out of u8 range [0, 255]'); + expect(() => new CairoUint8(-1 as unknown)).toThrow('Value is out of u8 range [0, 255]'); + }); + + test('should reject decimal numbers', () => { + expect(() => new CairoUint8(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + expect(() => new CairoUint8(1.1)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + + test('should validate string inputs with out-of-range values', () => { + expect(() => new CairoUint8('256')).toThrow('Value is out of u8 range [0, 255]'); + expect(() => new CairoUint8('0x100')).toThrow('Value is out of u8 range [0, 255]'); + }); + }); + + describe('toBigInt method', () => { + test('should return the stored bigint value', () => { + const values = [0, 1, 100, 200, 255]; + values.forEach((val) => { + const u8 = new CairoUint8(val); + expect(u8.toBigInt()).toBe(BigInt(val)); + }); + }); + + test('should handle zero', () => { + const u8 = new CairoUint8(0); + expect(u8.toBigInt()).toBe(0n); + }); + + test('should handle maximum u8 value', () => { + const u8 = new CairoUint8(255); + expect(u8.toBigInt()).toBe(255n); + }); + + test('should handle large values', () => { + const u8 = new CairoUint8(200); + expect(u8.toBigInt()).toBe(200n); + }); + }); + + describe('toHexString method', () => { + test('should convert zero to hex', () => { + const u8 = new CairoUint8(0); + expect(u8.toHexString()).toBe('0x0'); + }); + + test('should convert small numbers to hex', () => { + const u8 = new CairoUint8(15); + expect(u8.toHexString()).toBe('0xf'); + }); + + test('should convert medium numbers to hex', () => { + const u8 = new CairoUint8(100); + expect(u8.toHexString()).toBe('0x64'); + }); + + test('should convert large numbers to hex', () => { + const u8 = new CairoUint8(200); + expect(u8.toHexString()).toBe('0xc8'); + }); + + test('should convert maximum u8 value to hex', () => { + const u8 = new CairoUint8(255); + expect(u8.toHexString()).toBe('0xff'); + }); + + test('should handle bigint input', () => { + const u8 = new CairoUint8(170n); + expect(u8.toHexString()).toBe('0xaa'); + }); + }); + + describe('decodeUtf8 method', () => { + test('should decode single byte values to Unicode', () => { + const u8A = new CairoUint8(65); // 'A' + const u8Z = new CairoUint8(90); // 'Z' + const u8Zero = new CairoUint8(48); // '0' + + expect(u8A.decodeUtf8()).toBe('A'); + expect(u8Z.decodeUtf8()).toBe('Z'); + expect(u8Zero.decodeUtf8()).toBe('0'); + }); + + test('should convert zero to null character', () => { + const u8 = new CairoUint8(0); + expect(u8.decodeUtf8()).toBe('\0'); + }); + + test('should handle special ASCII characters', () => { + const u8Space = new CairoUint8(32); // ' ' + const u8Exclamation = new CairoUint8(33); // '!' + const u8AtSign = new CairoUint8(64); // '@' + + expect(u8Space.decodeUtf8()).toBe(' '); + expect(u8Exclamation.decodeUtf8()).toBe('!'); + expect(u8AtSign.decodeUtf8()).toBe('@'); + }); + }); + + describe('toApiRequest method', () => { + test('should return hex string array for zero', () => { + const u8 = new CairoUint8(0); + const result = u8.toApiRequest(); + expect(result).toEqual(['0x0']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for small numbers', () => { + const u8 = new CairoUint8(42); + const result = u8.toApiRequest(); + expect(result).toEqual(['0x2a']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for large numbers', () => { + const u8 = new CairoUint8(255); + const result = u8.toApiRequest(); + expect(result).toEqual(['0xff']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should handle bigint input', () => { + const u8 = new CairoUint8(128n); + const result = u8.toApiRequest(); + expect(result).toEqual(['0x80']); + expect(result).toHaveProperty('__compiled__', true); + }); + }); + + describe('validate static method', () => { + test('should validate correct number inputs', () => { + expect(() => CairoUint8.validate(0)).not.toThrow(); + expect(() => CairoUint8.validate(128)).not.toThrow(); + expect(() => CairoUint8.validate(255)).not.toThrow(); + }); + + test('should validate correct bigint inputs', () => { + expect(() => CairoUint8.validate(0n)).not.toThrow(); + expect(() => CairoUint8.validate(128n)).not.toThrow(); + expect(() => CairoUint8.validate(255n)).not.toThrow(); + }); + + test('should reject invalid types', () => { + expect(() => CairoUint8.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoUint8.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoUint8.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoUint8.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + + test('should reject negative values', () => { + expect(() => CairoUint8.validate(-1)).toThrow('Value is out of u8 range [0, 255]'); + expect(() => CairoUint8.validate(-100n)).toThrow('Value is out of u8 range [0, 255]'); + }); + + test('should reject values exceeding u8 range', () => { + expect(() => CairoUint8.validate(256)).toThrow('Value is out of u8 range [0, 255]'); + expect(() => CairoUint8.validate(1000n)).toThrow('Value is out of u8 range [0, 255]'); + }); + + test('should reject decimal numbers', () => { + expect(() => CairoUint8.validate(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoUint8.is(0)).toBe(true); + expect(CairoUint8.is(128)).toBe(true); + expect(CairoUint8.is(255)).toBe(true); + expect(CairoUint8.is(100n)).toBe(true); + expect(CairoUint8.is('200')).toBe(true); + }); + + test('should return false for invalid inputs', () => { + expect(CairoUint8.is(-1)).toBe(false); + expect(CairoUint8.is(256)).toBe(false); + expect(CairoUint8.is(null as any)).toBe(false); + expect(CairoUint8.is(undefined as any)).toBe(false); + expect(CairoUint8.is({} as any)).toBe(false); + expect(CairoUint8.is(42.5)).toBe(false); + }); + + test('should handle unknown data types in is method', () => { + // Valid unknown types + expect(CairoUint8.is(100 as unknown)).toBe(true); + expect(CairoUint8.is('200' as unknown)).toBe(true); + expect(CairoUint8.is(true as unknown)).toBe(true); + expect(CairoUint8.is(false as unknown)).toBe(true); + + // Invalid unknown types + expect(CairoUint8.is({} as unknown)).toBe(false); + expect(CairoUint8.is([] as unknown)).toBe(false); + expect(CairoUint8.is(null as unknown)).toBe(false); + expect(CairoUint8.is(undefined as unknown)).toBe(false); + expect(CairoUint8.is(Symbol('test') as unknown)).toBe(false); + expect(CairoUint8.is(256 as unknown)).toBe(false); // out of range + expect(CairoUint8.is(-1 as unknown)).toBe(false); // out of range + }); + }); + + describe('isAbiType static method', () => { + test('should identify correct ABI type', () => { + expect(CairoUint8.isAbiType('core::integer::u8')).toBe(true); + expect(CairoUint8.isAbiType('core::integer::u16')).toBe(false); + expect(CairoUint8.isAbiType('core::integer::u32')).toBe(false); + expect(CairoUint8.isAbiType('felt252')).toBe(false); + }); + }); + + describe('edge cases and consistency checks', () => { + test('should handle boundary values correctly', () => { + const minU8 = new CairoUint8(0); + const maxU8 = new CairoUint8(255); + + expect(minU8.data).toBe(0n); + expect(maxU8.data).toBe(255n); + expect(minU8.toBigInt()).toBe(0n); + expect(maxU8.toBigInt()).toBe(255n); + }); + + test('should maintain consistency across methods', () => { + const values = [0, 1, 100, 200, 255]; + values.forEach((val) => { + const u8 = new CairoUint8(val); + const bigintVal = u8.toBigInt(); + const hexVal = u8.toHexString(); + const apiRequest = u8.toApiRequest(); + + expect(bigintVal).toBe(BigInt(val)); + expect(hexVal).toBe(`0x${val.toString(16)}`); + expect(apiRequest[0]).toBe(hexVal); + }); + }); + + test('should handle number and bigint inputs consistently', () => { + const testValues = [0, 50, 100, 200, 255]; + testValues.forEach((val) => { + const u8FromNumber = new CairoUint8(val); + const u8FromBigint = new CairoUint8(BigInt(val)); + + expect(u8FromNumber.data).toBe(u8FromBigint.data); + expect(u8FromNumber.toBigInt()).toBe(u8FromBigint.toBigInt()); + expect(u8FromNumber.toHexString()).toBe(u8FromBigint.toHexString()); + }); + }); + + test('should preserve exact values without precision loss', () => { + const u8 = new CairoUint8(255); + expect(u8.toBigInt()).toBe(255n); + expect(Number(u8.toBigInt())).toBe(255); + }); + }); + + describe('String handling', () => { + describe('Hex strings', () => { + test('should handle hex strings with 0x prefix', () => { + const u8 = new CairoUint8('0xff'); + expect(u8.data).toBe(255n); + }); + + test('should handle small hex-like strings as text', () => { + const u8 = new CairoUint8('A'); // Hex-like character as text + expect(u8.data).toBe(65n); // ASCII value of 'A' + }); + }); + + describe('Decimal strings', () => { + test('should handle decimal strings', () => { + const u8 = new CairoUint8('200'); + expect(u8.data).toBe(200n); + }); + + test('should handle zero as decimal string', () => { + const u8 = new CairoUint8('0'); + expect(u8.data).toBe(0n); + }); + + test('should handle max u8 as decimal string', () => { + const u8 = new CairoUint8('255'); + expect(u8.data).toBe(255n); + }); + }); + }); + + describe('Static methods', () => { + describe('validate method', () => { + test('should validate valid u8 range', () => { + expect(() => CairoUint8.validate(0)).not.toThrow(); + expect(() => CairoUint8.validate(255)).not.toThrow(); + expect(() => CairoUint8.validate(128)).not.toThrow(); + }); + + test('should reject out-of-range values', () => { + expect(() => CairoUint8.validate(-1)).toThrow(); + expect(() => CairoUint8.validate(256)).toThrow(); + }); + }); + + describe('is method', () => { + test('should return true for valid values', () => { + expect(CairoUint8.is(0)).toBe(true); + expect(CairoUint8.is(255)).toBe(true); + expect(CairoUint8.is('128')).toBe(true); + }); + + test('should return false for invalid values', () => { + expect(CairoUint8.is(-1)).toBe(false); + expect(CairoUint8.is(256)).toBe(false); + expect(CairoUint8.is(null as any)).toBe(false); + }); + }); + + describe('isAbiType method', () => { + test('should return true for correct ABI selector', () => { + expect(CairoUint8.isAbiType('core::integer::u8')).toBe(true); + }); + + test('should return false for incorrect ABI selector', () => { + expect(CairoUint8.isAbiType('core::integer::u16')).toBe(false); + expect(CairoUint8.isAbiType('felt252')).toBe(false); + }); + }); + + describe('factoryFromApiResponse method', () => { + test('should create CairoUint8 from API response iterator', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0x42', done: false }), + }; + const u8 = CairoUint8.factoryFromApiResponse(mockIterator as any); + expect(u8.data).toBe(0x42n); + }); + + test('should handle hex string from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0xff', done: false }), + }; + const u8 = CairoUint8.factoryFromApiResponse(mockIterator as any); + expect(u8.data).toBe(255n); + }); + + test('should handle max u8 value from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '255', done: false }), + }; + const u8 = CairoUint8.factoryFromApiResponse(mockIterator as any); + expect(u8.data).toBe(255n); + }); + }); + }); + + describe('Round-trip consistency', () => { + test('should maintain consistency between constructor types', () => { + const testValue = 200; + const u8FromNumber = new CairoUint8(testValue); + const u8FromBigint = new CairoUint8(BigInt(testValue)); + const u8FromString = new CairoUint8(testValue.toString()); + + expect(u8FromNumber.toBigInt()).toBe(u8FromBigint.toBigInt()); + expect(u8FromNumber.toBigInt()).toBe(u8FromString.toBigInt()); + expect(u8FromBigint.toBigInt()).toBe(u8FromString.toBigInt()); + }); + + test('should handle string-to-bigint-to-string round trips', () => { + const originalValue = 200; + const u8 = new CairoUint8(originalValue); + const bigintValue = u8.toBigInt(); + const newU8 = new CairoUint8(bigintValue); + + expect(newU8.toBigInt()).toBe(BigInt(originalValue)); + expect(newU8.data).toBe(u8.data); + }); + }); +}); diff --git a/__tests__/utils/cairoDataTypes/CairoUint96.test.ts b/__tests__/utils/cairoDataTypes/CairoUint96.test.ts new file mode 100644 index 000000000..0d2b30fc4 --- /dev/null +++ b/__tests__/utils/cairoDataTypes/CairoUint96.test.ts @@ -0,0 +1,434 @@ +import { CairoUint96 } from '../../../src'; + +describe('CairoUint96 class Unit Tests', () => { + describe('constructor with different input types', () => { + test('should handle number input', () => { + const u96 = new CairoUint96(42); + expect(u96.data).toBe(42n); + }); + + test('should handle bigint input', () => { + const u96 = new CairoUint96(123n); + expect(u96.data).toBe(123n); + }); + + test('should handle zero values', () => { + const u96FromNumber = new CairoUint96(0); + const u96FromBigint = new CairoUint96(0n); + + expect(u96FromNumber.data).toBe(0n); + expect(u96FromBigint.data).toBe(0n); + }); + + test('should handle maximum u96 value', () => { + const maxU96 = 2n ** 96n - 1n; + const u96 = new CairoUint96(maxU96); + expect(u96.data).toBe(maxU96); + }); + + test('should handle large values', () => { + const largeValue = 2n ** 80n; + const u96 = new CairoUint96(largeValue); + expect(u96.data).toBe(largeValue); + }); + + test('should convert number to bigint internally', () => { + const u96 = new CairoUint96(1000000); + expect(typeof u96.data).toBe('bigint'); + expect(u96.data).toBe(1000000n); + }); + }); + + describe('validation', () => { + test('should accept valid u96 values', () => { + expect(() => new CairoUint96(0)).not.toThrow(); + expect(() => new CairoUint96(1000000)).not.toThrow(); + expect(() => new CairoUint96(2n ** 64n)).not.toThrow(); + expect(() => new CairoUint96('1000000')).not.toThrow(); + expect(() => new CairoUint96(1000000n)).not.toThrow(); + }); + + test('should reject negative values', () => { + expect(() => new CairoUint96(-1)).toThrow( + 'Value is out of u96 range [0, 79228162514264337593543950335]' + ); + expect(() => new CairoUint96(-100n)).toThrow( + 'Value is out of u96 range [0, 79228162514264337593543950335]' + ); + }); + + test('should reject values greater than 79228162514264337593543950335', () => { + const overMax = 2n ** 96n; + expect(() => new CairoUint96(overMax)).toThrow( + 'Value is out of u96 range [0, 79228162514264337593543950335]' + ); + expect(() => new CairoUint96(overMax + 1n)).toThrow( + 'Value is out of u96 range [0, 79228162514264337593543950335]' + ); + }); + + test('should handle valid string inputs correctly', () => { + const u96FromDecString = new CairoUint96('1000000'); + const u96FromHexString = new CairoUint96('0xffffffff'); + + expect(u96FromDecString.data).toBe(1000000n); + expect(u96FromHexString.data).toBe(0xffffffffn); + }); + + test('should accept text strings and convert via UTF-8 encoding', () => { + const u96FromChar = new CairoUint96('A'); + expect(u96FromChar.data).toBe(65n); // ASCII value of 'A' + }); + + test('should handle edge cases and invalid inputs', () => { + expect(() => CairoUint96.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoUint96.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoUint96.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoUint96.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + + test('should reject decimal numbers', () => { + expect(() => new CairoUint96(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + expect(() => new CairoUint96(1.1)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + }); + + describe('toBigInt method', () => { + test('should return the stored bigint value', () => { + const values = [0, 1, 1000000, 2147483647, Number.MAX_SAFE_INTEGER]; + values.forEach((val) => { + const u96 = new CairoUint96(val); + expect(u96.toBigInt()).toBe(BigInt(val)); + }); + }); + + test('should handle zero', () => { + const u96 = new CairoUint96(0); + expect(u96.toBigInt()).toBe(0n); + }); + + test('should handle maximum u96 value', () => { + const maxU96 = 2n ** 96n - 1n; + const u96 = new CairoUint96(maxU96); + expect(u96.toBigInt()).toBe(maxU96); + }); + + test('should handle large values', () => { + const largeValue = 2n ** 80n; + const u96 = new CairoUint96(largeValue); + expect(u96.toBigInt()).toBe(largeValue); + }); + }); + + describe('toHexString method', () => { + test('should convert zero to hex', () => { + const u96 = new CairoUint96(0); + expect(u96.toHexString()).toBe('0x0'); + }); + + test('should convert small numbers to hex', () => { + const u96 = new CairoUint96(255); + expect(u96.toHexString()).toBe('0xff'); + }); + + test('should convert medium numbers to hex', () => { + const u96 = new CairoUint96(1000000); + expect(u96.toHexString()).toBe('0xf4240'); + }); + + test('should convert large numbers to hex', () => { + const u96 = new CairoUint96(0xffffffffffffffffn); + expect(u96.toHexString()).toBe('0xffffffffffffffff'); + }); + + test('should convert maximum u96 value to hex', () => { + const maxU96 = 2n ** 96n - 1n; + const u96 = new CairoUint96(maxU96); + expect(u96.toHexString()).toBe('0xffffffffffffffffffffffff'); + }); + + test('should handle bigint input', () => { + const u96 = new CairoUint96(0x123456789abcdef0123456n); + expect(u96.toHexString()).toBe('0x123456789abcdef0123456'); + }); + }); + + describe('decodeUtf8 method', () => { + test('should decode single byte values to Unicode', () => { + const u96A = new CairoUint96(65); // 'A' + const u96Z = new CairoUint96(90); // 'Z' + const u96Zero = new CairoUint96(48); // '0' + + expect(u96A.decodeUtf8()).toBe('A'); + expect(u96Z.decodeUtf8()).toBe('Z'); + expect(u96Zero.decodeUtf8()).toBe('0'); + }); + + test('should convert zero to null character', () => { + const u96 = new CairoUint96(0); + expect(u96.decodeUtf8()).toBe('\0'); + }); + + test('should handle special ASCII characters', () => { + const u96Space = new CairoUint96(32); // ' ' + const u96Exclamation = new CairoUint96(33); // '!' + const u96AtSign = new CairoUint96(64); // '@' + + expect(u96Space.decodeUtf8()).toBe(' '); + expect(u96Exclamation.decodeUtf8()).toBe('!'); + expect(u96AtSign.decodeUtf8()).toBe('@'); + }); + }); + + describe('toApiRequest method', () => { + test('should return hex string array for zero', () => { + const u96 = new CairoUint96(0); + const result = u96.toApiRequest(); + expect(result).toEqual(['0x0']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for small numbers', () => { + const u96 = new CairoUint96(42); + const result = u96.toApiRequest(); + expect(result).toEqual(['0x2a']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should return hex string array for large numbers', () => { + const maxU96 = 2n ** 96n - 1n; + const u96 = new CairoUint96(maxU96); + const result = u96.toApiRequest(); + expect(result).toEqual(['0xffffffffffffffffffffffff']); + expect(result).toHaveProperty('__compiled__', true); + }); + + test('should handle bigint input', () => { + const u96 = new CairoUint96(0x123456789abcdef0123456n); + const result = u96.toApiRequest(); + expect(result).toEqual(['0x123456789abcdef0123456']); + expect(result).toHaveProperty('__compiled__', true); + }); + }); + + describe('validate static method', () => { + test('should validate correct number inputs', () => { + expect(() => CairoUint96.validate(0)).not.toThrow(); + expect(() => CairoUint96.validate(1000000)).not.toThrow(); + expect(() => CairoUint96.validate(Number.MAX_SAFE_INTEGER)).not.toThrow(); + }); + + test('should validate correct bigint inputs', () => { + expect(() => CairoUint96.validate(0n)).not.toThrow(); + expect(() => CairoUint96.validate(1000000n)).not.toThrow(); + expect(() => CairoUint96.validate(2n ** 96n - 1n)).not.toThrow(); + }); + + test('should reject invalid types', () => { + expect(() => CairoUint96.validate(null as any)).toThrow('Invalid input: null or undefined'); + expect(() => CairoUint96.validate(undefined as any)).toThrow( + 'Invalid input: null or undefined' + ); + expect(() => CairoUint96.validate({} as any)).toThrow( + 'Invalid input: objects are not supported' + ); + expect(() => CairoUint96.validate([] as any)).toThrow( + 'Invalid input: objects are not supported' + ); + }); + + test('should reject negative values', () => { + expect(() => CairoUint96.validate(-1)).toThrow( + 'Value is out of u96 range [0, 79228162514264337593543950335]' + ); + expect(() => CairoUint96.validate(-100n)).toThrow( + 'Value is out of u96 range [0, 79228162514264337593543950335]' + ); + }); + + test('should reject values exceeding u96 range', () => { + expect(() => CairoUint96.validate(2n ** 96n)).toThrow( + 'Value is out of u96 range [0, 79228162514264337593543950335]' + ); + expect(() => CairoUint96.validate(2n ** 96n + 1n)).toThrow( + 'Value is out of u96 range [0, 79228162514264337593543950335]' + ); + }); + + test('should reject decimal numbers', () => { + expect(() => CairoUint96.validate(42.5)).toThrow( + 'Invalid input: decimal numbers are not supported, only integers' + ); + }); + }); + + describe('is static method', () => { + test('should return true for valid inputs', () => { + expect(CairoUint96.is(0)).toBe(true); + expect(CairoUint96.is(1000000)).toBe(true); + expect(CairoUint96.is(2n ** 64n)).toBe(true); + expect(CairoUint96.is(1000000n)).toBe(true); + expect(CairoUint96.is('1000000')).toBe(true); + }); + + test('should return false for invalid inputs', () => { + expect(CairoUint96.is(-1)).toBe(false); + expect(CairoUint96.is(2n ** 96n)).toBe(false); + expect(CairoUint96.is(null as any)).toBe(false); + expect(CairoUint96.is(undefined as any)).toBe(false); + expect(CairoUint96.is({} as any)).toBe(false); + expect(CairoUint96.is(42.5)).toBe(false); + }); + }); + + describe('isAbiType static method', () => { + test('should identify correct ABI type', () => { + expect(CairoUint96.isAbiType('core::integer::u96')).toBe(true); + expect(CairoUint96.isAbiType('core::integer::u64')).toBe(false); + expect(CairoUint96.isAbiType('core::integer::u128')).toBe(false); + expect(CairoUint96.isAbiType('felt252')).toBe(false); + }); + }); + + describe('edge cases and consistency checks', () => { + test('should handle boundary values correctly', () => { + const minU96 = new CairoUint96(0); + const maxU96 = new CairoUint96(2n ** 96n - 1n); + + expect(minU96.data).toBe(0n); + expect(maxU96.data).toBe(2n ** 96n - 1n); + expect(minU96.toBigInt()).toBe(0n); + expect(maxU96.toBigInt()).toBe(2n ** 96n - 1n); + }); + + test('should maintain consistency across methods', () => { + const values = [0, 1, 1000000, 4294967295]; // Test values within safe integer range + values.forEach((val) => { + const u96 = new CairoUint96(val); + const bigintVal = u96.toBigInt(); + const hexVal = u96.toHexString(); + const apiRequest = u96.toApiRequest(); + + expect(bigintVal).toBe(BigInt(val)); + expect(hexVal).toBe(`0x${val.toString(16)}`); + expect(apiRequest[0]).toBe(hexVal); + }); + }); + + test('should handle number and bigint inputs consistently', () => { + const testValues = [0, 100, 1000000, 2147483647]; + testValues.forEach((val) => { + const u96FromNumber = new CairoUint96(val); + const u96FromBigint = new CairoUint96(BigInt(val)); + + expect(u96FromNumber.data).toBe(u96FromBigint.data); + expect(u96FromNumber.toBigInt()).toBe(u96FromBigint.toBigInt()); + expect(u96FromNumber.toHexString()).toBe(u96FromBigint.toHexString()); + }); + }); + + test('should preserve exact values without precision loss', () => { + const maxU96 = 2n ** 96n - 1n; + const u96 = new CairoUint96(maxU96); + expect(u96.toBigInt()).toBe(maxU96); + }); + }); + + describe('factoryFromApiResponse method', () => { + test('should create CairoUint96 from API response iterator', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0xf4240', done: false }), + }; + const u96 = CairoUint96.factoryFromApiResponse(mockIterator as any); + expect(u96.data).toBe(0xf4240n); + }); + + test('should handle hex string from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '0xffffffffffffffffffffffff', done: false }), + }; + const u96 = CairoUint96.factoryFromApiResponse(mockIterator as any); + expect(u96.data).toBe(2n ** 96n - 1n); + }); + + test('should handle large values from API response', () => { + const mockIterator = { + next: jest.fn().mockReturnValue({ value: '79228162514264337593543950335', done: false }), + }; + const u96 = CairoUint96.factoryFromApiResponse(mockIterator as any); + expect(u96.data).toBe(2n ** 96n - 1n); + }); + }); + + describe('round-trip consistency', () => { + test('should maintain consistency between constructor types', () => { + const testValue = 1000000; + const u96FromNumber = new CairoUint96(testValue); + const u96FromBigint = new CairoUint96(BigInt(testValue)); + const u96FromString = new CairoUint96(testValue.toString()); + + expect(u96FromNumber.toBigInt()).toBe(u96FromBigint.toBigInt()); + expect(u96FromNumber.toBigInt()).toBe(u96FromString.toBigInt()); + expect(u96FromBigint.toBigInt()).toBe(u96FromString.toBigInt()); + }); + + test('should handle string-to-bigint-to-string round trips', () => { + const originalValue = 1000000; + const u96 = new CairoUint96(originalValue); + const bigintValue = u96.toBigInt(); + const newU96 = new CairoUint96(bigintValue); + + expect(newU96.toBigInt()).toBe(BigInt(originalValue)); + expect(newU96.data).toBe(u96.data); + }); + }); + + describe('very large number handling', () => { + test('should handle values much larger than u64 range', () => { + const veryLargeValue = 2n ** 95n; + const u96 = new CairoUint96(veryLargeValue); + expect(u96.toBigInt()).toBe(veryLargeValue); + expect(u96.toHexString()).toBe(`0x${veryLargeValue.toString(16)}`); + }); + + test('should handle powers of 2 correctly', () => { + const powersOf2 = [2n ** 64n, 2n ** 72n, 2n ** 80n, 2n ** 88n, 2n ** 95n]; + powersOf2.forEach((power) => { + const u96 = new CairoUint96(power); + expect(u96.toBigInt()).toBe(power); + }); + }); + + test('should handle hex representations of large numbers', () => { + const hexValue = '0x123456789abcdef012345678'; // Valid u96 value + const u96 = new CairoUint96(hexValue); + expect(u96.toHexString().toLowerCase()).toBe(hexValue.toLowerCase()); + }); + }); + + describe('comparison with u64 behavior', () => { + test('should handle all u64 values correctly', () => { + const maxU64 = 2n ** 64n - 1n; + const u96 = new CairoUint96(maxU64); + expect(u96.toBigInt()).toBe(maxU64); + expect(u96.data).toBe(maxU64); + }); + + test('should handle values just above u64 range', () => { + const justAboveU64 = 2n ** 64n; + const u96 = new CairoUint96(justAboveU64); + expect(u96.toBigInt()).toBe(justAboveU64); + expect(u96.data).toBe(justAboveU64); + }); + }); +}); diff --git a/__tests__/utils/calldata/cairo.test.ts b/__tests__/utils/calldata/cairo.test.ts index 8e42bcee9..0e5f06a27 100644 --- a/__tests__/utils/calldata/cairo.test.ts +++ b/__tests__/utils/calldata/cairo.test.ts @@ -16,8 +16,6 @@ import { isTypeBool, isTypeContractAddress, isTypeEthAddress, - isTypeBytes31, - isTypeByteArray, isTypeSecp256k1Point, isCairo1Type, getArrayType, @@ -28,7 +26,14 @@ import { felt, isTypeU96, } from '../../../src/utils/calldata/cairo'; -import { ETH_ADDRESS, Literal, Uint, type ContractVersion, NON_ZERO_PREFIX } from '../../../src'; +import { + ETH_ADDRESS, + Literal, + Uint, + type ContractVersion, + NON_ZERO_PREFIX, + CairoByteArray, +} from '../../../src'; import { getFunctionAbi, getAbiEnums, @@ -36,6 +41,7 @@ import { getInterfaceAbi, getConstructorAbi, } from '../../factories/abi'; +import { CairoBytes31 } from '../../../src/utils/cairoDataTypes/bytes31'; describe('isLen', () => { test('should return true if name ends with "_len"', () => { @@ -197,21 +203,21 @@ describe('isTypeEthAddress', () => { describe('isTypeBytes31', () => { test('should return true if given type is Bytes31', () => { - expect(isTypeBytes31('core::bytes_31::bytes31')).toEqual(true); + expect(CairoBytes31.isAbiType('core::bytes_31::bytes31')).toEqual(true); }); test('should return false if given type is not Bytes31', () => { - expect(isTypeBytes31('core::bool')).toEqual(false); + expect(CairoBytes31.isAbiType('core::bool')).toEqual(false); }); }); describe('isTypeByteArray', () => { test('should return true if given type is ByteArray', () => { - expect(isTypeByteArray('core::byte_array::ByteArray')).toEqual(true); + expect(CairoByteArray.isAbiType('core::byte_array::ByteArray')).toEqual(true); }); test('should return false if given type is not ByteArray', () => { - expect(isTypeByteArray('core::bool')).toEqual(false); + expect(CairoByteArray.isAbiType('core::bool')).toEqual(false); }); }); diff --git a/__tests__/utils/calldata/requestParser.test.ts b/__tests__/utils/calldata/requestParser.test.ts index 49ddbe3ef..76b12bcaf 100644 --- a/__tests__/utils/calldata/requestParser.test.ts +++ b/__tests__/utils/calldata/requestParser.test.ts @@ -1,6 +1,7 @@ import { parseCalldataField } from '../../../src/utils/calldata/requestParser'; import { getAbiEnums, getAbiStructs, getAbiEntry } from '../../factories/abi'; import { + AbiParser1, CairoCustomEnum, CairoOption, CairoResult, @@ -13,108 +14,117 @@ describe('requestParser', () => { test('should return parsed calldata field for base type', () => { const args = [256n, 128n]; const argsIterator = args[Symbol.iterator](); - const parsedField = parseCalldataField( + const parsedField = parseCalldataField({ argsIterator, - getAbiEntry('felt'), - getAbiStructs(), - getAbiEnums() - ); + input: getAbiEntry('felt'), + structs: getAbiStructs(), + enums: getAbiEnums(), + parser: new AbiParser1([getAbiEntry('felt')]), + }); expect(parsedField).toEqual('256'); }); test('should return parsed calldata field for Array type', () => { const args = [[256n, 128n]]; const argsIterator = args[Symbol.iterator](); - const parsedField = parseCalldataField( + const parsedField = parseCalldataField({ argsIterator, - getAbiEntry('core::array::Array::'), - getAbiStructs(), - getAbiEnums() - ); + input: getAbiEntry('core::array::Array::'), + structs: getAbiStructs(), + enums: getAbiEnums(), + parser: new AbiParser1([getAbiEntry('core::array::Array::')]), + }); expect(parsedField).toEqual(['2', '256', '128']); }); test('should return parsed calldata field for Array type(string input)', () => { const args = ['some_test_value']; const argsIterator = args[Symbol.iterator](); - const parsedField = parseCalldataField( + const parsedField = parseCalldataField({ argsIterator, - getAbiEntry('core::array::Array::'), - getAbiStructs(), - getAbiEnums() - ); + input: getAbiEntry('core::array::Array::'), + structs: getAbiStructs(), + enums: getAbiEnums(), + parser: new AbiParser1([getAbiEntry('core::array::Array::')]), + }); expect(parsedField).toEqual(['1', '599374153440608178282648329058547045']); }); test('should return parsed calldata field for NonZero type', () => { const args = [true]; const argsIterator = args[Symbol.iterator](); - const parsedField = parseCalldataField( + const parsedField = parseCalldataField({ argsIterator, - getAbiEntry(`${NON_ZERO_PREFIX}core::bool`), - getAbiStructs(), - getAbiEnums() - ); + input: getAbiEntry(`${NON_ZERO_PREFIX}core::bool`), + structs: getAbiStructs(), + enums: getAbiEnums(), + parser: new AbiParser1([getAbiEntry(`${NON_ZERO_PREFIX}core::bool`)]), + }); expect(parsedField).toEqual('1'); }); test('should return parsed calldata field for EthAddress type', () => { const args = ['test']; const argsIterator = args[Symbol.iterator](); - const parsedField = parseCalldataField( + const parsedField = parseCalldataField({ argsIterator, - getAbiEntry(`${ETH_ADDRESS}felt`), - getAbiStructs(), - getAbiEnums() - ); + input: getAbiEntry(`${ETH_ADDRESS}felt`), + structs: getAbiStructs(), + enums: getAbiEnums(), + parser: new AbiParser1([getAbiEntry(`${ETH_ADDRESS}felt`)]), + }); expect(parsedField).toEqual('1952805748'); }); test('should return parsed calldata field for Struct type', () => { const args = [{ test_name: 'test' }]; const argsIterator = args[Symbol.iterator](); - const parsedField = parseCalldataField( + const parsedField = parseCalldataField({ argsIterator, - getAbiEntry('struct'), - getAbiStructs(), - getAbiEnums() - ); + input: getAbiEntry('struct'), + structs: getAbiStructs(), + enums: getAbiEnums(), + parser: new AbiParser1([getAbiEntry('struct')]), + }); expect(parsedField).toEqual(['1952805748']); }); test('should return parsed calldata field for Tuple type', () => { const args = [{ min: true, max: true }]; const argsIterator = args[Symbol.iterator](); - const parsedField = parseCalldataField( + const parsedField = parseCalldataField({ argsIterator, - getAbiEntry('(core::bool, core::bool)'), - getAbiStructs(), - getAbiEnums() - ); + input: getAbiEntry('(core::bool, core::bool)'), + structs: getAbiStructs(), + enums: getAbiEnums(), + parser: new AbiParser1([getAbiEntry('(core::bool, core::bool)')]), + }); expect(parsedField).toEqual(['1', '1']); }); test('should return parsed calldata field for CairoUint256 abi type', () => { const args = [252n]; const argsIterator = args[Symbol.iterator](); - const parsedField = parseCalldataField( + const parsedField = parseCalldataField({ argsIterator, - getAbiEntry('core::integer::u256'), - getAbiStructs(), - getAbiEnums() - ); + input: getAbiEntry('core::integer::u256'), + structs: getAbiStructs(), + enums: getAbiEnums(), + parser: new AbiParser1([getAbiEntry('core::integer::u256')]), + }); expect(parsedField).toEqual(['252', '0']); }); test('should return parsed calldata field for Enum Option type None', () => { const args = [new CairoOption(1, 'content')]; const argsIterator = args[Symbol.iterator](); - const parsedField = parseCalldataField( + const parsedField = parseCalldataField({ argsIterator, - getAbiEntry('core::option::Option::core::bool'), - getAbiStructs(), - { 'core::option::Option::core::bool': getAbiEnums().enum } - ); + input: getAbiEntry('core::option::Option::core::bool'), + structs: getAbiStructs(), + enums: { 'core::option::Option::core::bool': getAbiEnums().enum }, + parser: new AbiParser1([getAbiEntry('core::option::Option::core::bool')]), + }); expect(parsedField).toEqual('1'); }); @@ -127,12 +137,13 @@ describe('requestParser', () => { type: 'cairo_struct_variant', offset: 1, }); - const parsedField = parseCalldataField( + const parsedField = parseCalldataField({ argsIterator, - getAbiEntry('core::option::Option::core::bool'), - getAbiStructs(), - { 'core::option::Option::core::bool': abiEnum } - ); + input: getAbiEntry('core::option::Option::core::bool'), + structs: getAbiStructs(), + enums: { 'core::option::Option::core::bool': abiEnum }, + parser: new AbiParser1([getAbiEntry('core::option::Option::core::bool')]), + }); expect(parsedField).toEqual(['0', '27988542884245108']); }); @@ -140,12 +151,13 @@ describe('requestParser', () => { const args = [new CairoOption(0, 'content')]; const argsIterator = args[Symbol.iterator](); expect(() => - parseCalldataField( + parseCalldataField({ argsIterator, - getAbiEntry('core::option::Option::core::bool'), - getAbiStructs(), - { 'core::option::Option::core::bool': getAbiEnums().enum } - ) + input: getAbiEntry('core::option::Option::core::bool'), + structs: getAbiStructs(), + enums: { 'core::option::Option::core::bool': getAbiEnums().enum }, + parser: new AbiParser1([getAbiEntry('core::option::Option::core::bool')]), + }) ).toThrow(new Error(`Error in abi : Option has no 'Some' variant.`)); }); @@ -158,12 +170,13 @@ describe('requestParser', () => { type: 'cairo_struct_variant', offset: 1, }); - const parsedField = parseCalldataField( + const parsedField = parseCalldataField({ argsIterator, - getAbiEntry('core::result::Result::core::bool'), - getAbiStructs(), - { 'core::result::Result::core::bool': abiEnum } - ); + input: getAbiEntry('core::result::Result::core::bool'), + structs: getAbiStructs(), + enums: { 'core::result::Result::core::bool': abiEnum }, + parser: new AbiParser1([getAbiEntry('core::result::Result::core::bool')]), + }); expect(parsedField).toEqual(['0', '20331']); }); @@ -171,12 +184,13 @@ describe('requestParser', () => { const args = [new CairoResult(0, 'Ok')]; const argsIterator = args[Symbol.iterator](); expect(() => - parseCalldataField( + parseCalldataField({ argsIterator, - getAbiEntry('core::result::Result::core::bool'), - getAbiStructs(), - { 'core::result::Result::core::bool': getAbiEnums().enum } - ) + input: getAbiEntry('core::result::Result::core::bool'), + structs: getAbiStructs(), + enums: { 'core::result::Result::core::bool': getAbiEnums().enum }, + parser: new AbiParser1([getAbiEntry('core::result::Result::core::bool')]), + }) ).toThrow(new Error(`Error in abi : Result has no 'Ok' variant.`)); }); @@ -190,8 +204,12 @@ describe('requestParser', () => { type: 'cairo_struct_variant', offset: 1, }); - const parsedField = parseCalldataField(argsIterator, getAbiEntry('enum'), getAbiStructs(), { - enum: abiEnum, + const parsedField = parseCalldataField({ + argsIterator, + input: getAbiEntry('enum'), + structs: getAbiStructs(), + enums: { enum: abiEnum }, + parser: new AbiParser1([getAbiEntry('enum')]), }); expect(parsedField).toEqual(['1', '27988542884245108']); }); @@ -200,7 +218,13 @@ describe('requestParser', () => { const args = [new CairoCustomEnum({ test: 'content' })]; const argsIterator = args[Symbol.iterator](); expect(() => - parseCalldataField(argsIterator, getAbiEntry('enum'), getAbiStructs(), getAbiEnums()) + parseCalldataField({ + argsIterator, + input: getAbiEntry('enum'), + structs: getAbiStructs(), + enums: getAbiEnums(), + parser: new AbiParser1([getAbiEntry('enum')]), + }) ).toThrow(new Error(`Not find in abi : Enum has no 'test' variant.`)); }); @@ -208,25 +232,31 @@ describe('requestParser', () => { const args = ['test']; const argsIterator = args[Symbol.iterator](); expect(() => - parseCalldataField( + parseCalldataField({ argsIterator, - getAbiEntry('core::integer::u256'), - getAbiStructs(), - getAbiEnums() + input: getAbiEntry('core::integer::u256'), + structs: getAbiStructs(), + enums: getAbiEnums(), + parser: new AbiParser1([getAbiEntry('core::integer::u256')]), + }) + ).toThrow( + new Error( + "Unsupported data type 'string' for u256. Expected string, number, bigint, or Uint256 object" ) - ).toThrow(new Error('Cannot convert test to a BigInt')); + ); }); test('should throw an error if provided tuple size do not match', () => { const args = [{ min: true }, { max: true }]; const argsIterator = args[Symbol.iterator](); expect(() => - parseCalldataField( + parseCalldataField({ argsIterator, - getAbiEntry('(core::bool, core::bool)'), - getAbiStructs(), - getAbiEnums() - ) + input: getAbiEntry('(core::bool, core::bool)'), + structs: getAbiStructs(), + enums: getAbiEnums(), + parser: new AbiParser1([getAbiEntry('(core::bool, core::bool)')]), + }) ).toThrow( new Error( `ParseTuple: provided and expected abi tuple size do not match. @@ -240,7 +270,13 @@ describe('requestParser', () => { const args = ['test']; const argsIterator = args[Symbol.iterator](); expect(() => - parseCalldataField(argsIterator, getAbiEntry('struct'), getAbiStructs(), getAbiEnums()) + parseCalldataField({ + argsIterator, + input: getAbiEntry('struct'), + structs: getAbiStructs(), + enums: getAbiEnums(), + parser: new AbiParser1([getAbiEntry('struct')]), + }) ).toThrow(new Error('Missing parameter for type test_type')); }); @@ -248,12 +284,13 @@ describe('requestParser', () => { const args = [256n, 128n]; const argsIterator = args[Symbol.iterator](); expect(() => - parseCalldataField( + parseCalldataField({ argsIterator, - getAbiEntry('core::array::Array::'), - getAbiStructs(), - getAbiEnums() - ) + input: getAbiEntry('core::array::Array::'), + structs: getAbiStructs(), + enums: getAbiEnums(), + parser: new AbiParser1([getAbiEntry('core::array::Array::')]), + }) ).toThrow(new Error('ABI expected parameter test to be array or long string, got 256')); }); }); diff --git a/__tests__/utils/calldata/validate.test.ts b/__tests__/utils/calldata/validate.test.ts index 3110e4d3e..ef86d190c 100644 --- a/__tests__/utils/calldata/validate.test.ts +++ b/__tests__/utils/calldata/validate.test.ts @@ -63,37 +63,6 @@ describe('validateFields', () => { ); expect(result).toBeUndefined(); }); - - test('should throw an error if parameter is not the type of string', () => { - const validateBytes31 = (params: unknown[]) => - validateFields( - getFunctionAbi('core::bytes_31::bytes31'), - params, - getAbiStructs(), - getAbiEnums() - ); - - const error = new Error('Validate: arg test should be a string.'); - - expect(() => validateBytes31([0, BigInt(22), new Map(), true, Symbol('test')])).toThrow( - error - ); - }); - - test('should throw an error if parameter is less than 32 chars', () => { - const validateBytes31 = (params: unknown[]) => - validateFields( - getFunctionAbi('core::bytes_31::bytes31'), - params, - getAbiStructs(), - getAbiEnums() - ); - - const error = new Error( - 'Validate: arg test cairo typed core::bytes_31::bytes31 should be a string of less than 32 characters.' - ); - expect(() => validateBytes31(['String_that_is_bigger_than_32_characters'])).toThrow(error); - }); }); describe('Uint validation', () => { @@ -366,20 +335,6 @@ describe('validateFields', () => { ); expect(result).toBeUndefined(); }); - - test('should throw an error if byte array validation fails', () => { - const validateByteArray = (params: unknown[]) => - validateFields( - getFunctionAbi('core::byte_array::ByteArray'), - params, - getAbiStructs(), - getAbiEnums() - ); - - const error = new Error(`Validate: arg test should be a string.`); - - expect(() => validateByteArray([false, 0, {}, new Map(), Symbol('test')])).toThrow(error); - }); }); describe('Tuple validation', () => { diff --git a/__tests__/utils/classHashBlake.test.ts b/__tests__/utils/classHashBlake.test.ts new file mode 100644 index 000000000..1fa7b172a --- /dev/null +++ b/__tests__/utils/classHashBlake.test.ts @@ -0,0 +1,370 @@ +import { blake2s } from 'blakejs'; +import { blake2s as blake2sNapi } from '@napi-rs/blake-hash'; +import { config, hash } from '../../src'; +import { contracts } from '../config/fixtures'; + +// Helper to print without Jest annotations +const print = (message: string) => process.stdout.write(`${message}\n`); + +describe('Blake2s Compiled Class Hash Tests', () => { + describe('Default implementation Cross-validation with Rust', () => { + test('Rust test_contract.casm - Blake2s hash matches expected value', () => { + // This is the exact test contract used in the Rust sequencer tests + // Source: /sequencer/crates/blockifier_test_utils/resources/feature_contracts/cairo1/compiled/test_contract.casm.json + const { casm } = contracts.Blake2sVerificationContract; + + const blake2sHash = hash.computeCompiledClassHashBlake(casm); + + // Expected hash from Rust test: + // Source: /sequencer/crates/starknet_os/src/hints/hint_implementation/compiled_class/compiled_class_test.rs:60 + // EXPECTED_V2_HASH = "2689583419938872958442025345786838859037300790815341992713990941323459178113" + const expectedBlake2sHash = + '0x5f24011a3e6e287472f502666e474891655b77e333524830412b0d5988e2e81'; + + expect(blake2sHash).toBe(expectedBlake2sHash); + }); + + test('Rust test_contract.casm - Poseidon hash for comparison', () => { + const { casm } = contracts.Blake2sVerificationContract; + + const poseidonHash = hash.computeCompiledClassHash(casm); + + // Expected Poseidon hash from Rust test (for reference): + // EXPECTED_V1_HASH = "2245949284953925157128824309232222003190483648336643262590914808143560524294" + const expectedPoseidonHash = + '0x4f7298904d21e4f3d90898687f3eae693ad915c5167068568b6c6b265c74206'; + + expect(poseidonHash).toBe(expectedPoseidonHash); + }); + + test('Rust test_contract.casm - Blake2s differs from Poseidon', () => { + const { casm } = contracts.Blake2sVerificationContract; + + const blake2sHash = hash.computeCompiledClassHashBlake(casm); + const poseidonHash = hash.computeCompiledClassHash(casm); + + expect(blake2sHash).not.toBe(poseidonHash); + }); + }); + + describe('Custom blakejs implementation Cross-validation', () => { + config.set('blake', (uint8Array: Uint8Array) => { + return blake2s(uint8Array, undefined, 32); + }); + test('Rust test_contract.casm - Blake2s hash matches expected value', () => { + // This is the exact test contract used in the Rust sequencer tests + // Source: /sequencer/crates/blockifier_test_utils/resources/feature_contracts/cairo1/compiled/test_contract.casm.json + const { casm } = contracts.Blake2sVerificationContract; + + const blake2sHash = hash.computeCompiledClassHashBlake(casm); + + // Expected hash from Rust test: + // Source: /sequencer/crates/starknet_os/src/hints/hint_implementation/compiled_class/compiled_class_test.rs:60 + // EXPECTED_V2_HASH = "2689583419938872958442025345786838859037300790815341992713990941323459178113" + const expectedBlake2sHash = + '0x5f24011a3e6e287472f502666e474891655b77e333524830412b0d5988e2e81'; + + expect(blake2sHash).toBe(expectedBlake2sHash); + }); + + test('Rust test_contract.casm - Poseidon hash for comparison', () => { + const { casm } = contracts.Blake2sVerificationContract; + + const poseidonHash = hash.computeCompiledClassHash(casm); + + // Expected Poseidon hash from Rust test (for reference): + // EXPECTED_V1_HASH = "2245949284953925157128824309232222003190483648336643262590914808143560524294" + const expectedPoseidonHash = + '0x4f7298904d21e4f3d90898687f3eae693ad915c5167068568b6c6b265c74206'; + + expect(poseidonHash).toBe(expectedPoseidonHash); + }); + + test('Rust test_contract.casm - Blake2s differs from Poseidon', () => { + const { casm } = contracts.Blake2sVerificationContract; + + const blake2sHash = hash.computeCompiledClassHashBlake(casm); + const poseidonHash = hash.computeCompiledClassHash(casm); + + expect(blake2sHash).not.toBe(poseidonHash); + }); + }); + + describe('Custom Napi implementation Cross-validation', () => { + config.set('blake', (uint8Array: Uint8Array) => { + return blake2sNapi(uint8Array); + }); + test('Rust test_contract.casm - Blake2s hash matches expected value', () => { + // This is the exact test contract used in the Rust sequencer tests + // Source: /sequencer/crates/blockifier_test_utils/resources/feature_contracts/cairo1/compiled/test_contract.casm.json + const { casm } = contracts.Blake2sVerificationContract; + + const blake2sHash = hash.computeCompiledClassHashBlake(casm); + + // Expected hash from Rust test: + // Source: /sequencer/crates/starknet_os/src/hints/hint_implementation/compiled_class/compiled_class_test.rs:60 + // EXPECTED_V2_HASH = "2689583419938872958442025345786838859037300790815341992713990941323459178113" + const expectedBlake2sHash = + '0x5f24011a3e6e287472f502666e474891655b77e333524830412b0d5988e2e81'; + + expect(blake2sHash).toBe(expectedBlake2sHash); + }); + + test('Rust test_contract.casm - Poseidon hash for comparison', () => { + const { casm } = contracts.Blake2sVerificationContract; + + const poseidonHash = hash.computeCompiledClassHash(casm); + + // Expected Poseidon hash from Rust test (for reference): + // EXPECTED_V1_HASH = "2245949284953925157128824309232222003190483648336643262590914808143560524294" + const expectedPoseidonHash = + '0x4f7298904d21e4f3d90898687f3eae693ad915c5167068568b6c6b265c74206'; + + expect(poseidonHash).toBe(expectedPoseidonHash); + }); + + test('Rust test_contract.casm - Blake2s differs from Poseidon', () => { + const { casm } = contracts.Blake2sVerificationContract; + + const blake2sHash = hash.computeCompiledClassHashBlake(casm); + const poseidonHash = hash.computeCompiledClassHash(casm); + + expect(blake2sHash).not.toBe(poseidonHash); + }); + }); + + describe('Basic functionality', () => { + test('Hello Cairo2.6.0 - CompiledClassHash with Blake2s', () => { + const compiledClassHash = hash.computeCompiledClassHashBlake(contracts.C260.casm); + + // This will initially show the computed value for verification + print(`Blake2s hash: ${compiledClassHash}`); + + expect(compiledClassHash).toBeTruthy(); + expect(compiledClassHash).toMatch(/^0x[0-9a-f]+$/); + }); + + test('Hash Sierra - CompiledClassHash with Blake2s', () => { + const compiledClassHash = hash.computeCompiledClassHashBlake(contracts.HashSierra.casm); + + print(`Hash Sierra Blake2s hash: ${compiledClassHash}`); + + expect(compiledClassHash).toBeTruthy(); + expect(compiledClassHash).toMatch(/^0x[0-9a-f]+$/); + }); + + test('Complex Sierra - CompiledClassHash with Blake2s', () => { + const compiledClassHash = hash.computeCompiledClassHashBlake(contracts.Erc20OZ.casm); + + print(`Erc20OZ Blake2s hash: ${compiledClassHash}`); + + expect(compiledClassHash).toBeTruthy(); + expect(compiledClassHash).toMatch(/^0x[0-9a-f]+$/); + }); + }); + + describe('Entry point handling', () => { + test('Contract with constructor', () => { + const compiledClassHash = hash.computeCompiledClassHashBlake(contracts.Erc20OZ.casm); + + expect(compiledClassHash).toBeTruthy(); + expect(compiledClassHash).toMatch(/^0x[0-9a-f]+$/); + }); + + test('Contract without constructor (only constructor)', () => { + const compiledClassHash = hash.computeCompiledClassHashBlake(contracts.OnlyConstructor.casm); + + print(`OnlyConstructor Blake2s hash: ${compiledClassHash}`); + + expect(compiledClassHash).toBeTruthy(); + expect(compiledClassHash).toMatch(/^0x[0-9a-f]+$/); + }); + }); + + describe('Bytecode segment handling', () => { + test('Contract with bytecode segments (Cairo 2.6.0+)', () => { + const { casm } = contracts.C260; + + // Verify it has bytecode segments + expect(casm.bytecode_segment_lengths).toBeDefined(); + + const compiledClassHash = hash.computeCompiledClassHashBlake(casm); + + expect(compiledClassHash).toBeTruthy(); + expect(compiledClassHash).toMatch(/^0x[0-9a-f]+$/); + }); + + test('Contract without bytecode segments (older Cairo)', () => { + const { casm } = contracts.HashSierra; + + // Check if it doesn't have bytecode segments + const hasSegments = casm.bytecode_segment_lengths !== undefined; + print(`HashSierra has bytecode segments: ${hasSegments}`); + + const compiledClassHash = hash.computeCompiledClassHashBlake(casm); + + expect(compiledClassHash).toBeTruthy(); + expect(compiledClassHash).toMatch(/^0x[0-9a-f]+$/); + }); + }); + + describe('Different from Poseidon hash', () => { + test('Blake2s hash should differ from Poseidon hash', () => { + const blake2sHash = hash.computeCompiledClassHashBlake(contracts.C260.casm); + const poseidonHash = hash.computeCompiledClassHash(contracts.C260.casm); + + print(`Blake2s: ${blake2sHash}`); + print(`Poseidon: ${poseidonHash}`); + + // They should be different + expect(blake2sHash).not.toEqual(poseidonHash); + }); + }); + + describe('Performance comparison', () => { + const iterations = 100; + + test('Compare speed: Default vs Custom blakejs vs Napi', () => { + const { casm } = contracts.Blake2sVerificationContract; + + print(`\n${'='.repeat(60)}`); + print('Blake2s Implementation Performance Comparison'); + print(`Running ${iterations} iterations on test contract`); + print('='.repeat(60)); + + // Test 1: Default implementation + config.set('blake', undefined); + const defaultStart = performance.now(); + for (let i = 0; i < iterations; i += 1) { + hash.computeCompiledClassHashBlake(casm); + } + const defaultEnd = performance.now(); + const defaultTime = defaultEnd - defaultStart; + + // Test 2: Custom blakejs implementation + config.set('blake', (uint8Array: Uint8Array) => { + return blake2s(uint8Array, undefined, 32); + }); + const blakejsStart = performance.now(); + for (let i = 0; i < iterations; i += 1) { + hash.computeCompiledClassHashBlake(casm); + } + const blakejsEnd = performance.now(); + const blakejsTime = blakejsEnd - blakejsStart; + + // Test 3: Napi implementation + config.set('blake', (uint8Array: Uint8Array) => { + return blake2sNapi(uint8Array); + }); + const napiStart = performance.now(); + for (let i = 0; i < iterations; i += 1) { + hash.computeCompiledClassHashBlake(casm); + } + const napiEnd = performance.now(); + const napiTime = napiEnd - napiStart; + + // Reset to default + config.set('blake', undefined); + + // Calculate statistics + const fastest = Math.min(defaultTime, blakejsTime, napiTime); + const defaultSpeedup = (defaultTime / fastest).toFixed(2); + const blakejsSpeedup = (blakejsTime / fastest).toFixed(2); + const napiSpeedup = (napiTime / fastest).toFixed(2); + + print('\nResults:'); + print(` Default: ${defaultTime.toFixed(2)}ms (${defaultSpeedup}x)`); + print(` Custom blakejs: ${blakejsTime.toFixed(2)}ms (${blakejsSpeedup}x)`); + print(` Napi: ${napiTime.toFixed(2)}ms (${napiSpeedup}x)`); + print('\nAverage per iteration:'); + print(` Default: ${(defaultTime / iterations).toFixed(3)}ms`); + print(` Custom blakejs: ${(blakejsTime / iterations).toFixed(3)}ms`); + print(` Napi: ${(napiTime / iterations).toFixed(3)}ms`); + print('='.repeat(60)); + + // Verify all implementations produce the same result + config.set('blake', undefined); + const defaultHash = hash.computeCompiledClassHashBlake(casm); + config.set('blake', (uint8Array: Uint8Array) => blake2s(uint8Array, undefined, 32)); + const blakejsHash = hash.computeCompiledClassHashBlake(casm); + config.set('blake', (uint8Array: Uint8Array) => blake2sNapi(uint8Array)); + const napiHash = hash.computeCompiledClassHashBlake(casm); + config.set('blake', undefined); + + expect(defaultHash).toBe(blakejsHash); + expect(defaultHash).toBe(napiHash); + expect(defaultHash).toBe('0x5f24011a3e6e287472f502666e474891655b77e333524830412b0d5988e2e81'); + }); + + test('Performance on complex contract (ERC20)', () => { + const { casm } = contracts.Erc20OZ; + + print(`\n${'='.repeat(60)}`); + print('Complex Contract (ERC20) Performance Comparison'); + print(`Running ${iterations} iterations on ERC20 contract`); + print('='.repeat(60)); + + // Test 1: Default implementation + config.set('blake', undefined); + const defaultStart = performance.now(); + for (let i = 0; i < iterations; i += 1) { + hash.computeCompiledClassHashBlake(casm); + } + const defaultEnd = performance.now(); + const defaultTime = defaultEnd - defaultStart; + + // Test 2: Custom blakejs implementation + config.set('blake', (uint8Array: Uint8Array) => { + return blake2s(uint8Array, undefined, 32); + }); + const blakejsStart = performance.now(); + for (let i = 0; i < iterations; i += 1) { + hash.computeCompiledClassHashBlake(casm); + } + const blakejsEnd = performance.now(); + const blakejsTime = blakejsEnd - blakejsStart; + + // Test 3: Napi implementation + config.set('blake', (uint8Array: Uint8Array) => { + return blake2sNapi(uint8Array); + }); + const napiStart = performance.now(); + for (let i = 0; i < iterations; i += 1) { + hash.computeCompiledClassHashBlake(casm); + } + const napiEnd = performance.now(); + const napiTime = napiEnd - napiStart; + + // Reset to default + config.set('blake', undefined); + + // Calculate statistics + const fastest = Math.min(defaultTime, blakejsTime, napiTime); + const defaultSpeedup = (defaultTime / fastest).toFixed(2); + const blakejsSpeedup = (blakejsTime / fastest).toFixed(2); + const napiSpeedup = (napiTime / fastest).toFixed(2); + + print('\nResults:'); + print(` Default: ${defaultTime.toFixed(2)}ms (${defaultSpeedup}x)`); + print(` Custom blakejs: ${blakejsTime.toFixed(2)}ms (${blakejsSpeedup}x)`); + print(` Napi: ${napiTime.toFixed(2)}ms (${napiSpeedup}x)`); + print('\nAverage per iteration:'); + print(` Default: ${(defaultTime / iterations).toFixed(3)}ms`); + print(` Custom blakejs: ${(blakejsTime / iterations).toFixed(3)}ms`); + print(` Napi: ${(napiTime / iterations).toFixed(3)}ms`); + print('='.repeat(60)); + + // Verify all implementations produce the same result + config.set('blake', undefined); + const defaultHash = hash.computeCompiledClassHashBlake(casm); + config.set('blake', (uint8Array: Uint8Array) => blake2s(uint8Array, undefined, 32)); + const blakejsHash = hash.computeCompiledClassHashBlake(casm); + config.set('blake', (uint8Array: Uint8Array) => blake2sNapi(uint8Array)); + const napiHash = hash.computeCompiledClassHashBlake(casm); + config.set('blake', undefined); + + expect(defaultHash).toBe(blakejsHash); + expect(defaultHash).toBe(napiHash); + }); + }); +}); diff --git a/__tests__/utils/config.test.ts b/__tests__/utils/config.test.ts index 4aa8b6e44..e1c761b67 100644 --- a/__tests__/utils/config.test.ts +++ b/__tests__/utils/config.test.ts @@ -8,7 +8,9 @@ describe('Configuration', () => { describe('Initial Configuration', () => { it('should initialize with default values', () => { - expect(config.get('legacyMode')).toBe(constants.DEFAULT_GLOBAL_CONFIG.legacyMode); + expect(config.get('transactionVersion')).toBe( + constants.DEFAULT_GLOBAL_CONFIG.transactionVersion + ); expect(config.get('logLevel')).toBe(constants.DEFAULT_GLOBAL_CONFIG.logLevel); }); }); @@ -51,8 +53,8 @@ describe('Configuration', () => { describe('getAll()', () => { it('should return a copy of the configuration', () => { const all = config.getAll(); - all.legacyMode = true; // Modify the copy - expect(config.get('legacyMode')).toBe(false); // Original remains unaffected + all.rpcVersion = '0.8.1'; // Modify the copy + expect(config.get('rpcVersion')).toBe('0.9.0'); // Original remains unaffected }); }); diff --git a/__tests__/utils/ellipticalCurve.test.ts b/__tests__/utils/ellipticalCurve.test.ts index b9fd5e303..003498d17 100644 --- a/__tests__/utils/ellipticalCurve.test.ts +++ b/__tests__/utils/ellipticalCurve.test.ts @@ -1,8 +1,5 @@ -import { constants, ec } from '../../src'; -import { StarknetChainId } from '../../src/global/constants'; +import { ec } from '../../src'; import { computeHashOnElements } from '../../src/utils/hash'; -import { calculateTransactionHash } from '../../src/utils/hash/transactionHash/v2'; -import { fromCallsToExecuteCalldata } from '../../src/utils/transaction'; test('getKeyPair()', () => { const privateKey = '0x019800ea6a9a73f94aee6a3d2edf018fc770443e90c7ba121e8303ec6b349279'; @@ -33,7 +30,8 @@ test('computeHashOnElements()', () => { ); }); -test('hashMessage()', () => { +// TODO check this test, it hash message using v1 tx ? +/* test('hashMessage()', () => { const privateKey = '0x019800ea6a9a73f94aee6a3d2edf018fc770443e90c7ba121e8303ec6b349279'; const account = '2007067565103695475819120104515800035851923905855118399071773059478896040938'; const transactions = [ @@ -69,7 +67,7 @@ test('hashMessage()', () => { expect(s.toString()).toMatchInlineSnapshot( `"2521602681140573534692734854765316415611209530542226558354401890884906162365"` ); -}); +}); */ test('verify signed message()', () => { const pk = '0x019800ea6a9a73f94aee6a3d2edf018fc770443e90c7ba121e8303ec6b349279'; diff --git a/__tests__/utils/encode.test.ts b/__tests__/utils/encode.test.ts index a3efb032a..248535cff 100644 --- a/__tests__/utils/encode.test.ts +++ b/__tests__/utils/encode.test.ts @@ -1,5 +1,12 @@ import { encode } from '../../src'; -import { atobUniversal, btoaUniversal } from '../../src/utils/encode'; +import { + atobUniversal, + btoaUniversal, + hexStringToUint8Array, + bigIntToUint8Array, + stringToUint8Array, + uint8ArrayToBigInt, +} from '../../src/utils/encode'; describe('atobUniversal and btoaUniversal functions', () => { test('atobUniversal should decode base64 string to Uint8Array', () => { @@ -42,3 +49,278 @@ describe('concatenateArrayBuffer', () => { expect(result).toEqual(new Uint8Array([128, 0, 10, 85, 71, 65, 233, 201])); }); }); + +describe('hexToUint8Array', () => { + test('should convert hex string with 0x prefix to Uint8Array', () => { + const hex = '0x48656c6c6f'; + const expected = new Uint8Array([72, 101, 108, 108, 111]); // "Hello" in ASCII + const result = hexStringToUint8Array(hex); + expect(result).toEqual(expected); + }); + + test('should convert hex string without 0x prefix to Uint8Array', () => { + const hex = '48656c6c6f'; + const expected = new Uint8Array([72, 101, 108, 108, 111]); // "Hello" in ASCII + const result = hexStringToUint8Array(hex); + expect(result).toEqual(expected); + }); + + test('should handle odd-length hex strings by padding', () => { + const hex = '0x123'; + const expected = new Uint8Array([1, 35]); // Padded to "0123" + const result = hexStringToUint8Array(hex); + expect(result).toEqual(expected); + }); + + test('should handle empty hex string', () => { + const hex = '0x'; + const expected = new Uint8Array([]); + const result = hexStringToUint8Array(hex); + expect(result).toEqual(expected); + }); + + test('should handle single byte hex', () => { + const hex = '0xff'; + const expected = new Uint8Array([255]); + const result = hexStringToUint8Array(hex); + expect(result).toEqual(expected); + }); + + test('should handle large hex values', () => { + const hex = '0xdeadbeefcafe1234'; + const expected = new Uint8Array([222, 173, 190, 239, 202, 254, 18, 52]); + const result = hexStringToUint8Array(hex); + expect(result).toEqual(expected); + }); + + test('should accept valid decimal-looking hex strings', () => { + // '56' is valid hex (equals decimal 86) + const hex = '56'; + const expected = new Uint8Array([86]); + const result = hexStringToUint8Array(hex); + expect(result).toEqual(expected); + }); + + test('should throw error for non-hex characters', () => { + expect(() => hexStringToUint8Array('i am great')).toThrow('Invalid hex string: "i am great"'); + expect(() => hexStringToUint8Array('0xg123')).toThrow('Invalid hex string: "0xg123"'); + expect(() => hexStringToUint8Array('hello')).toThrow('Invalid hex string: "hello"'); + expect(() => hexStringToUint8Array('12z4')).toThrow('Invalid hex string: "12z4"'); + }); +}); + +describe('bigIntToUint8Array', () => { + test('should convert zero bigint to single zero byte', () => { + const value = 0n; + const expected = new Uint8Array([0]); + const result = bigIntToUint8Array(value); + expect(result).toEqual(expected); + }); + + test('should convert small positive bigint to Uint8Array', () => { + const value = 255n; + const expected = new Uint8Array([255]); + const result = bigIntToUint8Array(value); + expect(result).toEqual(expected); + }); + + test('should convert medium bigint to Uint8Array', () => { + const value = 0x1234n; + const expected = new Uint8Array([18, 52]); + const result = bigIntToUint8Array(value); + expect(result).toEqual(expected); + }); + + test('should convert large bigint to Uint8Array', () => { + const value = 0xdeadbeefcafe1234n; + const expected = new Uint8Array([222, 173, 190, 239, 202, 254, 18, 52]); + const result = bigIntToUint8Array(value); + expect(result).toEqual(expected); + }); + + test('should handle odd-length hex representation by padding', () => { + const value = 0x123n; // Hex: 123 -> padded to 0123 + const expected = new Uint8Array([1, 35]); + const result = bigIntToUint8Array(value); + expect(result).toEqual(expected); + }); + + test('should handle very large bigint values', () => { + // Maximum felt252 value is close to 2^251 + const value = 2n ** 250n - 1n; + const result = bigIntToUint8Array(value); + // Should produce a Uint8Array of 32 bytes (256 bits) + expect(result.length).toBeLessThanOrEqual(32); + // Convert back to verify + let reconstructed = 0n; + for (let i = 0; i < result.length; i += 1) { + reconstructed = reconstructed * 256n + BigInt(result[i]); + } + expect(reconstructed).toEqual(value); + }); + + test('should throw error for negative bigint values', () => { + expect(() => bigIntToUint8Array(-1n)).toThrow( + 'Cannot convert negative bigint -1 to Uint8Array' + ); + expect(() => bigIntToUint8Array(-255n)).toThrow( + 'Cannot convert negative bigint -255 to Uint8Array' + ); + expect(() => bigIntToUint8Array(-123456789n)).toThrow( + 'Cannot convert negative bigint -123456789 to Uint8Array' + ); + }); +}); + +describe('stringToUint8Array', () => { + test('should handle hex strings with 0x prefix', () => { + const str = '0x48656c6c6f'; + const expected = new Uint8Array([72, 101, 108, 108, 111]); // "Hello" as hex + const result = stringToUint8Array(str); + expect(result).toEqual(expected); + }); + + test('should handle strings that look like hex but without 0x prefix as text', () => { + const str = 'deadbeef'; + // Without 0x prefix, this is treated as text, not hex + const expected = new TextEncoder().encode(str); + const result = stringToUint8Array(str); + expect(result).toEqual(expected); + }); + + test('should handle decimal strings', () => { + const str = '256'; + const expected = new Uint8Array([1, 0]); // 256 = 0x0100 + const result = stringToUint8Array(str); + expect(result).toEqual(expected); + }); + + test('should handle large decimal strings', () => { + const str = '1234567890'; + const expected = bigIntToUint8Array(1234567890n); + const result = stringToUint8Array(str); + expect(result).toEqual(expected); + }); + + test('should handle text strings with ASCII characters', () => { + const str = 'Hello World'; + const expected = new Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]); + const result = stringToUint8Array(str); + expect(result).toEqual(expected); + }); + + test('should handle text strings with Unicode characters', () => { + const str = 'I am cool ☥'; + // UTF-8 encoding: I=73, space=32, a=97, m=109, space=32, c=99, o=111, o=111, l=108, space=32, ☥=E2 98 A5 + const expected = new Uint8Array([73, 32, 97, 109, 32, 99, 111, 111, 108, 32, 226, 152, 165]); + const result = stringToUint8Array(str); + expect(result).toEqual(expected); + }); + + test('should handle text with mixed content', () => { + const str = 'test123!@#'; + // This will be treated as text since it contains non-hex characters + const expected = new TextEncoder().encode(str); + const result = stringToUint8Array(str); + expect(result).toEqual(expected); + }); + + test('should handle empty string', () => { + const str = ''; + const expected = new Uint8Array([]); + const result = stringToUint8Array(str); + expect(result).toEqual(expected); + }); + + test('should handle zero decimal string', () => { + const str = '0'; + const expected = new Uint8Array([0]); + const result = stringToUint8Array(str); + expect(result).toEqual(expected); + }); + + test('should distinguish hex from decimal when ambiguous', () => { + // '123' could be hex or decimal, but isHex should detect it as hex + // since it contains only hex-valid characters (0-9, a-f) + const str = '123'; + // If detected as hex: 0x123 = 291 decimal + // If detected as decimal: 123 = 0x7B + // Let's check what it actually does + const result = stringToUint8Array(str); + // This depends on how isHex is implemented - if it requires 0x prefix, + // then '123' would be treated as decimal + const expectedAsDecimal = bigIntToUint8Array(123n); + expect(result).toEqual(expectedAsDecimal); + }); +}); + +describe('uint8ArrayToBigInt', () => { + test('should convert single zero byte to 0n', () => { + const data = new Uint8Array([0]); + const result = uint8ArrayToBigInt(data); + expect(result).toBe(0n); + }); + + test('should convert small values correctly', () => { + const data = new Uint8Array([255]); + const result = uint8ArrayToBigInt(data); + expect(result).toBe(255n); + }); + + test('should correctly convert 256n and back', () => { + const value = 256n; + const bn = uint8ArrayToBigInt(bigIntToUint8Array(value)); + expect(bn).toBe(value); // Verify it matches original + }); + + test('should convert multi-byte values correctly', () => { + const data = new Uint8Array([1, 0]); // 256 in big-endian + const result = uint8ArrayToBigInt(data); + expect(result).toBe(256n); + }); + + test('should convert large values correctly', () => { + const data = new Uint8Array([222, 173, 190, 239, 202, 254, 18, 52]); + const result = uint8ArrayToBigInt(data); + expect(result).toBe(0xdeadbeefcafe1234n); + }); + + test('should handle empty array', () => { + const data = new Uint8Array([]); + const result = uint8ArrayToBigInt(data); + expect(result).toBe(0n); + }); + + test('should handle null/undefined input', () => { + expect(uint8ArrayToBigInt(null as any)).toBe(0n); + expect(uint8ArrayToBigInt(undefined as any)).toBe(0n); + }); + + test('should be inverse of bigIntToUint8Array', () => { + const testValues = [0n, 1n, 255n, 256n, 65535n, 0xdeadbeefn, 2n ** 128n - 1n]; + + testValues.forEach((value) => { + const bytes = bigIntToUint8Array(value); + const reconstructed = uint8ArrayToBigInt(bytes); + expect(reconstructed).toBe(value); + }); + }); + + test('should use BIG-ENDIAN byte order', () => { + // Test various values to confirm big-endian encoding + // In big-endian, most significant byte comes first + + // 256 = 0x0100 -> [0x01, 0x00] in big-endian + expect(uint8ArrayToBigInt(new Uint8Array([1, 0]))).toBe(256n); + + // 258 = 0x0102 -> [0x01, 0x02] in big-endian + expect(uint8ArrayToBigInt(new Uint8Array([1, 2]))).toBe(258n); + + // 0xDEADBEEF = 3735928559 -> [0xDE, 0xAD, 0xBE, 0xEF] in big-endian + expect(uint8ArrayToBigInt(new Uint8Array([0xde, 0xad, 0xbe, 0xef]))).toBe(0xdeadbeefn); + + // Verify the reverse direction also uses big-endian + expect(bigIntToUint8Array(256n)).toEqual(new Uint8Array([1, 0])); + expect(bigIntToUint8Array(0xdeadbeefn)).toEqual(new Uint8Array([0xde, 0xad, 0xbe, 0xef])); + }); +}); diff --git a/__tests__/utils/ethSigner.test.ts b/__tests__/utils/ethSigner.test.ts index 35fa43a83..ed31230ae 100644 --- a/__tests__/utils/ethSigner.test.ts +++ b/__tests__/utils/ethSigner.test.ts @@ -18,13 +18,13 @@ import { type DeclareContractPayload, } from '../../src'; import { validateAndParseEthAddress } from '../../src/utils/eth'; +import { contracts, describeIfDevnet } from '../config/fixtures'; import { - contracts, createTestProvider, - describeIfDevnet, getTestAccount, + adaptAccountIfDevnet, STRKtokenAddress, -} from '../config/fixtures'; +} from '../config/fixturesInit'; describe('Ethereum signer', () => { describe('signer', () => { @@ -75,11 +75,11 @@ describe('Ethereum signer', () => { casm: contracts.EthPubk.casm, }); - ethPubKContract = new Contract( - contracts.EthPubk.sierra.abi, - deploy.contract_address, - account - ); + ethPubKContract = new Contract({ + abi: contracts.EthPubk.sierra.abi, + address: deploy.contract_address, + providerOrAccount: account, + }); }); test('secp256k1', async () => { @@ -133,7 +133,13 @@ describe('Ethereum signer', () => { 0 ); - ethAccount = new Account(provider, contractETHAccountAddress, ethSigner); + ethAccount = adaptAccountIfDevnet( + new Account({ + provider, + address: contractETHAccountAddress, + signer: ethSigner, + }) + ); const feeEstimation = await ethAccount.estimateAccountDeployFee({ classHash: decClassHash, addressSalt: salt, @@ -158,24 +164,19 @@ describe('Ethereum signer', () => { { resourceBounds: { l2_gas: { - max_amount: num.toHex(BigInt(feeEstimation.resourceBounds.l2_gas.max_amount) * 20n), - max_price_per_unit: num.toHex( - BigInt(feeEstimation.resourceBounds.l2_gas.max_price_per_unit) * 20n - ), + max_amount: BigInt(feeEstimation.resourceBounds.l2_gas.max_amount) * 20n, + max_price_per_unit: + BigInt(feeEstimation.resourceBounds.l2_gas.max_price_per_unit) * 20n, }, l1_gas: { - max_amount: num.toHex(BigInt(feeEstimation.resourceBounds.l1_gas.max_amount) * 20n), - max_price_per_unit: num.toHex( - BigInt(feeEstimation.resourceBounds.l1_gas.max_price_per_unit) * 20n - ), + max_amount: (BigInt(feeEstimation.resourceBounds.l1_gas.max_amount) + 20n) * 20n, + max_price_per_unit: + BigInt(feeEstimation.resourceBounds.l1_gas.max_price_per_unit) * 20n, }, l1_data_gas: { - max_amount: num.toHex( - BigInt(feeEstimation.resourceBounds.l1_data_gas!.max_amount) * 20n - ), - max_price_per_unit: num.toHex( - BigInt(feeEstimation.resourceBounds.l1_data_gas!.max_price_per_unit) * 20n - ), + max_amount: BigInt(feeEstimation.resourceBounds.l1_data_gas!.max_amount) * 20n, + max_price_per_unit: + BigInt(feeEstimation.resourceBounds.l1_data_gas!.max_price_per_unit) * 20n, }, }, } @@ -185,39 +186,18 @@ describe('Ethereum signer', () => { }); test('ETH account transaction V3', async () => { - const strkContract2 = new Contract( - contracts.Erc20OZ.sierra.abi, - STRKtokenAddress, - ethAccount - ); + const strkContract2 = new Contract({ + abi: contracts.Erc20OZ.sierra.abi, + address: STRKtokenAddress, + providerOrAccount: ethAccount, + }); const txCallData = strkContract2.populate('transfer', [ account.address, cairo.uint256(1 * 10 ** 4), ]); const feeEstimation = await ethAccount.estimateInvokeFee(txCallData, { skipValidate: false }); const respTransfer = await ethAccount.execute(txCallData, { - resourceBounds: { - l2_gas: { - max_amount: num.toHex(BigInt(feeEstimation.resourceBounds.l2_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(feeEstimation.resourceBounds.l2_gas.max_price_per_unit) * 2n - ), - }, - l1_gas: { - max_amount: num.toHex(BigInt(feeEstimation.resourceBounds.l1_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(feeEstimation.resourceBounds.l1_gas.max_price_per_unit) * 2n - ), - }, - l1_data_gas: { - max_amount: num.toHex( - BigInt(feeEstimation.resourceBounds.l1_data_gas!.max_amount) * 2n - ), - max_price_per_unit: num.toHex( - BigInt(feeEstimation.resourceBounds.l1_data_gas!.max_price_per_unit) * 2n - ), - }, - }, + resourceBounds: feeEstimation.resourceBounds, }); const txR = await provider.waitForTransaction(respTransfer.transaction_hash); @@ -246,24 +226,19 @@ describe('Ethereum signer', () => { { resourceBounds: { l2_gas: { - max_amount: num.toHex(BigInt(feeEstimation.resourceBounds.l2_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(feeEstimation.resourceBounds.l2_gas.max_price_per_unit) * 2n - ), + max_amount: BigInt(feeEstimation.resourceBounds.l2_gas.max_amount) * 2n, + max_price_per_unit: + BigInt(feeEstimation.resourceBounds.l2_gas.max_price_per_unit) * 2n, }, l1_gas: { - max_amount: num.toHex(BigInt(feeEstimation.resourceBounds.l1_gas.max_amount) * 2n), - max_price_per_unit: num.toHex( - BigInt(feeEstimation.resourceBounds.l1_gas.max_price_per_unit) * 2n - ), + max_amount: BigInt(feeEstimation.resourceBounds.l1_gas.max_amount) * 2n, + max_price_per_unit: + BigInt(feeEstimation.resourceBounds.l1_gas.max_price_per_unit) * 2n, }, l1_data_gas: { - max_amount: num.toHex( - BigInt(feeEstimation.resourceBounds.l1_data_gas!.max_amount) * 2n - ), - max_price_per_unit: num.toHex( - BigInt(feeEstimation.resourceBounds.l1_data_gas!.max_price_per_unit) * 2n - ), + max_amount: BigInt(feeEstimation.resourceBounds.l1_data_gas!.max_amount) * 2n, + max_price_per_unit: + BigInt(feeEstimation.resourceBounds.l1_data_gas!.max_price_per_unit) * 2n, }, }, } diff --git a/__tests__/utils/events.test.ts b/__tests__/utils/events.test.ts index 2a8dc6be0..15c1f7f41 100644 --- a/__tests__/utils/events.test.ts +++ b/__tests__/utils/events.test.ts @@ -1,14 +1,18 @@ -import type { - AbiEntry, - AbiEnums, - AbiEvent, - AbiStructs, - CairoEventVariant, - InvokeTransactionReceiptResponse, - RPC, +import { + type AbiEntry, + type AbiEnums, + type AbiEvent, + type AbiStructs, + type CairoEventVariant, + type InvokeTransactionReceiptResponse, + type RPC, + events, + legacyDeployer, } from '../../src'; -import { isAbiEvent, getAbiEvents, parseEvents, parseUDCEvent } from '../../src/utils/events'; import { getFunctionAbi, getInterfaceAbi, getAbiEntry } from '../factories/abi'; +import { createAbiParser } from '../../src/utils/calldata/parser'; + +const { isAbiEvent, getAbiEvents, parseEvents } = events; const getBaseTxReceiptData = (): InvokeTransactionReceiptResponse => ({ type: 'INVOKE', @@ -205,7 +209,9 @@ describe('parseEvents', () => { transaction_hash: '0x789', }; - const parsedEvents = parseEvents([event], abiEvents, abiStructs, abiEnums); + const abi = [getInterfaceAbi(), abiCairoEventStruct, abiCairoEventEnum]; + const parser = createAbiParser(abi); + const parsedEvents = parseEvents([event], abiEvents, abiStructs, abiEnums, parser); const result = [ { @@ -290,7 +296,9 @@ describe('parseEvents', () => { transaction_hash: '0x26b160f10156dea0639bec90696772c640b9706a47f5b8c52ea1abe5858b34c', }; - const parsedEvents = parseEvents([event], abiEvents, abiStructs, abiEnums); + const abi = [getInterfaceAbi(), abiCairoEventStruct, abiCairoEventEnum]; + const parser = createAbiParser(abi); + const parsedEvents = parseEvents([event], abiEvents, abiStructs, abiEnums, parser); const result = [ { @@ -376,7 +384,9 @@ describe('parseEvents', () => { }; abiEvents['0x3c719ce4f57dd2d9059b9ffed65417d694a29982d35b188574144d6ae6c3f87'].name = ''; - expect(() => parseEvents([event], abiEvents, abiStructs, abiEnums)).toBeTruthy(); + const abi = [getInterfaceAbi(), abiCairoEventStruct, abiCairoEventEnum]; + const parser = createAbiParser(abi); + expect(() => parseEvents([event], abiEvents, abiStructs, abiEnums, parser)).toBeTruthy(); }); }); @@ -413,7 +423,7 @@ describe('parseUDCEvent', () => { ], }; - const parsedUDCEvent = parseUDCEvent(txReceipt); + const parsedUDCEvent = legacyDeployer.parseDeployerEvent(txReceipt); const result = { transaction_hash: '0x6eebff0d931f36222268705ca791fd0de8d059eaf01887eecf1ce99a6c27f49', contract_address: '0x1f1209f331cda3e84202f5495446028cd8730159ab24e08a5fd96125257673f', @@ -438,6 +448,8 @@ describe('parseUDCEvent', () => { events: [], }; - expect(() => parseUDCEvent(txReceipt)).toThrow(new Error('UDC emitted event is empty')); + expect(() => legacyDeployer.parseDeployerEvent(txReceipt)).toThrow( + new Error('Deployer emitted event is empty') + ); }); }); diff --git a/__tests__/utils/num.test.ts b/__tests__/utils/num.test.ts index 5343a9483..6e6eb0c88 100644 --- a/__tests__/utils/num.test.ts +++ b/__tests__/utils/num.test.ts @@ -4,7 +4,6 @@ import { assertInRange, bigNumberishArrayToDecimalStringArray, bigNumberishArrayToHexadecimalStringArray, - cleanHex, getDecimalString, getHexString, getHexStringArray, @@ -50,6 +49,16 @@ describe('toHex', () => { test('should properly convert to hex-string', () => { expect(toHex(100)).toBe('0x64'); expect(toHex('200')).toBe('0xc8'); + expect(toHex('0x00023AB')).toBe('0x23ab'); + }); +}); + +describe('cleanHex', () => { + test('should properly clean up the hex string', () => { + expect(num.cleanHex('0x00023AB')).toBe('0x23ab'); + expect(num.cleanHex('0x23Ab')).toBe('0x23ab'); + expect(num.cleanHex('0x000')).toBe('0x0'); + expect(num.cleanHex('0X0')).toBe('0x0'); }); }); @@ -60,12 +69,6 @@ describe('hexToDecimalString', () => { }); }); -describe('cleanHex', () => { - test('should properly clean up the hex string', () => { - expect(cleanHex('0x00023AB')).toBe('0x23ab'); - }); -}); - describe('assertInRange', () => { test('should not throw when assertion is true', () => { expect(() => assertInRange(10, 5, 20, 'value')).not.toThrow(); diff --git a/__tests__/utils/resolve.test.ts b/__tests__/utils/resolve.test.ts index 32b20a4ac..e63bedf43 100644 --- a/__tests__/utils/resolve.test.ts +++ b/__tests__/utils/resolve.test.ts @@ -4,6 +4,7 @@ import { isSupportedSpecVersion, constants, toApiVersion, + compareVersions, } from '../../src'; describe('isVersion', () => { @@ -94,9 +95,9 @@ describe('toAnyPatchVersion', () => { describe('isSupportedSpecVersion', () => { it('returns true for supported spec versions', () => { - expect(isSupportedSpecVersion('0.7.1')).toBe(true); + expect(isSupportedSpecVersion('0.9.0')).toBe(true); expect(isSupportedSpecVersion('0.8.1')).toBe(true); - expect(isSupportedSpecVersion('0.7', { allowAnyPatchVersion: true })).toBe(true); + expect(isSupportedSpecVersion('0.9', { allowAnyPatchVersion: true })).toBe(true); expect(isSupportedSpecVersion('0.8', { allowAnyPatchVersion: true })).toBe(true); }); @@ -115,7 +116,7 @@ describe('isSupportedSpecVersion', () => { describe('isSupportedSpecVersion', () => { it('returns true for exact supported version', () => { - expect(isSupportedSpecVersion(constants.SupportedRpcVersion.v0_7_1)).toBe(true); + expect(isSupportedSpecVersion(constants.SupportedRpcVersion.v0_9_0)).toBe(true); }); it('returns false for unsupported version', () => { @@ -123,7 +124,7 @@ describe('isSupportedSpecVersion', () => { }); it('returns true for supported version with allowAnyPatchVersion=true', () => { - expect(isSupportedSpecVersion('0.7.5', { allowAnyPatchVersion: true })).toBe(true); + expect(isSupportedSpecVersion('0.9.5', { allowAnyPatchVersion: true })).toBe(true); }); it('returns false for supported version with allowAnyPatchVersion=false and mismatched patch', () => { @@ -132,7 +133,7 @@ describe('isSupportedSpecVersion', () => { it('returns true for supported version with wildcard in SupportedRpcVersion', () => { // Simulate a SupportedRpcVersion with a wildcard - expect(isSupportedSpecVersion('0.7.123', { allowAnyPatchVersion: true })).toBe(true); + expect(isSupportedSpecVersion('0.9.123', { allowAnyPatchVersion: true })).toBe(true); }); it('returns false for empty version', () => { @@ -144,7 +145,7 @@ describe('isSupportedSpecVersion', () => { }); it('returns true for supported version with allowAnyPatchVersion explicitly set to true', () => { - expect(isSupportedSpecVersion('0.7.2', { allowAnyPatchVersion: true })).toBe(true); + expect(isSupportedSpecVersion('0.9.2', { allowAnyPatchVersion: true })).toBe(true); }); it('returns false for supported version with allowAnyPatchVersion explicitly set to false', () => { @@ -152,8 +153,8 @@ describe('isSupportedSpecVersion', () => { }); it('returns true for supported version when options is omitted (defaults to false)', () => { - expect(isSupportedSpecVersion('0.7.1')).toBe(true); - expect(isSupportedSpecVersion('0.7.0')).toBe(false); + expect(isSupportedSpecVersion('0.9.0')).toBe(true); + expect(isSupportedSpecVersion('0.9.11')).toBe(false); }); it('returns false for unsupported version regardless of options', () => { @@ -169,6 +170,91 @@ describe('toApiVersion', () => { expect(toApiVersion('0.8')).toBe('v0_8'); expect(toApiVersion('1.2.3')).toBe('v1_2'); expect(toApiVersion('1.2')).toBe('v1_2'); - expect(toApiVersion('v0.7.0')).toBe('v0_7'); + expect(toApiVersion('v0.9.0')).toBe('v0_9'); + }); +}); + +describe('compareVersions', () => { + describe('basic comparisons', () => { + it('correctly compares patch versions', () => { + expect(compareVersions('0.0.9', '0.0.10')).toBe(-1); + expect(compareVersions('0.0.10', '0.0.9')).toBe(1); + expect(compareVersions('1.2.3', '1.2.4')).toBe(-1); + expect(compareVersions('1.2.4', '1.2.3')).toBe(1); + }); + + it('correctly compares minor versions', () => { + expect(compareVersions('0.1.0', '0.2.0')).toBe(-1); + expect(compareVersions('0.2.0', '0.1.0')).toBe(1); + expect(compareVersions('1.1.5', '1.2.0')).toBe(-1); + expect(compareVersions('1.2.0', '1.1.5')).toBe(1); + }); + + it('correctly compares major versions', () => { + expect(compareVersions('1.0.0', '2.0.0')).toBe(-1); + expect(compareVersions('2.0.0', '1.0.0')).toBe(1); + expect(compareVersions('0.9.9', '1.0.0')).toBe(-1); + expect(compareVersions('1.0.0', '0.9.9')).toBe(1); + }); + + it('returns 0 for equal versions', () => { + expect(compareVersions('0.0.9', '0.0.9')).toBe(0); + expect(compareVersions('1.2.3', '1.2.3')).toBe(0); + expect(compareVersions('0.14.1', '0.14.1')).toBe(0); + }); + }); + + describe('edge cases', () => { + it('handles missing version segments (treats as 0)', () => { + expect(compareVersions('0.1', '0.1.0')).toBe(0); + expect(compareVersions('0.1.0', '0.1')).toBe(0); + expect(compareVersions('1', '1.0.0')).toBe(0); + expect(compareVersions('1.0', '1.0.0')).toBe(0); + expect(compareVersions('0.1', '0.1.1')).toBe(-1); + expect(compareVersions('0.1.1', '0.1')).toBe(1); + }); + + it('correctly handles versions with different segment counts', () => { + expect(compareVersions('0.0.99', '0.1')).toBe(-1); + expect(compareVersions('0.1', '0.0.99')).toBe(1); + expect(compareVersions('1.2', '1.2.3')).toBe(-1); + expect(compareVersions('1.2.3', '1.2')).toBe(1); + }); + + it('safely avoids collision between versions like 0.0.1000 and 0.1.0', () => { + // This is the key safety test - these should NOT be equal + expect(compareVersions('0.0.1000', '0.1.0')).toBe(-1); + expect(compareVersions('0.1.0', '0.0.1000')).toBe(1); + expect(compareVersions('0.0.1000', '0.0.1000')).toBe(0); + expect(compareVersions('0.1.0', '0.1.0')).toBe(0); + }); + + it('handles large version numbers', () => { + expect(compareVersions('0.0.999', '0.1.0')).toBe(-1); + expect(compareVersions('0.999.0', '1.0.0')).toBe(-1); + expect(compareVersions('10.500.2000', '10.500.2001')).toBe(-1); + expect(compareVersions('100.0.0', '99.999.999')).toBe(1); + }); + }); + + describe('real-world starknet version comparisons', () => { + it('compares starknet RPC versions correctly', () => { + expect(compareVersions('0.8.1', '0.9.0')).toBe(-1); + expect(compareVersions('0.9.0', '0.8.1')).toBe(1); + expect(compareVersions('0.14.0', '0.14.1')).toBe(-1); + expect(compareVersions('0.14.1', '0.14.0')).toBe(1); + }); + + it('can be used for version threshold checks', () => { + // Example: Blake2s should be used for version >= 0.14.1 + const useBlake = (version: string) => compareVersions(version, '0.14.1') >= 0; + + expect(useBlake('0.14.0')).toBe(false); + expect(useBlake('0.14.1')).toBe(true); + expect(useBlake('0.14.2')).toBe(true); + expect(useBlake('0.15.0')).toBe(true); + expect(useBlake('1.0.0')).toBe(true); + expect(useBlake('0.13.9')).toBe(false); + }); }); }); diff --git a/__tests__/utils/shortString.test.ts b/__tests__/utils/shortString.test.ts index 41cb739d6..dfef84b87 100644 --- a/__tests__/utils/shortString.test.ts +++ b/__tests__/utils/shortString.test.ts @@ -115,6 +115,15 @@ describe('isShortString', () => { expect(isShortString(shortStr)).toBe(true); }); + test('should return true for short strings', () => { + // TODO: IMPORTANT: This pass even though it's 31 chars long, but each char is 2 bytes, so it's 62 bytes long + // TODO: felt can store 31 bytes + 4 bits. + // TODO: This is a bug, we need to fix it. + // TODO: We need to check if the string is 31 bytes long or less, not by character number. + const shortStr = '☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥☥'; + expect(isShortString(shortStr)).toBe(true); + }); + test('should return false for long strings', () => { const longStr = '12345678901234567890123456789012'; expect(isShortString(longStr)).toBe(false); diff --git a/__tests__/utils/stark.test.ts b/__tests__/utils/stark.test.ts index 2aefba44e..809c6cdc6 100644 --- a/__tests__/utils/stark.test.ts +++ b/__tests__/utils/stark.test.ts @@ -1,6 +1,17 @@ -import { CallData, RawArgs, UniversalDetails, stark, FeeEstimate } from '../../src'; -import { EDataAvailabilityMode } from '../../src/types/api'; -import { toBigInt, toHex } from '../../src/utils/num'; +import { + CallData, + RawArgs, + UniversalDetails, + stark, + FeeEstimate, + num, + EDataAvailabilityMode, + ETransactionVersion, + ArraySignatureType, +} from '../../src'; +import sampleContract from '../../__mocks__/cairo/helloCairo2/compiled.sierra.json'; + +const { toBigInt, toHex } = num; describe('stark', () => { describe('CallData.compile() ', () => { @@ -42,32 +53,403 @@ describe('stark', () => { }); }); - test('estimatedFeeToMaxFee', () => { - expect(stark.estimatedFeeToMaxFee(100)).toBe(150n); + describe('compressProgram and decompressProgram', () => { + test('compresses and decompresses a string program', () => { + const programString = JSON.stringify({ + abi: [], + program: { + data: ['0x1', '0x2'], + builtins: [], + hints: {}, + prime: '0x800000000000011000000000000000000000000000000000000000000000001', + }, + }); + + const compressed = stark.compressProgram(programString); + expect(typeof compressed).toBe('string'); + expect(compressed.length).toBeGreaterThan(0); + + const decompressed = stark.decompressProgram(compressed); + expect(typeof decompressed).toBe('object'); + expect(decompressed.abi).toEqual([]); + }); + + test('compresses a large sierra program', () => { + const contractString = JSON.stringify(sampleContract); + const compressed = stark.compressProgram(contractString); + expect(typeof compressed).toBe('string'); + expect(compressed.length).toBeGreaterThan(0); + + const decompressed = stark.decompressProgram(compressed); + expect(decompressed).toEqual(sampleContract); + }); + + test('returns array unchanged when decompressing array input', () => { + const arrayInput = [{ test: 'data' }]; + const result = stark.decompressProgram(arrayInput as any); + expect(result).toBe(arrayInput); + }); }); - test('estimateFeeToBounds', () => { - // TODO: How is this response possible when data_gas_consumed, data_gas_price are not optional response parameters - const estimateFeeResponse /* : FeeEstimate */ = { - gas_consumed: '100', - gas_price: '10', - overall_fee: '1000', - unit: 'FRI' as const, - }; - const estimateFeeResponse07: FeeEstimate = { - ...estimateFeeResponse, - data_gas_consumed: '100', - data_gas_price: '10', - overall_fee: '2000', + describe('randomAddress', () => { + test('generates a random address', () => { + const address1 = stark.randomAddress(); + const address2 = stark.randomAddress(); + + expect(typeof address1).toBe('string'); + expect(typeof address2).toBe('string'); + expect(address1).toMatch(/^0x[a-f0-9]+$/i); + expect(address2).toMatch(/^0x[a-f0-9]+$/i); + expect(address1).not.toBe(address2); + }); + + test('generates valid starknet addresses', () => { + for (let i = 0; i < 5; i += 1) { + const address = stark.randomAddress(); + expect(address).toMatch(/^0x[a-f0-9]{1,64}$/i); + } + }); + }); + + describe('signature formatting functions', () => { + const mockSignatureWithR = { + r: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef', + s: '0xfedcba0987654321fedcba0987654321fedcba0987654321fedcba0987654321', }; - // TODO: look like this was RPC 0.6 test, instead add RPC 0.8 Tests - /* expect(stark.estimateFeeToBounds(estimateFeeResponse)).toStrictEqual({ - l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - l1_gas: { max_amount: '0x96', max_price_per_unit: '0xf' }, - }); */ - expect(stark.estimateFeeToBounds(estimateFeeResponse07)).toStrictEqual({ - l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - l1_gas: { max_amount: '0x12c', max_price_per_unit: '0xf' }, + + const mockArraySignature: ArraySignatureType = [ + '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890', + '0x9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba', + ]; + + describe('formatSignature', () => { + test('formats signature with r,s properties to hex array', () => { + const result = stark.formatSignature(mockSignatureWithR as any); + expect(result).toEqual([ + '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef', + '0xfedcba0987654321fedcba0987654321fedcba0987654321fedcba0987654321', + ]); + }); + + test('formats array signature by converting to hex', () => { + const result = stark.formatSignature(mockArraySignature); + expect(result).toEqual([ + '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890', + '0x9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba', + ]); + }); + + test('throws error for undefined signature', () => { + expect(() => stark.formatSignature(undefined)).toThrow( + 'formatSignature: provided signature is undefined' + ); + }); + + test('throws error for invalid signature format', () => { + expect(() => stark.formatSignature({ invalid: 'signature' } as any)).toThrow( + 'Signature need to be weierstrass.SignatureType or an array for custom' + ); + }); + }); + + describe('signatureToDecimalArray', () => { + test('converts signature with r,s to decimal array', () => { + const result = stark.signatureToDecimalArray(mockSignatureWithR as any); + expect(result).toHaveLength(2); + expect(result[0]).toMatch(/^\d+$/); + expect(result[1]).toMatch(/^\d+$/); + expect(BigInt(result[0])).toBe( + 0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdefn + ); + expect(BigInt(result[1])).toBe( + 0xfedcba0987654321fedcba0987654321fedcba0987654321fedcba0987654321n + ); + }); + + test('converts array signature to decimal array', () => { + const result = stark.signatureToDecimalArray(mockArraySignature); + expect(result).toHaveLength(2); + expect(result[0]).toMatch(/^\d+$/); + expect(result[1]).toMatch(/^\d+$/); + // Verify the values are different from the object signature test + expect(BigInt(result[0])).toBe( + 0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890n + ); + expect(BigInt(result[1])).toBe( + 0x9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcban + ); + }); + }); + + describe('signatureToHexArray', () => { + test('converts signature with r,s to hex array', () => { + const result = stark.signatureToHexArray(mockSignatureWithR as any); + expect(result).toEqual([ + '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef', + '0xfedcba0987654321fedcba0987654321fedcba0987654321fedcba0987654321', + ]); + }); + + test('converts array signature to hex array', () => { + const result = stark.signatureToHexArray(mockArraySignature); + expect(result).toEqual([ + '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890', + '0x9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba', + ]); + }); + }); + }); + + describe('toOverheadResourceBounds', () => { + test('calculates resource bounds with default overhead', () => { + const estimate: FeeEstimate = { + l1_gas_consumed: '1000', + l1_gas_price: '100', + l1_data_gas_consumed: '500', + l1_data_gas_price: '50', + l2_gas_consumed: '200', + l2_gas_price: '20', + overall_fee: '0', + unit: 'FRI', + }; + + const result = stark.toOverheadResourceBounds(estimate); + + expect(result).toHaveProperty('l1_gas'); + expect(result).toHaveProperty('l2_gas'); + expect(result).toHaveProperty('l1_data_gas'); + expect(typeof result.l1_gas.max_amount).toBe('bigint'); + expect(typeof result.l1_gas.max_price_per_unit).toBe('bigint'); + expect(result.l1_gas.max_amount).toBeGreaterThan(1000n); + expect(result.l1_gas.max_price_per_unit).toBeGreaterThan(100n); + }); + + test('calculates resource bounds with custom overhead', () => { + const estimate: FeeEstimate = { + l1_gas_consumed: '1000', + l1_gas_price: '100', + l1_data_gas_consumed: '500', + l1_data_gas_price: '50', + l2_gas_consumed: '200', + l2_gas_price: '20', + overall_fee: '0', + unit: 'FRI', + }; + + const customOverhead = { + l1_gas: { max_amount: 100, max_price_per_unit: 100 }, + l2_gas: { max_amount: 100, max_price_per_unit: 100 }, + l1_data_gas: { max_amount: 100, max_price_per_unit: 100 }, + }; + + const result = stark.toOverheadResourceBounds(estimate, customOverhead); + + expect(result.l1_gas.max_amount).toBe(2000n); // 1000 + 100% + expect(result.l1_gas.max_price_per_unit).toBe(200n); // 100 + 100% + expect(result.l2_gas.max_amount).toBe(400n); // 200 + 100% + expect(result.l2_gas.max_price_per_unit).toBe(40n); // 20 + 100% + }); + + test('calculates resource bounds with default overhead', () => { + const estimate: FeeEstimate = { + l1_gas_consumed: '1000', + l1_gas_price: '100', + l1_data_gas_consumed: '500', + l1_data_gas_price: '50', + l2_gas_consumed: '200', + l2_gas_price: '20', + overall_fee: '0', + unit: 'FRI', + }; + const result = stark.toOverheadResourceBounds(estimate); + + expect(result).toHaveProperty('l1_gas'); + expect(result).toHaveProperty('l2_gas'); + expect(result).toHaveProperty('l1_data_gas'); + expect(typeof result.l1_gas.max_amount).toBe('bigint'); + expect(typeof result.l1_gas.max_price_per_unit).toBe('bigint'); + expect(result.l1_gas.max_amount).toBe(1500n); + expect(result.l1_gas.max_price_per_unit).toBe(150n); + expect(result.l2_gas.max_amount).toBe(300n); + expect(result.l2_gas.max_price_per_unit).toBe(30n); + expect(result.l1_data_gas.max_amount).toBe(750n); + expect(result.l1_data_gas.max_price_per_unit).toBe(75n); + }); + + test('calculates resource bounds with false overhead', () => { + const estimate: FeeEstimate = { + l1_gas_consumed: '1000', + l1_gas_price: '100', + l1_data_gas_consumed: '500', + l1_data_gas_price: '50', + l2_gas_consumed: '200', + l2_gas_price: '20', + overall_fee: '0', + unit: 'FRI', + }; + + const result = stark.toOverheadResourceBounds(estimate, false); + + // With false overhead, should return exact values without any overhead + expect(result.l1_gas.max_amount).toBe(1000n); + expect(result.l1_gas.max_price_per_unit).toBe(100n); + expect(result.l2_gas.max_amount).toBe(200n); + expect(result.l2_gas.max_price_per_unit).toBe(20n); + expect(result.l1_data_gas.max_amount).toBe(500n); + expect(result.l1_data_gas.max_price_per_unit).toBe(50n); + }); + }); + + describe('toOverheadOverallFee', () => { + test('calculates overall fee with default overhead', () => { + const estimate: FeeEstimate = { + l1_gas_consumed: '1000', + l1_gas_price: '100', + l1_data_gas_consumed: '500', + l1_data_gas_price: '50', + l2_gas_consumed: '200', + l2_gas_price: '20', + overall_fee: '0', + unit: 'FRI', + }; + + const result = stark.toOverheadOverallFee(estimate); + + // Should be: l1_gas_consumed * l1_gas_price + l1_data_gas_consumed * l1_data_gas_price + l2_gas_consumed * l2_gas_price + // With overhead applied to each component + expect(typeof result).toBe('bigint'); + expect(result).toBeGreaterThan(129000n); // Base calculation: 1000*100 + 500*50 + 200*20 = 129000 + }); + + test('calculates overall fee with custom overhead', () => { + const estimate: FeeEstimate = { + l1_gas_consumed: '1000', + l1_gas_price: '100', + l1_data_gas_consumed: '500', + l1_data_gas_price: '50', + l2_gas_consumed: '200', + l2_gas_price: '20', + overall_fee: '0', + unit: 'FRI', + }; + + const customOverhead = { + l1_gas: { max_amount: 50, max_price_per_unit: 50 }, + l2_gas: { max_amount: 50, max_price_per_unit: 50 }, + l1_data_gas: { max_amount: 50, max_price_per_unit: 50 }, + }; + + const result = stark.toOverheadOverallFee(estimate, customOverhead); + + // With 50% overhead: (1000*1.5)*(100*1.5) + (500*1.5)*(50*1.5) + (200*1.5)*(20*1.5) + // = 1500*150 + 750*75 + 300*30 = 225000 + 56250 + 9000 = 290250 + expect(result).toBe(290250n); + }); + + test('calculates overall fee with false overhead', () => { + const estimate: FeeEstimate = { + l1_gas_consumed: '1000', + l1_gas_price: '100', + l1_data_gas_consumed: '500', + l1_data_gas_price: '50', + l2_gas_consumed: '200', + l2_gas_price: '20', + overall_fee: '0', + unit: 'FRI', + }; + + const result = stark.toOverheadOverallFee(estimate, false); + + // With false overhead, should return exact calculation without any overhead + // 1000*100 + 500*50 + 200*20 = 100000 + 25000 + 4000 = 129000 + expect(result).toBe(129000n); + }); + }); + + describe('ZeroFeeEstimate', () => { + test('returns zero fee estimate', () => { + const result = stark.ZeroFeeEstimate(); + + expect(result).toEqual({ + l1_gas_consumed: '0', + l1_gas_price: '0', + l1_data_gas_consumed: '0', + l1_data_gas_price: '0', + l2_gas_consumed: '0', + l2_gas_price: '0', + overall_fee: '0', + unit: 'FRI', + }); + }); + }); + + describe('intDAM', () => { + test('converts L1 data availability mode', () => { + const result = stark.intDAM(EDataAvailabilityMode.L1); + expect(result).toBe(0); + }); + + test('converts L2 data availability mode', () => { + const result = stark.intDAM(EDataAvailabilityMode.L2); + expect(result).toBe(1); + }); + + test('throws error for invalid data availability mode', () => { + expect(() => stark.intDAM('INVALID' as any)).toThrow('EDAM conversion'); + }); + }); + + describe('toTransactionVersion', () => { + test('returns provided version when specified', () => { + const result = stark.toTransactionVersion('0x1', '0x3'); + expect(result).toBe('0x3'); + }); + + test('returns default version when provided version is not specified', () => { + const result = stark.toTransactionVersion('0x3'); + expect(result).toBe('0x3'); + }); + + test('accepts BigInt inputs', () => { + const result = stark.toTransactionVersion(1n, 3n); + expect(result).toBe('0x3'); + }); + + test('throws error for invalid provided version', () => { + expect(() => stark.toTransactionVersion('0x1', '0x999')).toThrow( + 'providedVersion 0x999 is not ETransactionVersion' + ); + }); + + test('throws error for invalid default version', () => { + expect(() => stark.toTransactionVersion('0x999')).toThrow( + 'defaultVersion 0x999 is not ETransactionVersion' + ); + }); + }); + + describe('toFeeVersion', () => { + test('returns undefined for undefined input', () => { + const result = stark.toFeeVersion(undefined); + expect(result).toBeUndefined(); + }); + + test('converts V3 to F3', () => { + const result = stark.toFeeVersion(ETransactionVersion.V3); + expect(result).toBe(ETransactionVersion.F3); + }); + + test('accepts BigInt and number inputs', () => { + const result1 = stark.toFeeVersion(3n); + const result2 = stark.toFeeVersion(3); + const result3 = stark.toFeeVersion('3'); + expect(result1).toBe(ETransactionVersion.F3); + expect(result2).toBe(ETransactionVersion.F3); + expect(result3).toBe(ETransactionVersion.F3); + }); + + test('throws error for unsupported version', () => { + expect(() => stark.toFeeVersion('0x999')).toThrow('toFeeVersion: 0x999 is not supported'); }); }); @@ -81,8 +463,9 @@ describe('stark', () => { nonceDataAvailabilityMode: EDataAvailabilityMode.L2, feeDataAvailabilityMode: EDataAvailabilityMode.L2, resourceBounds: { - l1_gas: { max_amount: '0x99', max_price_per_unit: '0x99' }, - l2_gas: { max_amount: '0x99', max_price_per_unit: '0x99' }, + l1_gas: { max_amount: 0x99n, max_price_per_unit: 0x99n }, + l2_gas: { max_amount: 0x99n, max_price_per_unit: 0x99n }, + l1_data_gas: { max_amount: 0x99n, max_price_per_unit: 0x99n }, }, }; const detailsUndefined = setValues(details, undefined); @@ -91,6 +474,65 @@ describe('stark', () => { expect(stark.v3Details(details)).toMatchObject(details); expect(stark.v3Details(detailsUndefined)).toEqual(expect.objectContaining(detailsAnything)); }); + + describe('zeroResourceBounds', () => { + test('returns zero resource bounds', () => { + const result = stark.zeroResourceBounds(); + + expect(result).toEqual({ + l1_gas: { + max_amount: 0n, + max_price_per_unit: 0n, + }, + l2_gas: { + max_amount: 0n, + max_price_per_unit: 0n, + }, + l1_data_gas: { + max_amount: 0n, + max_price_per_unit: 0n, + }, + }); + }); + }); + + describe('resourceBoundsToEstimateFeeResponse', () => { + test('converts resource bounds to estimate fee response', () => { + const resourceBounds = { + l1_gas: { + max_amount: 1000n, + max_price_per_unit: 100n, + }, + l2_gas: { + max_amount: 2000n, + max_price_per_unit: 200n, + }, + l1_data_gas: { + max_amount: 500n, + max_price_per_unit: 50n, + }, + }; + + const result = stark.resourceBoundsToEstimateFeeResponse(resourceBounds); + + expect(result).toEqual({ + resourceBounds, + overall_fee: 525000n, // 1000*100 + 500*50 + 2000*200 = 100000 + 25000 + 400000 = 525000 + unit: 'FRI', + }); + }); + + test('handles zero resource bounds', () => { + const resourceBounds = stark.zeroResourceBounds(); + const result = stark.resourceBoundsToEstimateFeeResponse(resourceBounds); + + expect(result).toEqual({ + resourceBounds, + overall_fee: 0n, + unit: 'FRI', + }); + }); + }); }); describe('ec full public key', () => { @@ -101,3 +543,177 @@ describe('ec full public key', () => { ); }); }); + +describe('resourceBoundsToHexString', () => { + test('converts ResourceBoundsBN with l1_data_gas (RPC 0.8+) to string format', () => { + const resourceBoundsBN = { + l1_gas: { + max_amount: 1000n, + max_price_per_unit: 100n, + }, + l2_gas: { + max_amount: 2000n, + max_price_per_unit: 200n, + }, + l1_data_gas: { + max_amount: 500n, + max_price_per_unit: 50n, + }, + }; + + const result = stark.resourceBoundsToHexString(resourceBoundsBN); + + expect(result).toEqual({ + l1_gas: { + max_amount: '0x3e8', + max_price_per_unit: '0x64', + }, + l2_gas: { + max_amount: '0x7d0', + max_price_per_unit: '0xc8', + }, + l1_data_gas: { + max_amount: '0x1f4', + max_price_per_unit: '0x32', + }, + }); + }); + + test('converts zero values correctly', () => { + const resourceBoundsBN = { + l1_gas: { + max_amount: 0n, + max_price_per_unit: 0n, + }, + l2_gas: { + max_amount: 0n, + max_price_per_unit: 0n, + }, + l1_data_gas: { + max_amount: 0n, + max_price_per_unit: 0n, + }, + }; + + const result = stark.resourceBoundsToHexString(resourceBoundsBN); + + expect(result).toEqual({ + l1_gas: { + max_amount: '0x0', + max_price_per_unit: '0x0', + }, + l2_gas: { + max_amount: '0x0', + max_price_per_unit: '0x0', + }, + l1_data_gas: { + max_amount: '0x0', + max_price_per_unit: '0x0', + }, + }); + }); +}); + +describe('toBigIntResourceBound', () => { + test('converts ResourceBounds with string values to BigInt format', () => { + const resourceBounds = { + l1_gas: { + max_amount: '0x3e8', + max_price_per_unit: '0x64', + }, + l2_gas: { + max_amount: '0x7d0', + max_price_per_unit: '0xc8', + }, + l1_data_gas: { + max_amount: '0x1f4', + max_price_per_unit: '0x32', + }, + }; + + const result = stark.resourceBoundsToBigInt(resourceBounds); + + expect(result).toEqual({ + l1_gas: { + max_amount: 1000n, + max_price_per_unit: 100n, + }, + l2_gas: { + max_amount: 2000n, + max_price_per_unit: 200n, + }, + l1_data_gas: { + max_amount: 500n, + max_price_per_unit: 50n, + }, + }); + }); + + test('converts decimal string values to BigInt', () => { + const resourceBounds = { + l1_gas: { + max_amount: '1000', + max_price_per_unit: '100', + }, + l2_gas: { + max_amount: '2000', + max_price_per_unit: '200', + }, + l1_data_gas: { + max_amount: '500', + max_price_per_unit: '50', + }, + }; + + const result = stark.resourceBoundsToBigInt(resourceBounds); + + expect(result).toEqual({ + l1_gas: { + max_amount: 1000n, + max_price_per_unit: 100n, + }, + l2_gas: { + max_amount: 2000n, + max_price_per_unit: 200n, + }, + l1_data_gas: { + max_amount: 500n, + max_price_per_unit: 50n, + }, + }); + }); + + test('converts zero values correctly', () => { + const resourceBounds = { + l1_gas: { + max_amount: '0x0', + max_price_per_unit: '0x0', + }, + l2_gas: { + max_amount: '0', + max_price_per_unit: '0', + }, + l1_data_gas: { + max_amount: '0x0', + max_price_per_unit: '0x0', + }, + }; + + const result = stark.resourceBoundsToBigInt(resourceBounds); + + expect(result).toEqual({ + l1_gas: { + max_amount: 0n, + max_price_per_unit: 0n, + }, + l2_gas: { + max_amount: 0n, + max_price_per_unit: 0n, + }, + l1_data_gas: { + max_amount: 0n, + max_price_per_unit: 0n, + }, + }); + }); +}); diff --git a/__tests__/utils/tip.test.ts b/__tests__/utils/tip.test.ts new file mode 100644 index 000000000..9e5a8ee3d --- /dev/null +++ b/__tests__/utils/tip.test.ts @@ -0,0 +1,405 @@ +import { + getTipStatsFromBlocks, + type TipAnalysisOptions, + RpcProvider, + LibraryError, + type RPC, + type TipEstimate, + logger, +} from '../../src'; + +// Mock the RpcProvider +jest.mock('../../src/provider/rpc'); + +describe('Tip Analysis', () => { + logger.setLogLevel('FATAL'); + let mockProvider: jest.Mocked; + + beforeEach(() => { + mockProvider = { + getBlockWithTxs: jest.fn(), + getBlockLatestAccepted: jest.fn(), + channel: { + batchClient: undefined, // No batching by default + } as any, + } as any; + }); + + describe('getTipStatsFromBlocks', () => { + const createMockBlock = ( + blockNumber: number, + transactions: Array> + ): RPC.BlockWithTxs => + ({ + status: 'ACCEPTED_ON_L1', + block_number: blockNumber, + transactions: transactions as any, + block_hash: '0x123', + parent_hash: '0x456', + new_root: '0x789', + timestamp: 123456789, + sequencer_address: '0xabc', + l1_gas_price: { price_in_fri: '0x1', price_in_wei: '0x1' }, + l1_data_gas_price: { price_in_fri: '0x1', price_in_wei: '0x1' }, + l2_gas_price: { price_in_fri: '0x1', price_in_wei: '0x1' }, + starknet_version: '0.13.0', + }) as any; + + const createMockInvokeTransaction = (tip: string): Partial => ({ + type: 'INVOKE', + version: '0x3', + tip, + transaction_hash: '0x123', + sender_address: '0x456', + calldata: [], + signature: [], + nonce: '0x0', + resource_bounds: { + l1_gas: { max_amount: '0x1', max_price_per_unit: '0x1' }, + l2_gas: { max_amount: '0x1', max_price_per_unit: '0x1' }, + l1_data_gas: { max_amount: '0x1', max_price_per_unit: '0x1' }, + }, + paymaster_data: [], + account_deployment_data: [], + nonce_data_availability_mode: 'L1', + fee_data_availability_mode: 'L1', + }); + + const createMockDeclareTransaction = (tip: string): Partial => ({ + type: 'DECLARE', + version: '0x3', + tip, + transaction_hash: '0x456', + sender_address: '0x789', + signature: [], + nonce: '0x0', + resource_bounds: { + l1_gas: { max_amount: '0x1', max_price_per_unit: '0x1' }, + l2_gas: { max_amount: '0x1', max_price_per_unit: '0x1' }, + l1_data_gas: { max_amount: '0x1', max_price_per_unit: '0x1' }, + }, + paymaster_data: [], + account_deployment_data: [], + nonce_data_availability_mode: 'L1', + fee_data_availability_mode: 'L1', + class_hash: '0xabc', + compiled_class_hash: '0xdef', + }); + + const createMockDeployAccountTransaction = (tip: string): Partial => ({ + type: 'DEPLOY_ACCOUNT', + version: '0x3', + tip, + transaction_hash: '0x789', + signature: [], + nonce: '0x0', + resource_bounds: { + l1_gas: { max_amount: '0x1', max_price_per_unit: '0x1' }, + l2_gas: { max_amount: '0x1', max_price_per_unit: '0x1' }, + l1_data_gas: { max_amount: '0x1', max_price_per_unit: '0x1' }, + }, + paymaster_data: [], + nonce_data_availability_mode: 'L1', + fee_data_availability_mode: 'L1', + class_hash: '0xabc', + constructor_calldata: [], + contract_address_salt: '0xdef', + }); + + test('should calculate statistics correctly with various tip amounts', async () => { + const transactions = [ + createMockInvokeTransaction('10'), // min + createMockInvokeTransaction('20'), + createMockInvokeTransaction('20'), // mode (appears twice) + createMockInvokeTransaction('30'), // median + createMockInvokeTransaction('40'), + createMockInvokeTransaction('100'), // max + ]; + + const mockBlock = createMockBlock(100, transactions); + mockProvider.getBlockWithTxs.mockResolvedValue(mockBlock); + + const options: TipAnalysisOptions = { minTxsNecessary: 6 }; + const result: TipEstimate = await getTipStatsFromBlocks(mockProvider, 'latest', options); + + expect(result).toEqual({ + minTip: 10n, + maxTip: 100n, + averageTip: 36n, // (10+20+20+30+40+100)/6 = 36.67 -> 36 + medianTip: 25n, // (20+30)/2 = 25 + modeTip: 20n, // appears twice + recommendedTip: 25n, // median tip directly (no buffer) + p90Tip: expect.any(BigInt), // 90th percentile + p95Tip: expect.any(BigInt), // 95th percentile + metrics: expect.objectContaining({ + blocksAnalyzed: expect.any(Number), + transactionsTipsFound: expect.any(Array), + }), + }); + }); + + test('should use median tip directly as recommended tip', async () => { + const transactions = [ + createMockInvokeTransaction('100'), + createMockInvokeTransaction('200'), + createMockInvokeTransaction('300'), + ]; + + const mockBlock = createMockBlock(100, transactions); + mockProvider.getBlockWithTxs.mockResolvedValue(mockBlock); + + const options: TipAnalysisOptions = { minTxsNecessary: 3 }; + const result = await getTipStatsFromBlocks(mockProvider, 'latest', options); + + expect(result).toEqual({ + minTip: 100n, + maxTip: 300n, + averageTip: 200n, + medianTip: 200n, + modeTip: 100n, // First occurrence when all have same count + recommendedTip: 200n, // median tip directly (no buffer) + p90Tip: expect.any(BigInt), // 90th percentile + p95Tip: expect.any(BigInt), // 95th percentile + metrics: expect.objectContaining({ + blocksAnalyzed: expect.any(Number), + transactionsTipsFound: expect.any(Array), + }), + }); + }); + + test('should include zero tips by default', async () => { + const transactions = [ + createMockInvokeTransaction('0'), + createMockInvokeTransaction('10'), + createMockInvokeTransaction('20'), + createMockInvokeTransaction('30'), + ]; + + const mockBlock = createMockBlock(100, transactions); + mockProvider.getBlockWithTxs.mockResolvedValue(mockBlock); + + const options: TipAnalysisOptions = { minTxsNecessary: 3 }; + const result = await getTipStatsFromBlocks(mockProvider, 'latest', options); + + expect(result.minTip).toBe(0n); // Zero tip excluded + expect(result.averageTip).toBe(15n); // (0+10+20+30)/4 = 15 + }); + + test('should include zero tips when specified', async () => { + const transactions = [ + createMockInvokeTransaction('0'), + createMockInvokeTransaction('10'), + createMockInvokeTransaction('20'), + createMockInvokeTransaction('30'), + ]; + + const mockBlock = createMockBlock(100, transactions); + mockProvider.getBlockWithTxs.mockResolvedValue(mockBlock); + + const options: TipAnalysisOptions = { includeZeroTips: true }; + const result = await getTipStatsFromBlocks(mockProvider, 'latest', options); + + expect(result.minTip).toBe(0n); // Zero tip included + expect(result.averageTip).toBe(15n); // (0+10+20+30)/4 = 15 + }); + + test('should filter V3 transactions from all transaction types', async () => { + const transactions = [ + createMockInvokeTransaction('10'), + createMockDeclareTransaction('20'), + createMockDeployAccountTransaction('30'), + // Add non-V3 transactions that should be filtered out + { type: 'INVOKE', version: '0x1', tip: '100' } as any, // V1 - should be excluded + { type: 'INVOKE', version: '0x3' } as any, // V3 but no tip - should be excluded + { type: 'L1_HANDLER', version: '0x3', tip: '50' } as any, // Not supported type - should be excluded + ]; + + const mockBlock = createMockBlock(100, transactions); + mockProvider.getBlockWithTxs.mockResolvedValue(mockBlock); + + const options: TipAnalysisOptions = { minTxsNecessary: 3 }; + const result = await getTipStatsFromBlocks(mockProvider, 'latest', options); + + expect(result.minTip).toBe(10n); + expect(result.maxTip).toBe(30n); + expect(result.averageTip).toBe(20n); // (10+20+30)/3 = 20 + }); + + test('should return zero values when insufficient transaction data', async () => { + const transactions = [createMockInvokeTransaction('10'), createMockInvokeTransaction('20')]; // Only 2 transactions, and we'll test with default minTxsNecessary of 10 + + const mockBlock = createMockBlock(100, transactions); + mockProvider.getBlockWithTxs.mockResolvedValue(mockBlock); + + const result = await getTipStatsFromBlocks(mockProvider, 'latest'); + expect(result).toEqual({ + recommendedTip: 0n, + medianTip: 0n, + modeTip: 0n, + averageTip: 0n, + minTip: 0n, + maxTip: 0n, + p90Tip: 0n, + p95Tip: 0n, + metrics: expect.objectContaining({ + blocksAnalyzed: expect.any(Number), + transactionsTipsFound: expect.any(Array), + }), + }); + }); + + test('should respect custom minTxsNecessary', async () => { + const transactions = [createMockInvokeTransaction('10'), createMockInvokeTransaction('20')]; + + const mockBlock = createMockBlock(100, transactions); + mockProvider.getBlockWithTxs.mockResolvedValue(mockBlock); + + const options: TipAnalysisOptions = { minTxsNecessary: 2 }; + const result = await getTipStatsFromBlocks(mockProvider, 'latest', options); + + expect(result.averageTip).toBe(15n); + }); + + test('should analyze multiple blocks', async () => { + const block1 = createMockBlock(100, [ + createMockInvokeTransaction('10'), + createMockInvokeTransaction('20'), + ]); + const block2 = createMockBlock(99, [ + createMockInvokeTransaction('30'), + createMockInvokeTransaction('40'), + ]); + + mockProvider.getBlockWithTxs + .mockResolvedValueOnce(block1) // Starting block + .mockResolvedValueOnce(block1) // Block 100 + .mockResolvedValueOnce(block2); // Block 99 + + const options: TipAnalysisOptions = { maxBlocks: 2, minTxsNecessary: 4 }; + const result = await getTipStatsFromBlocks(mockProvider, 'latest', options); + + expect(result.averageTip).toBe(25n); // (10+20+30+40)/4 = 25 + }); + + test('should use parallel strategy when batching is enabled', async () => { + // Enable batching + (mockProvider.channel as any).batchClient = {}; + + const mockBlock = createMockBlock( + 100, + Array(10) + .fill(null) + .map(() => createMockInvokeTransaction('10')) + ); + + mockProvider.getBlockWithTxs.mockResolvedValue(mockBlock); + + const result = await getTipStatsFromBlocks(mockProvider, 'latest'); + + expect(result.averageTip).toBe(10n); + // Verify that getBlockWithTxs was called (parallel strategy would call it multiple times) + expect(mockProvider.getBlockWithTxs).toHaveBeenCalled(); + }); + + test('should validate input parameters', async () => { + await expect(getTipStatsFromBlocks(mockProvider, 'latest', { maxBlocks: 0 })).rejects.toThrow( + 'maxBlocks parameter must be greater than or equal to 1' + ); + + await expect( + getTipStatsFromBlocks(mockProvider, 'latest', { maxBlocks: 101 }) + ).rejects.toThrow('maxBlocks parameter must be less than or equal to 100'); + + await expect( + getTipStatsFromBlocks(mockProvider, 'latest', { minTxsNecessary: 0 }) + ).rejects.toThrow('minTxsNecessary parameter must be greater than or equal to 1'); + + await expect( + getTipStatsFromBlocks(mockProvider, 'latest', { maxBlocks: 1.5 as any }) + ).rejects.toThrow('maxBlocks parameter must be an integer'); + }); + + test('should handle RPC errors gracefully', async () => { + mockProvider.getBlockWithTxs.mockRejectedValue(new Error('RPC Error')); + + await expect(getTipStatsFromBlocks(mockProvider, 'latest')).rejects.toThrow(LibraryError); + }); + + test('should handle blocks with no valid transactions', async () => { + const emptyBlock = createMockBlock(100, []); + mockProvider.getBlockWithTxs.mockResolvedValue(emptyBlock); + + const result = await getTipStatsFromBlocks(mockProvider, 'latest'); + expect(result).toEqual({ + recommendedTip: 0n, + medianTip: 0n, + modeTip: 0n, + averageTip: 0n, + minTip: 0n, + maxTip: 0n, + p90Tip: 0n, + p95Tip: 0n, + metrics: expect.objectContaining({ + blocksAnalyzed: expect.any(Number), + transactionsTipsFound: expect.any(Array), + }), + }); + }); + + test('should calculate median correctly for even number of values', async () => { + const transactions = [ + createMockInvokeTransaction('10'), + createMockInvokeTransaction('20'), + createMockInvokeTransaction('30'), + createMockInvokeTransaction('40'), + ]; + + const mockBlock = createMockBlock(100, transactions); + mockProvider.getBlockWithTxs.mockResolvedValue(mockBlock); + + const options: TipAnalysisOptions = { minTxsNecessary: 4 }; + const result = await getTipStatsFromBlocks(mockProvider, 'latest', options); + + expect(result.medianTip).toBe(25n); // (20+30)/2 = 25 + }); + + test('should calculate median correctly for odd number of values', async () => { + const transactions = [ + createMockInvokeTransaction('10'), + createMockInvokeTransaction('20'), + createMockInvokeTransaction('30'), + ]; + + const mockBlock = createMockBlock(100, transactions); + mockProvider.getBlockWithTxs.mockResolvedValue(mockBlock); + + const options: TipAnalysisOptions = { minTxsNecessary: 3 }; + const result = await getTipStatsFromBlocks(mockProvider, 'latest', options); + + expect(result.medianTip).toBe(20n); // Middle value + }); + + test('should calculate mode correctly with ties', async () => { + const transactions = [ + createMockInvokeTransaction('10'), // appears once + createMockInvokeTransaction('20'), // appears twice + createMockInvokeTransaction('20'), + createMockInvokeTransaction('30'), // appears twice + createMockInvokeTransaction('30'), + ]; + + const mockBlock = createMockBlock(100, transactions); + mockProvider.getBlockWithTxs.mockResolvedValue(mockBlock); + + const options: TipAnalysisOptions = { minTxsNecessary: 5 }; + const result = await getTipStatsFromBlocks(mockProvider, 'latest', options); + + // When tied, should choose the smaller value (20 < 30) + expect(result.modeTip).toBe(20n); + }); + }); + + afterAll(() => { + logger.setLogLevel('ERROR'); + }); +}); diff --git a/__tests__/utils/transaction.test.ts b/__tests__/utils/transaction.test.ts index df4610e5f..e59f564e3 100644 --- a/__tests__/utils/transaction.test.ts +++ b/__tests__/utils/transaction.test.ts @@ -40,8 +40,6 @@ describe('getVersionsByType', () => { it("should return fee versions when versionType is 'fee'", () => { const versions = getVersionsByType('fee'); expect(versions).toEqual({ - v1: ETransactionVersion.F1, - v2: ETransactionVersion.F2, v3: ETransactionVersion.F3, }); }); @@ -49,8 +47,6 @@ describe('getVersionsByType', () => { it("should return transaction versions when versionType is 'transaction'", () => { const versions = getVersionsByType('transaction'); expect(versions).toEqual({ - v1: ETransactionVersion.V1, - v2: ETransactionVersion.V2, v3: ETransactionVersion.V3, }); }); @@ -58,8 +54,6 @@ describe('getVersionsByType', () => { it('should return transaction versions when versionType is undefined', () => { const versions = getVersionsByType(); expect(versions).toEqual({ - v1: ETransactionVersion.V1, - v2: ETransactionVersion.V2, v3: ETransactionVersion.V3, }); }); diff --git a/__tests__/utils/transactionHash.test.ts b/__tests__/utils/transactionHash.test.ts index c3bfbe0bc..b81efd5be 100644 --- a/__tests__/utils/transactionHash.test.ts +++ b/__tests__/utils/transactionHash.test.ts @@ -1,5 +1,4 @@ -import { constants, hash, shortString, types, v2hash, v3hash } from '../../src'; -import { ResourceBounds } from '../../src/provider/types/spec.type'; +import { constants, v2hash } from '../../src'; describe('TxV2 Hash Tests', () => { describe('calculateTransactionHashCommon()', () => { @@ -18,7 +17,8 @@ describe('TxV2 Hash Tests', () => { }); }); -describe('TxV3 Hash Tests', () => { +// TODO: create new tests with rpc0.8+ v3 tx +/* describe('TxV3Old Hash Tests', () => { test('DaMode', () => { const result = v3hash.hashDAMode(types.RPC.EDAMode.L1, types.RPC.EDAMode.L1); expect(result.toString(16)).toBe('0'); @@ -33,23 +33,6 @@ describe('TxV3 Hash Tests', () => { expect(result3.toString(16)).toBe('100000001'); }); - test('hashFeeField', () => { - const bound1: ResourceBounds = { - l2_gas: { - max_amount: '0', - max_price_per_unit: '0', - }, - l1_gas: { - max_amount: '0x7c9', - max_price_per_unit: '0x1', - }, - }; - const result1 = v3hash.hashFeeField(0, bound1); - expect(result1.toString(16)).toBe( - '7be65f04548dfe645c70f07d1f8ead572c09e0e6e125c47d4cc22b4de3597cc' - ); - }); - test('calculateInvokeTransactionHash Demo', () => { const result = hash.calculateInvokeTransactionHash({ senderAddress: '0x12fd538', @@ -196,4 +179,4 @@ describe('TxV3 Hash Tests', () => { expect(result).toBe('0x61bfaf480ac824971ad1bdc316fa821f58afd6b47e037242ef265d0aaea7c78'); }); -}); +}); */ diff --git a/__tests__/utils/typedData.test.ts b/__tests__/utils/typedData.test.ts index 53513777f..0fb1c1a20 100644 --- a/__tests__/utils/typedData.test.ts +++ b/__tests__/utils/typedData.test.ts @@ -384,7 +384,11 @@ describe('typedData', () => { const addr = '0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691'; const privK = '0x71d7bb07b9a64f6f78ac4c816aff4da9'; const fullPubK = stark.getFullPublicKey(privK); - const myAccount = new Account({ nodeUrl: 'fake' }, addr, privK); + const myAccount = new Account({ + provider: { nodeUrl: 'fake' }, + address: addr, + signer: privK, + }); let signedMessage: Signature; let hashedMessage: string; let arraySign: ArraySignatureType; diff --git a/__tests__/utils/utils.test.ts b/__tests__/utils/utils.test.ts index 0d6861454..42f87c96e 100644 --- a/__tests__/utils/utils.test.ts +++ b/__tests__/utils/utils.test.ts @@ -1,7 +1,7 @@ import * as starkCurve from '@scure/starknet'; -import { constants, ec, hash, num, stark, units } from '../../src'; -import { ETHtokenAddress } from '../config/fixtures'; +import { constants, ec, hash, num, units } from '../../src'; +import { ETHtokenAddress } from '../config/fixturesInit'; const { IS_BROWSER } = constants; @@ -37,14 +37,6 @@ describe('hexToDecimalString()', () => { }); }); -describe('cleanHex()', () => { - test('parse 0xa23', () => { - expect(num.cleanHex('0x023Ab')).toBe('0x23ab'); - expect(num.cleanHex('0x000023Ab')).toBe('0x23ab'); - expect(num.cleanHex('0x23Ab')).toBe('0x23ab'); - }); -}); - describe('getSelectorFromName()', () => { test('hash works for value="test"', () => { expect(hash.getSelectorFromName('test')).toBe( @@ -82,17 +74,6 @@ describe('computeHashOnElements()', () => { }); }); -describe('estimatedFeeToMaxFee()', () => { - test('should return maxFee for 0', () => { - const res = stark.estimatedFeeToMaxFee(0, 15); - expect(res).toBe(0n); - }); - test('should return maxFee for 10_000', () => { - const res = stark.estimatedFeeToMaxFee(10_000, 15); - expect(res).toBe(11500n); - }); -}); - describe('calculateContractAddressFromHash()', () => { const daiAddress = '0x03e85bfbb8e2a42b7bead9e88e9a1b19dbccf661471061807292120462396ec9'; const factoryAddress = '0x249827618A01858A72B7D04339C47195A324D20D6037033DFE2829F98AFF4FC'; diff --git a/jest.config.ts b/jest.config.ts new file mode 100644 index 000000000..e2650bae3 --- /dev/null +++ b/jest.config.ts @@ -0,0 +1,18 @@ +import type { Config } from 'jest'; + +export default async (): Promise => { + return { + snapshotFormat: { + escapeString: true, + printBasicPrototype: true, + }, + testMatch: ['**/__tests__/**/(*.)+(spec|test).[jt]s?(x)'], + setupFilesAfterEnv: ['./__tests__/config/jest.setup.ts'], + globalSetup: './__tests__/config/jestGlobalSetup.ts', + sandboxInjectedGlobals: ['Math'], + + transform: { + '^.+\\.(t|j)sx?$': '@swc/jest', + }, + }; +}; diff --git a/package-lock.json b/package-lock.json index ba9ba6ec8..a2c0ddc97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,45 +1,45 @@ { "name": "starknet", - "version": "7.6.4", + "version": "8.6.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "starknet", - "version": "7.6.4", + "version": "8.6.0", "license": "MIT", "dependencies": { - "@noble/curves": "1.7.0", - "@noble/hashes": "1.6.0", - "@scure/base": "1.2.1", + "@noble/curves": "~1.7.0", + "@noble/hashes": "~1.6.0", + "@scure/base": "~1.2.1", "@scure/starknet": "1.1.0", - "@starknet-io/starknet-types-07": "npm:@starknet-io/types-js@~0.7.10", "@starknet-io/starknet-types-08": "npm:@starknet-io/types-js@~0.8.4", + "@starknet-io/starknet-types-09": "npm:@starknet-io/types-js@~0.9.1", "abi-wan-kanabi": "2.2.4", - "lossless-json": "^4.0.1", + "lossless-json": "^4.2.0", "pako": "^2.0.4", "ts-mixer": "^6.0.3" }, "devDependencies": { - "@babel/plugin-transform-modules-commonjs": "^7.18.2", - "@babel/preset-env": "^7.18.2", - "@babel/preset-typescript": "^7.17.12", "@commitlint/cli": "^19.0.0", "@commitlint/config-conventional": "^19.0.0", + "@napi-rs/blake-hash": "^1.3.5", "@semantic-release/changelog": "^6.0.1", "@semantic-release/commit-analyzer": "^13.0.0", "@semantic-release/git": "^10.0.1", "@semantic-release/npm": "^12.0.0", "@semantic-release/release-notes-generator": "^14.0.0", + "@swc/core": "^1.13.5", + "@swc/jest": "^0.2.39", "@types/isomorphic-fetch": "^0.0.39", - "@types/jest": "^29.5.0", + "@types/jest": "^30.0.0", "@types/jest-json-schema": "^6.1.1", "@types/pako": "^2.0.0", - "@types/ws": "^8.5.12", "@typescript-eslint/eslint-plugin": "^7.4.0", "@typescript-eslint/parser": "^7.4.0", "ajv": "^8.12.0", "ajv-keywords": "^5.1.0", + "blakejs": "^1.2.1", "eslint": "^8.56.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "^18.0.0", @@ -50,16 +50,19 @@ "husky": "^9.0.11", "import-sort-style-module": "^6.0.0", "isomorphic-fetch": "~3.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", + "jest": "^30.0.0", + "jest-environment-jsdom": "^30.0.0", "jest-json-schema": "^6.1.0", - "lint-staged": "^15.2.2", + "lint-staged": "^16.0.0", + "npm": "^11.6.2", "prettier": "^3.2.5", "prettier-plugin-import-sort": "^0.0.7", "semantic-release": "^24.0.0", - "starknet_specs": "github:starkware-libs/starknet-specs#v0.8.0-rc3", - "starknet_specs_071": "github:starkware-libs/starknet-specs#v0.7.1", - "tsup": "^8.0.2", + "starknet_specs": "github:starkware-libs/starknet-specs#v0.9.0", + "starknet_specs_08": "github:starkware-libs/starknet-specs#v0.8.1", + "starknet-devnet": "^0.4.4", + "ts-node": "^10.9.0", + "tsup": "^8.5.0", "type-coverage": "^2.28.2", "typescript": "~5.7.0", "typescript-coverage-report": "npm:@penovicp/typescript-coverage-report@^1.0.0-beta.2" @@ -68,39 +71,46 @@ "node": ">=22" } }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "node_modules/@asamuzakjp/css-color": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", + "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" + "@csstools/css-calc": "^2.1.3", + "@csstools/css-color-parser": "^3.0.9", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "lru-cache": "^10.4.3" } }, + "node_modules/@asamuzakjp/css-color/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/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", + "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", - "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", + "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", "dev": true, "license": "MIT", "engines": { @@ -108,22 +118,22 @@ } }, "node_modules/@babel/core": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", - "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.10", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.10", - "@babel/parser": "^7.26.10", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.10", - "@babel/types": "^7.26.10", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", + "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.4", + "@babel/types": "^7.28.4", + "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -138,45 +148,42 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz", - "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==", + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.27.0", - "@babel/types": "^7.27.0", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", - "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "node_modules/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.9" + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz", - "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==", + "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.26.8", - "@babel/helper-validator-option": "^7.25.9", + "@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" @@ -185,101 +192,50 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.0.tgz", - "integrity": "sha512-vSGCvMecvFCd/BdpGlhpXYNhhC4ccxyvQWpbGL4CWbvfEoLFWUZuSuf7s9Aw70flgQF+6vptvgK2IfOnKlRmBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/helper-replace-supers": "^7.26.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/traverse": "^7.27.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.0.tgz", - "integrity": "sha512-fO8l08T76v48BhpNRW/nQ0MxfnSdoSKUJBMjubOAYffsVuGG5qOfMq7N6Es7UJvi7Y8goXXo07EfcHZXDPuELQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "regexpu-core": "^6.2.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz", - "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==", + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", - "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "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, "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "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/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "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-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" @@ -288,83 +244,20 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", - "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", - "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", - "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-wrap-function": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", - "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/traverse": "^7.26.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", - "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "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, "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "license": "MIT", "engines": { @@ -372,9 +265,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "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==", "dev": true, "license": "MIT", "engines": { @@ -382,52 +275,37 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", - "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "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", - "dependencies": { - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", - "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", + "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.0", - "@babel/types": "^7.27.0" + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", - "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", + "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.27.0" + "@babel/types": "^7.28.4" }, "bin": { "parser": "bin/babel-parser.js" @@ -436,103 +314,6 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", - "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", - "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", - "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", - "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", - "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", @@ -588,30 +369,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", - "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", - "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "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.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -647,13 +412,13 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", - "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "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.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -773,13 +538,13 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", - "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "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.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -788,2955 +553,2455 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", - "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "node_modules/@babel/traverse": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", + "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", - "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", + "node_modules/@babel/types": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", + "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-remap-async-to-generator": "^7.25.9", - "@babel/traverse": "^7.26.8" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", - "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-remap-async-to-generator": "^7.25.9" - }, + "optional": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.1.90" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", - "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", + "node_modules/@commitlint/cli": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.8.1.tgz", + "integrity": "sha512-LXUdNIkspyxrlV6VDHWBmCZRtkEVRpBKxi2Gtw3J54cGWhLCTouVD/Q6ZSaSvd2YaDObWK8mDjrz3TIKtaQMAA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5" + "@commitlint/format": "^19.8.1", + "@commitlint/lint": "^19.8.1", + "@commitlint/load": "^19.8.1", + "@commitlint/read": "^19.8.1", + "@commitlint/types": "^19.8.1", + "tinyexec": "^1.0.0", + "yargs": "^17.0.0" }, - "engines": { - "node": ">=6.9.0" + "bin": { + "commitlint": "cli.js" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.0.tgz", - "integrity": "sha512-u1jGphZ8uDI2Pj/HJj6YQ6XQLZCNjOlprjxB5SVz6rq2T6SwAR+CdrWK0CP7F+9rDVMXdB0+r6Am5G5aobOjAQ==", + "node_modules/@commitlint/config-conventional": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-19.8.1.tgz", + "integrity": "sha512-/AZHJL6F6B/G959CsMAzrPKKZjeEiAVifRyEwXxcT6qtqbPwGw+iQxmNS+Bu+i09OCtdNRW6pNpBvgPrtMr9EQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5" + "@commitlint/types": "^19.8.1", + "conventional-changelog-conventionalcommits": "^7.0.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", - "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "node_modules/@commitlint/config-validator": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-19.8.1.tgz", + "integrity": "sha512-0jvJ4u+eqGPBIzzSdqKNX1rvdbSU1lPNYlfQQRIFnBgLy26BtC0cFnr7c/AyuzExMxWsMOte6MkTi9I3SQ3iGQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@commitlint/types": "^19.8.1", + "ajv": "^8.11.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", - "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "node_modules/@commitlint/ensure": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-19.8.1.tgz", + "integrity": "sha512-mXDnlJdvDzSObafjYrOSvZBwkD01cqB4gbnnFuVyNpGUM5ijwU/r/6uqUmBXAAOKRfyEjpkGVZxaDsCVnHAgyw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@commitlint/types": "^19.8.1", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", - "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "node_modules/@commitlint/execute-rule": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-19.8.1.tgz", + "integrity": "sha512-YfJyIqIKWI64Mgvn/sE7FXvVMQER/Cd+s3hZke6cI1xgNT/f6ZAz5heND0QtffH+KbcqAwXDEE1/5niYayYaQA==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", - "@babel/traverse": "^7.25.9", - "globals": "^11.1.0" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", - "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "node_modules/@commitlint/format": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-19.8.1.tgz", + "integrity": "sha512-kSJj34Rp10ItP+Eh9oCItiuN/HwGQMXBnIRk69jdOwEW9llW9FlyqcWYbHPSGofmjsqeoxa38UaEA5tsbm2JWw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/template": "^7.25.9" + "@commitlint/types": "^19.8.1", + "chalk": "^5.3.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", - "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "node_modules/@commitlint/is-ignored": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-19.8.1.tgz", + "integrity": "sha512-AceOhEhekBUQ5dzrVhDDsbMaY5LqtN8s1mqSnT2Kz1ERvVZkNihrs3Sfk1Je/rxRNbXYFzKZSHaPsEJJDJV8dg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@commitlint/types": "^19.8.1", + "semver": "^7.6.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", - "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "node_modules/@commitlint/lint": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-19.8.1.tgz", + "integrity": "sha512-52PFbsl+1EvMuokZXLRlOsdcLHf10isTPlWwoY1FQIidTsTvjKXVXYb7AvtpWkDzRO2ZsqIgPK7bI98x8LRUEw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@commitlint/is-ignored": "^19.8.1", + "@commitlint/parse": "^19.8.1", + "@commitlint/rules": "^19.8.1", + "@commitlint/types": "^19.8.1" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", - "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "node_modules/@commitlint/load": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.8.1.tgz", + "integrity": "sha512-9V99EKG3u7z+FEoe4ikgq7YGRCSukAcvmKQuTtUyiYPnOd9a2/H9Ak1J9nJA1HChRQp9OA/sIKPugGS+FK/k1A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@commitlint/config-validator": "^19.8.1", + "@commitlint/execute-rule": "^19.8.1", + "@commitlint/resolve-extends": "^19.8.1", + "@commitlint/types": "^19.8.1", + "chalk": "^5.3.0", + "cosmiconfig": "^9.0.0", + "cosmiconfig-typescript-loader": "^6.1.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", - "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "node_modules/@commitlint/message": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-19.8.1.tgz", + "integrity": "sha512-+PMLQvjRXiU+Ae0Wc+p99EoGEutzSXFVwQfa3jRNUZLNW5odZAyseb92OSBTKCu+9gGZiJASt76Cj3dLTtcTdg==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", - "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "node_modules/@commitlint/parse": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-19.8.1.tgz", + "integrity": "sha512-mmAHYcMBmAgJDKWdkjIGq50X4yB0pSGpxyOODwYmoexxxiUCy5JJT99t1+PEMK7KtsCtzuWYIAXYAiKR+k+/Jw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@commitlint/types": "^19.8.1", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-parser": "^5.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", - "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", + "node_modules/@commitlint/read": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-19.8.1.tgz", + "integrity": "sha512-03Jbjb1MqluaVXKHKRuGhcKWtSgh3Jizqy2lJCRbRrnWpcM06MYm8th59Xcns8EqBYvo0Xqb+2DoZFlga97uXQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@commitlint/top-level": "^19.8.1", + "@commitlint/types": "^19.8.1", + "git-raw-commits": "^4.0.0", + "minimist": "^1.2.8", + "tinyexec": "^1.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", - "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "node_modules/@commitlint/resolve-extends": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.8.1.tgz", + "integrity": "sha512-GM0mAhFk49I+T/5UCYns5ayGStkTt4XFFrjjf0L4S26xoMTSkdCf9ZRO8en1kuopC4isDFuEm7ZOm/WRVeElVg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@commitlint/config-validator": "^19.8.1", + "@commitlint/types": "^19.8.1", + "global-directory": "^4.0.1", + "import-meta-resolve": "^4.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz", - "integrity": "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==", + "node_modules/@commitlint/rules": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.8.1.tgz", + "integrity": "sha512-Hnlhd9DyvGiGwjfjfToMi1dsnw1EXKGJNLTcsuGORHz6SS9swRgkBsou33MQ2n51/boIDrbsg4tIBbRpEWK2kw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + "@commitlint/ensure": "^19.8.1", + "@commitlint/message": "^19.8.1", + "@commitlint/to-lines": "^19.8.1", + "@commitlint/types": "^19.8.1" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", - "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "node_modules/@commitlint/to-lines": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-19.8.1.tgz", + "integrity": "sha512-98Mm5inzbWTKuZQr2aW4SReY6WUukdWXuZhrqf1QdKPZBCCsXuG87c+iP0bwtD6DBnmVVQjgp4whoHRVixyPBg==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", - "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "node_modules/@commitlint/top-level": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-19.8.1.tgz", + "integrity": "sha512-Ph8IN1IOHPSDhURCSXBz44+CIu+60duFwRsg6HqaISFHQHbmBtxVw4ZrFNIYUzEP7WwrNPxa2/5qJ//NK1FGcw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "find-up": "^7.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", - "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "node_modules/@commitlint/types": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-19.8.1.tgz", + "integrity": "sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@types/conventional-commits-parser": "^5.0.0", + "chalk": "^5.3.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=v18" } }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", - "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", - "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", - "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "node_modules/@csstools/color-helpers": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", + "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", - "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", + "node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helper-plugin-utils": "^7.25.9" - }, "engines": { - "node": ">=6.9.0" + "node": ">=18" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", - "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "node_modules/@csstools/css-color-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", + "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@csstools/color-helpers": "^5.1.0", + "@csstools/css-calc": "^2.1.4" }, "engines": { - "node": ">=6.9.0" + "node": ">=18" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", - "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, "engines": { - "node": ">=6.9.0" + "node": ">=18" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@csstools/css-tokenizer": "^3.0.4" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", - "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", - "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "node_modules/@emnapi/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.5.0.tgz", + "integrity": "sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" } }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.26.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", - "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==", + "node_modules/@emnapi/runtime": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz", + "integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "tslib": "^2.4.0" } }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", - "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "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": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "tslib": "^2.4.0" } }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", - "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9" - }, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", - "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", - "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", - "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", - "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", - "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", - "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", - "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.0.tgz", - "integrity": "sha512-LX/vCajUJQDqE7Aum/ELUMZAY19+cDpghxrnyt5I1tV6X5PyC86AOoWXWFYFeIvauyeSA6/ktn4tQVn/3ZifsA==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5", - "regenerator-transform": "^0.15.2" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-regexp-modifiers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", - "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", - "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", - "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", - "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", + "cpu": [ + "loong64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", - "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", + "cpu": [ + "mips64el" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz", - "integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.0.tgz", - "integrity": "sha512-+LLkxA9rKJpNoGsbLnAgOCdESl73vwYn+V6b+5wHbrE7OGKVDPHIQvbFSzqE6rwqaCw2RE+zdJrlLkcf8YOA0w==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.0.tgz", - "integrity": "sha512-fRGGjO2UEGPjvEcyAZXRXAS8AfdaQoq7HnxAbJoAoW10B9xOKesmmndJv+Sym2a+9FHWZ9KbyyLCe9s0Sn5jtg==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-create-class-features-plugin": "^7.27.0", - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/plugin-syntax-typescript": "^7.25.9" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", - "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", - "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", - "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", - "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/@babel/preset-env": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz", - "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.26.8", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.26.0", - "@babel/plugin-syntax-import-attributes": "^7.26.0", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.9", - "@babel/plugin-transform-async-generator-functions": "^7.26.8", - "@babel/plugin-transform-async-to-generator": "^7.25.9", - "@babel/plugin-transform-block-scoped-functions": "^7.26.5", - "@babel/plugin-transform-block-scoping": "^7.25.9", - "@babel/plugin-transform-class-properties": "^7.25.9", - "@babel/plugin-transform-class-static-block": "^7.26.0", - "@babel/plugin-transform-classes": "^7.25.9", - "@babel/plugin-transform-computed-properties": "^7.25.9", - "@babel/plugin-transform-destructuring": "^7.25.9", - "@babel/plugin-transform-dotall-regex": "^7.25.9", - "@babel/plugin-transform-duplicate-keys": "^7.25.9", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-dynamic-import": "^7.25.9", - "@babel/plugin-transform-exponentiation-operator": "^7.26.3", - "@babel/plugin-transform-export-namespace-from": "^7.25.9", - "@babel/plugin-transform-for-of": "^7.26.9", - "@babel/plugin-transform-function-name": "^7.25.9", - "@babel/plugin-transform-json-strings": "^7.25.9", - "@babel/plugin-transform-literals": "^7.25.9", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", - "@babel/plugin-transform-member-expression-literals": "^7.25.9", - "@babel/plugin-transform-modules-amd": "^7.25.9", - "@babel/plugin-transform-modules-commonjs": "^7.26.3", - "@babel/plugin-transform-modules-systemjs": "^7.25.9", - "@babel/plugin-transform-modules-umd": "^7.25.9", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-new-target": "^7.25.9", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", - "@babel/plugin-transform-numeric-separator": "^7.25.9", - "@babel/plugin-transform-object-rest-spread": "^7.25.9", - "@babel/plugin-transform-object-super": "^7.25.9", - "@babel/plugin-transform-optional-catch-binding": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9", - "@babel/plugin-transform-private-methods": "^7.25.9", - "@babel/plugin-transform-private-property-in-object": "^7.25.9", - "@babel/plugin-transform-property-literals": "^7.25.9", - "@babel/plugin-transform-regenerator": "^7.25.9", - "@babel/plugin-transform-regexp-modifiers": "^7.26.0", - "@babel/plugin-transform-reserved-words": "^7.25.9", - "@babel/plugin-transform-shorthand-properties": "^7.25.9", - "@babel/plugin-transform-spread": "^7.25.9", - "@babel/plugin-transform-sticky-regex": "^7.25.9", - "@babel/plugin-transform-template-literals": "^7.26.8", - "@babel/plugin-transform-typeof-symbol": "^7.26.7", - "@babel/plugin-transform-unicode-escapes": "^7.25.9", - "@babel/plugin-transform-unicode-property-regex": "^7.25.9", - "@babel/plugin-transform-unicode-regex": "^7.25.9", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.11.0", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.40.0", - "semver": "^6.3.1" - }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@babel/preset-typescript": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.0.tgz", - "integrity": "sha512-vxaPFfJtHhgeOVXRKuHpHPAOgymmy8V8I65T1q53R7GCZlefKeCaTyDs3zOPHTTbmquvNlQYC5klEvWsBAtrBQ==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-syntax-jsx": "^7.25.9", - "@babel/plugin-transform-modules-commonjs": "^7.26.3", - "@babel/plugin-transform-typescript": "^7.27.0" - }, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/runtime": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", - "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/template": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", - "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.27.0", - "@babel/types": "^7.27.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/traverse": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz", - "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==", + "node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.27.0", - "@babel/parser": "^7.27.0", - "@babel/template": "^7.27.0", - "@babel/types": "^7.27.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/types": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", - "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.8.0.tgz", + "integrity": "sha512-MJQFqrZgcW0UNYLGOuQpey/oTN59vyWwplvCGZztn1cKz9agZPPYpJB7h2OMmuu7VLqkvEjN8feFZJmxNF9D+Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": ">=6.9.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, "license": "MIT", - "optional": true, "engines": { - "node": ">=0.1.90" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@commitlint/cli": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.8.0.tgz", - "integrity": "sha512-t/fCrLVu+Ru01h0DtlgHZXbHV2Y8gKocTR5elDOqIRUzQd0/6hpt2VIWOj9b3NDo7y4/gfxeR2zRtXq/qO6iUg==", + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/format": "^19.8.0", - "@commitlint/lint": "^19.8.0", - "@commitlint/load": "^19.8.0", - "@commitlint/read": "^19.8.0", - "@commitlint/types": "^19.8.0", - "tinyexec": "^0.3.0", - "yargs": "^17.0.0" - }, - "bin": { - "commitlint": "cli.js" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=v18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@commitlint/config-conventional": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-19.8.0.tgz", - "integrity": "sha512-9I2kKJwcAPwMoAj38hwqFXG0CzS2Kj+SAByPUQ0SlHTfb7VUhYVmo7G2w2tBrqmOf7PFd6MpZ/a1GQJo8na8kw==", + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^19.8.0", - "conventional-changelog-conventionalcommits": "^7.0.2" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=v18" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@commitlint/config-validator": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-19.8.0.tgz", - "integrity": "sha512-+r5ZvD/0hQC3w5VOHJhGcCooiAVdynFlCe2d6I9dU+PvXdV3O+fU4vipVg+6hyLbQUuCH82mz3HnT/cBQTYYuA==", + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^19.8.0", - "ajv": "^8.11.0" - }, - "engines": { - "node": ">=v18" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@commitlint/ensure": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-19.8.0.tgz", - "integrity": "sha512-kNiNU4/bhEQ/wutI1tp1pVW1mQ0QbAjfPRo5v8SaxoVV+ARhkB8Wjg3BSseNYECPzWWfg/WDqQGIfV1RaBFQZg==", + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", "dependencies": { - "@commitlint/types": "^19.8.0", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.upperfirst": "^4.3.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=v18" + "node": "*" } }, - "node_modules/@commitlint/execute-rule": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-19.8.0.tgz", - "integrity": "sha512-fuLeI+EZ9x2v/+TXKAjplBJWI9CNrHnyi5nvUQGQt4WRkww/d95oVRsc9ajpt4xFrFmqMZkd/xBQHZDvALIY7A==", + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=v18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@commitlint/format": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-19.8.0.tgz", - "integrity": "sha512-EOpA8IERpQstxwp/WGnDArA7S+wlZDeTeKi98WMOvaDLKbjptuHWdOYYr790iO7kTCif/z971PKPI2PkWMfOxg==", + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@commitlint/types": "^19.8.0", - "chalk": "^5.3.0" + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" }, "engines": { - "node": ">=v18" + "node": ">=10.10.0" } }, - "node_modules/@commitlint/is-ignored": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-19.8.0.tgz", - "integrity": "sha512-L2Jv9yUg/I+jF3zikOV0rdiHUul9X3a/oU5HIXhAJLE2+TXTnEBfqYP9G5yMw/Yb40SnR764g4fyDK6WR2xtpw==", + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^19.8.0", - "semver": "^7.6.0" - }, - "engines": { - "node": ">=v18" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@commitlint/is-ignored/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=10" + "node": "*" } }, - "node_modules/@commitlint/lint": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-19.8.0.tgz", - "integrity": "sha512-+/NZKyWKSf39FeNpqhfMebmaLa1P90i1Nrb1SrA7oSU5GNN/lksA4z6+ZTnsft01YfhRZSYMbgGsARXvkr/VLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@commitlint/is-ignored": "^19.8.0", - "@commitlint/parse": "^19.8.0", - "@commitlint/rules": "^19.8.0", - "@commitlint/types": "^19.8.0" - }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=v18" + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@commitlint/load": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.8.0.tgz", - "integrity": "sha512-4rvmm3ff81Sfb+mcWT5WKlyOa+Hd33WSbirTVUer0wjS1Hv/Hzr07Uv1ULIV9DkimZKNyOwXn593c+h8lsDQPQ==", + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause" + }, + "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": { - "@commitlint/config-validator": "^19.8.0", - "@commitlint/execute-rule": "^19.8.0", - "@commitlint/resolve-extends": "^19.8.0", - "@commitlint/types": "^19.8.0", - "chalk": "^5.3.0", - "cosmiconfig": "^9.0.0", - "cosmiconfig-typescript-loader": "^6.1.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", - "lodash.uniq": "^4.5.0" + "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": ">=v18" + "node": ">=12" } }, - "node_modules/@commitlint/message": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-19.8.0.tgz", - "integrity": "sha512-qs/5Vi9bYjf+ZV40bvdCyBn5DvbuelhR6qewLE8Bh476F7KnNyLfdM/ETJ4cp96WgeeHo6tesA2TMXS0sh5X4A==", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, "engines": { - "node": ">=v18" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@commitlint/parse": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-19.8.0.tgz", - "integrity": "sha512-YNIKAc4EXvNeAvyeEnzgvm1VyAe0/b3Wax7pjJSwXuhqIQ1/t2hD3OYRXb6D5/GffIvaX82RbjD+nWtMZCLL7Q==", + "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": "MIT", + "license": "ISC", "dependencies": { - "@commitlint/types": "^19.8.0", - "conventional-changelog-angular": "^7.0.0", - "conventional-commits-parser": "^5.0.0" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=v18" + "node": ">=8" } }, - "node_modules/@commitlint/read": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-19.8.0.tgz", - "integrity": "sha512-6ywxOGYajcxK1y1MfzrOnwsXO6nnErna88gRWEl3qqOOP8MDu/DTeRkGLXBFIZuRZ7mm5yyxU5BmeUvMpNte5w==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/top-level": "^19.8.0", - "@commitlint/types": "^19.8.0", - "git-raw-commits": "^4.0.0", - "minimist": "^1.2.8", - "tinyexec": "^0.3.0" - }, - "engines": { - "node": ">=v18" + "sprintf-js": "~1.0.2" } }, - "node_modules/@commitlint/resolve-extends": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.8.0.tgz", - "integrity": "sha512-CLanRQwuG2LPfFVvrkTrBR/L/DMy3+ETsgBqW1OvRxmzp/bbVJW0Xw23LnnExgYcsaFtos967lul1CsbsnJlzQ==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/config-validator": "^19.8.0", - "@commitlint/types": "^19.8.0", - "global-directory": "^4.0.1", - "import-meta-resolve": "^4.0.0", - "lodash.mergewith": "^4.6.2", - "resolve-from": "^5.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=v18" + "node": ">=8" } }, - "node_modules/@commitlint/rules": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.8.0.tgz", - "integrity": "sha512-IZ5IE90h6DSWNuNK/cwjABLAKdy8tP8OgGVGbXe1noBEX5hSsu00uRlLu6JuruiXjWJz2dZc+YSw3H0UZyl/mA==", + "node_modules/@istanbuljs/load-nyc-config/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==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/ensure": "^19.8.0", - "@commitlint/message": "^19.8.0", - "@commitlint/to-lines": "^19.8.0", - "@commitlint/types": "^19.8.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">=v18" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@commitlint/to-lines": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-19.8.0.tgz", - "integrity": "sha512-3CKLUw41Cur8VMjh16y8LcsOaKbmQjAKCWlXx6B0vOUREplp6em9uIVhI8Cv934qiwkbi2+uv+mVZPnXJi1o9A==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, "engines": { - "node": ">=v18" + "node": ">=8" } }, - "node_modules/@commitlint/top-level": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-19.8.0.tgz", - "integrity": "sha512-Rphgoc/omYZisoNkcfaBRPQr4myZEHhLPx2/vTXNLjiCw4RgfPR1wEgUpJ9OOmDCiv5ZyIExhprNLhteqH4FuQ==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^7.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=v18" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/types": { - "version": "19.8.0", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-19.8.0.tgz", - "integrity": "sha512-LRjP623jPyf3Poyfb0ohMj8I3ORyBDOwXAgxxVPbSD0unJuW2mJWeiRfaQinjtccMqC5Wy1HOMfa4btKjbNxbg==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "license": "MIT", "dependencies": { - "@types/conventional-commits-parser": "^5.0.0", - "chalk": "^5.3.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=v18" + "node": ">=8" } }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz", - "integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==", - "cpu": [ - "ppc64" - ], + "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "aix" - ], "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.1.tgz", - "integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==", - "cpu": [ - "arm" - ], + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz", - "integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==", - "cpu": [ - "arm64" - ], + "node_modules/@jest/console": { + "version": "30.1.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.1.2.tgz", + "integrity": "sha512-BGMAxj8VRmoD0MoA/jo9alMXSRoqW8KPeqOfEo1ncxnRLatTBCpRoOwlwlEMdudp68Q6WSGwYrrLtTGOh8fLzw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "jest-message-util": "30.1.0", + "jest-util": "30.0.5", + "slash": "^3.0.0" + }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.1.tgz", - "integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==", - "cpu": [ - "x64" - ], + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=18" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz", - "integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==", - "cpu": [ - "arm64" - ], + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz", - "integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==", - "cpu": [ - "x64" - ], + "node_modules/@jest/core": { + "version": "30.1.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.1.3.tgz", + "integrity": "sha512-LIQz7NEDDO1+eyOA2ZmkiAyYvZuo6s1UxD/e2IHldR6D7UYogVq3arTmli07MkENLq6/3JEQjp0mA8rrHHJ8KQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "@jest/console": "30.1.2", + "@jest/pattern": "30.0.1", + "@jest/reporters": "30.1.3", + "@jest/test-result": "30.1.3", + "@jest/transform": "30.1.2", + "@jest/types": "30.0.5", + "@types/node": "*", + "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.0.5", + "jest-config": "30.1.3", + "jest-haste-map": "30.1.0", + "jest-message-util": "30.1.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.1.3", + "jest-resolve-dependencies": "30.1.3", + "jest-runner": "30.1.3", + "jest-runtime": "30.1.3", + "jest-snapshot": "30.1.2", + "jest-util": "30.0.5", + "jest-validate": "30.1.0", + "jest-watcher": "30.1.3", + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", + "slash": "^3.0.0" + }, "engines": { - "node": ">=18" + "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" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz", - "integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==", - "cpu": [ - "arm64" - ], + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=18" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz", - "integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==", - "cpu": [ - "x64" - ], + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz", - "integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==", - "cpu": [ - "arm" - ], + "node_modules/@jest/create-cache-key-function": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-30.0.5.tgz", + "integrity": "sha512-W1kmkwPq/WTMQWgvbzWSCbXSqvjI6rkqBQCxuvYmd+g6o4b5gHP98ikfh/Ei0SKzHvWdI84TOXp0hRcbpr8Q0w==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@jest/types": "30.0.5" + }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz", - "integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==", - "cpu": [ - "arm64" - ], + "node_modules/@jest/diff-sequences": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz", + "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz", - "integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==", - "cpu": [ - "ia32" - ], + "node_modules/@jest/environment": { + "version": "30.1.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.1.2.tgz", + "integrity": "sha512-N8t1Ytw4/mr9uN28OnVf0SYE2dGhaIxOVYcwsf9IInBKjvofAjbFRvedvBBlyTYk2knbJTiEjEJ2PyyDIBnd9w==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@jest/fake-timers": "30.1.2", + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-mock": "30.0.5" + }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz", - "integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==", - "cpu": [ - "loong64" - ], + "node_modules/@jest/environment-jsdom-abstract": { + "version": "30.1.2", + "resolved": "https://registry.npmjs.org/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.1.2.tgz", + "integrity": "sha512-u8kTh/ZBl97GOmnGJLYK/1GuwAruMC4hoP6xuk/kwltmVWsA9u/6fH1/CsPVGt2O+Wn2yEjs8n1B1zZJ62Cx0w==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@jest/environment": "30.1.2", + "@jest/fake-timers": "30.1.2", + "@jest/types": "30.0.5", + "@types/jsdom": "^21.1.7", + "@types/node": "*", + "jest-mock": "30.0.5", + "jest-util": "30.0.5" + }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz", - "integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==", - "cpu": [ - "mips64el" - ], + "node_modules/@jest/expect": { + "version": "30.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.1.2.tgz", + "integrity": "sha512-tyaIExOwQRCxPCGNC05lIjWJztDwk2gPDNSDGg1zitXJJ8dC3++G/CRjE5mb2wQsf89+lsgAgqxxNpDLiCViTA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "expect": "30.1.2", + "jest-snapshot": "30.1.2" + }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz", - "integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==", - "cpu": [ - "ppc64" - ], + "node_modules/@jest/expect-utils": { + "version": "30.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.1.2.tgz", + "integrity": "sha512-HXy1qT/bfdjCv7iC336ExbqqYtZvljrV8odNdso7dWK9bSeHtLlvwWWC3YSybSPL03Gg5rug6WLCZAZFH72m0A==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@jest/get-type": "30.1.0" + }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz", - "integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==", - "cpu": [ - "riscv64" - ], + "node_modules/@jest/fake-timers": { + "version": "30.1.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.1.2.tgz", + "integrity": "sha512-Beljfv9AYkr9K+ETX9tvV61rJTY706BhBUtiaepQHeEGfe0DbpvUA5Z3fomwc5Xkhns6NWrcFDZn+72fLieUnA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@jest/types": "30.0.5", + "@sinonjs/fake-timers": "^13.0.0", + "@types/node": "*", + "jest-message-util": "30.1.0", + "jest-mock": "30.0.5", + "jest-util": "30.0.5" + }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz", - "integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==", - "cpu": [ - "s390x" - ], + "node_modules/@jest/get-type": { + "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", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz", - "integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==", - "cpu": [ - "x64" - ], + "node_modules/@jest/globals": { + "version": "30.1.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.1.2.tgz", + "integrity": "sha512-teNTPZ8yZe3ahbYnvnVRDeOjr+3pu2uiAtNtrEsiMjVPPj+cXd5E/fr8BL7v/T7F31vYdEHrI5cC/2OoO/vM9A==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@jest/environment": "30.1.2", + "@jest/expect": "30.1.2", + "@jest/types": "30.0.5", + "jest-mock": "30.0.5" + }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz", - "integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==", - "cpu": [ - "arm64" - ], + "node_modules/@jest/pattern": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz", + "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], + "dependencies": { + "@types/node": "*", + "jest-regex-util": "30.0.1" + }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz", - "integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==", - "cpu": [ - "x64" - ], + "node_modules/@jest/reporters": { + "version": "30.1.3", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.1.3.tgz", + "integrity": "sha512-VWEQmJWfXMOrzdFEOyGjUEOuVXllgZsoPtEHZzfdNz18RmzJ5nlR6kp8hDdY8dDS1yGOXAY7DHT+AOHIPSBV0w==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "30.1.2", + "@jest/test-result": "30.1.3", + "@jest/transform": "30.1.2", + "@jest/types": "30.0.5", + "@jridgewell/trace-mapping": "^0.3.25", + "@types/node": "*", + "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": "^5.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "30.1.0", + "jest-util": "30.0.5", + "jest-worker": "30.1.0", + "slash": "^3.0.0", + "string-length": "^4.0.2", + "v8-to-istanbul": "^9.0.1" + }, "engines": { - "node": ">=18" + "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" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz", - "integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==", - "cpu": [ - "arm64" - ], + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=18" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz", - "integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==", - "cpu": [ - "x64" - ], + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz", - "integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==", - "cpu": [ - "x64" - ], + "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", - "optional": true, - "os": [ - "sunos" - ], + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz", - "integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==", - "cpu": [ - "arm64" - ], + "node_modules/@jest/snapshot-utils": { + "version": "30.1.2", + "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.1.2.tgz", + "integrity": "sha512-vHoMTpimcPSR7OxS2S0V1Cpg8eKDRxucHjoWl5u4RQcnxqQrV3avETiFpl8etn4dqxEGarBeHbIBety/f8mLXw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@jest/types": "30.0.5", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "natural-compare": "^1.4.0" + }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz", - "integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz", - "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==", - "cpu": [ - "x64" - ], + "node_modules/@jest/snapshot-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=18" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz", - "integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==", + "node_modules/@jest/snapshot-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.4.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "node_modules/@jest/source-map": { + "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.25", + "callsites": "^3.1.0", + "graceful-fs": "^4.2.11" + }, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "node_modules/@jest/test-result": { + "version": "30.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.1.3.tgz", + "integrity": "sha512-P9IV8T24D43cNRANPPokn7tZh0FAFnYS2HIfi5vK18CjRkTDR9Y3e1BoEcAJnl4ghZZF4Ecda4M/k41QkvurEQ==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@jest/console": "30.1.2", + "@jest/types": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "collect-v8-coverage": "^1.0.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@jest/test-sequencer": { + "version": "30.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.1.3.tgz", + "integrity": "sha512-82J+hzC0qeQIiiZDThh+YUadvshdBswi5nuyXlEmXzrhw5ZQSRHeQ5LpVMD/xc8B3wPePvs6VMzHnntxL+4E3w==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@jest/test-result": "30.1.3", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.1.0", + "slash": "^3.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@jest/transform": { + "version": "30.1.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.1.2.tgz", + "integrity": "sha512-UYYFGifSgfjujf1Cbd3iU/IQoSd6uwsj8XHj5DSDf5ERDcWMdJOPTkHWXj4U+Z/uMagyOQZ6Vne8C4nRIrCxqA==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@babel/core": "^7.27.4", + "@jest/types": "30.0.5", + "@jridgewell/trace-mapping": "^0.3.25", + "babel-plugin-istanbul": "^7.0.0", + "chalk": "^4.1.2", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.1.0", + "jest-regex-util": "30.0.1", + "jest-util": "30.0.5", + "micromatch": "^4.0.8", + "pirates": "^4.0.7", + "slash": "^3.0.0", + "write-file-atomic": "^5.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "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", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" + "@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": ">=10.10.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" + "color-convert": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=12.22" + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", + "node_modules/@jridgewell/gen-mapping": { + "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": "BSD-3-Clause" + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } }, - "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==", + "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, - "license": "ISC", + "license": "MIT", "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" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "node_modules/@jridgewell/sourcemap-codec": { + "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/@isaacs/cliui/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==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", "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" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@json-schema-spec/json-pointer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@json-schema-spec/json-pointer/-/json-pointer-0.1.2.tgz", + "integrity": "sha512-BYY7IavBjwsWWSmVcMz2A9mKiDD9RvacnsItgmy1xV8cmgbtxFfKmKMtkVpD7pYtkx4mIW4800yZBXueVFIWPw==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } + "license": "MIT" }, - "node_modules/@isaacs/cliui/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==", + "node_modules/@json-schema-tools/dereferencer": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@json-schema-tools/dereferencer/-/dereferencer-1.6.3.tgz", + "integrity": "sha512-NoQkj6hx9Joqbd/GZAOHSGtE6R+OzlnOcDfyidmx8e/CUv1Q+Z6/fmZo2wwCQWiwP1pnGYc95iKwp8M7XlV7wQ==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "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" + "@json-schema-tools/reference-resolver": "^1.2.6", + "@json-schema-tools/traverse": "^1.10.4", + "fast-safe-stringify": "^2.1.1" } }, - "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==", + "node_modules/@json-schema-tools/meta-schema": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@json-schema-tools/meta-schema/-/meta-schema-1.7.5.tgz", + "integrity": "sha512-8Hy6tuMC2BQdK7O4ilLovFB9t0j5o0L/sQTuWeg2CNYpITmPiFTRiG7Yb/jYd483D8784kxLFJ0dT+T4O2hNmw==", "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "Apache-2.0" }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@json-schema-tools/reference-resolver": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@json-schema-tools/reference-resolver/-/reference-resolver-1.2.6.tgz", + "integrity": "sha512-4QZu5ROb5EpLSvV+buzk8WR30W+dffSNaKqD3VGFYJ3y0BLDi2OHoSz5e6NKcLYTyUYXV8IKxocNOszeVBJI4Q==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "sprintf-js": "~1.0.2" + "@json-schema-spec/json-pointer": "^0.1.2", + "isomorphic-fetch": "^3.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/@json-schema-tools/traverse": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@json-schema-tools/traverse/-/traverse-1.11.0.tgz", + "integrity": "sha512-GWQRiXXsbt5ZuewItpW2nqB/D0x4pKWi6XXOwoh1wvmsU/tQSq/rKzpgGvOHTe6v30TYDwZYxuwnRnArIsUzLQ==", "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "Apache-2.0" }, - "node_modules/@istanbuljs/load-nyc-config/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==", + "node_modules/@napi-rs/blake-hash": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash/-/blake-hash-1.3.5.tgz", + "integrity": "sha512-7cYWntIvm6r4pipt0cNra/NDtxieo+68N7KxZXZDJp0MhbtsC+LATN29014jtaThUrKcx1/ztu8wtpFVzs/g4Q==", "dev": true, "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "engines": { + "node": ">= 10" }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/blake-hash-android-arm64": "1.3.5", + "@napi-rs/blake-hash-darwin-arm64": "1.3.5", + "@napi-rs/blake-hash-darwin-x64": "1.3.5", + "@napi-rs/blake-hash-freebsd-x64": "1.3.5", + "@napi-rs/blake-hash-linux-arm-gnueabihf": "1.3.5", + "@napi-rs/blake-hash-linux-arm64-gnu": "1.3.5", + "@napi-rs/blake-hash-linux-arm64-musl": "1.3.5", + "@napi-rs/blake-hash-linux-ppc64-gnu": "1.3.5", + "@napi-rs/blake-hash-linux-s390x-gnu": "1.3.5", + "@napi-rs/blake-hash-linux-x64-gnu": "1.3.5", + "@napi-rs/blake-hash-linux-x64-musl": "1.3.5", + "@napi-rs/blake-hash-win32-arm64-msvc": "1.3.5", + "@napi-rs/blake-hash-win32-ia32-msvc": "1.3.5", + "@napi-rs/blake-hash-win32-x64-msvc": "1.3.5" + } + }, + "node_modules/@napi-rs/blake-hash-android-arm64": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-android-arm64/-/blake-hash-android-arm64-1.3.5.tgz", + "integrity": "sha512-1Q5WA8kFPdRUveE8IffkrNg1uFE076PfW5RMnX3m9FITH6ANZxyuXCGU7F726dQgKl7q7+0be4g15uMIbxvD9w==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/@napi-rs/blake-hash-darwin-arm64": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-darwin-arm64/-/blake-hash-darwin-arm64-1.3.5.tgz", + "integrity": "sha512-7ctuzx1iG/ZuFgPRkRodlnUYxslR+lZQBMoLX6y1J5U3xUQEIKim+XT/OUDSOXqWUoZOBkceMNTSXtVwj2JhUw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@napi-rs/blake-hash-darwin-x64": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-darwin-x64/-/blake-hash-darwin-x64-1.3.5.tgz", + "integrity": "sha512-cv0bpyAXJyS7deJfRPKRitTBxjmADEKSir+BAwYTzYqG6TC26YEqKx7wfepWtTfByZcr78QD91LMaoycvFnGaA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/@napi-rs/blake-hash-freebsd-x64": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-freebsd-x64/-/blake-hash-freebsd-x64-1.3.5.tgz", + "integrity": "sha512-Eczd+BDheRqx2BRmyA0++89jC99DZLYEMLLR1hpVrDgfQcR6RV08DBjjHPjoWT3PQmL+VUOkoD+Uh4OngK2Y2g==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@napi-rs/blake-hash-linux-arm-gnueabihf": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-linux-arm-gnueabihf/-/blake-hash-linux-arm-gnueabihf-1.3.5.tgz", + "integrity": "sha512-CSk4blsM+D/LPXKufFoTWs7lAgA89HhN6PsB+9oskQPiINFF++iq2eTDWF+yMT13uT+jYZbnoPH3K3uD+9+lZQ==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "node_modules/@napi-rs/blake-hash-linux-arm64-gnu": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-linux-arm64-gnu/-/blake-hash-linux-arm64-gnu-1.3.5.tgz", + "integrity": "sha512-7ENesxQL2TTqQF3yxZh4NF43qUM0IJ6EqiHYzf1WEqSHV9yaGDjsqMh483tA3p7raHlkxoyVGNjeRZ9+arx6rg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 10" } }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@napi-rs/blake-hash-linux-arm64-musl": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-linux-arm64-musl/-/blake-hash-linux-arm64-musl-1.3.5.tgz", + "integrity": "sha512-uy5E5wNKJHMQ4b7asDaxkh8vrk2W4w8QlFbHgp9dNkNFTbbAYHUJyiKJt9p2xDzpHCG4KfLYXdLlR9f0RyXGwg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 10" } }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@napi-rs/blake-hash-linux-ppc64-gnu": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-linux-ppc64-gnu/-/blake-hash-linux-ppc64-gnu-1.3.5.tgz", + "integrity": "sha512-z/11VkQn79+Zp8uunHvqsnzSC/+2L0L9sfvizCyVtOuSWSVO4x1wnSRBebrOEBqPi5asmP4akS8C25/iDGvKFA==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 10" } }, - "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==", + "node_modules/@napi-rs/blake-hash-linux-s390x-gnu": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-linux-s390x-gnu/-/blake-hash-linux-s390x-gnu-1.3.5.tgz", + "integrity": "sha512-UJQrW37WZtn6xNLTHrT5uOV+vrm0nH6QE/H9KpFVu2F9Way2p/2UkbWPS1Fq1lADzYgc6tRvm1OECdvMqul4AQ==", + "cpu": [ + "s390x" + ], "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", - "@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" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">= 10" } }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@napi-rs/blake-hash-linux-x64-gnu": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-linux-x64-gnu/-/blake-hash-linux-x64-gnu-1.3.5.tgz", + "integrity": "sha512-HjCOxo+LIKbQnipV/g0SBoHr9BOF5h3eA3VK0v4Bxm/4EG/ODOrrWf1r8iOYDICVmyUwk9DafAB/cKtqyopbcQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 10" } }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@napi-rs/blake-hash-linux-x64-musl": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-linux-x64-musl/-/blake-hash-linux-x64-musl-1.3.5.tgz", + "integrity": "sha512-O0Vha6EKRAEz0Rf+il61+X+8M68ADI534myXIsvus86jw7nWKogf4/cjzsMm3h823JxprgFxDfaXg5HZ+JP5TA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 10" } }, - "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==", + "node_modules/@napi-rs/blake-hash-win32-arm64-msvc": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-win32-arm64-msvc/-/blake-hash-win32-arm64-msvc-1.3.5.tgz", + "integrity": "sha512-dtQe01RTYIvo/oPEaTN1rAXZLi+uR7+wJMoTEVZ3Zl2TVyNO8GMbm5t35BgbBSsDBN2PsGF12zQCINsoqL2/TA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 10" } }, - "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==", + "node_modules/@napi-rs/blake-hash-win32-ia32-msvc": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-win32-ia32-msvc/-/blake-hash-win32-ia32-msvc-1.3.5.tgz", + "integrity": "sha512-ewHZGwRPK3PJw6XlZMQ7OaSN/DSYGzxPdCXr698NpHvmqe46VpiOY72b2RxZenJwvceXHqsbMXTyp26Hvy2mlA==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 10" } }, - "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==", + "node_modules/@napi-rs/blake-hash-win32-x64-msvc": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@napi-rs/blake-hash-win32-x64-msvc/-/blake-hash-win32-x64-msvc-1.3.5.tgz", + "integrity": "sha512-f6ivvPWsUdcXi90Uq2OJHJpHhAoLRT0x6y0Hs4WM9Ow8E7PcIHCzcrPntmBFblC9qbtq+ZNmRtHMQ4kpQxDSIw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "jest-get-type": "^29.6.3" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 10" } }, - "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==", + "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": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" } }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", - "dev": true, + "node_modules/@noble/curves": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.7.0.tgz", + "integrity": "sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==", "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" + "@noble/hashes": "1.6.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", - "dev": true, + "node_modules/@noble/curves/node_modules/@noble/hashes": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.0.tgz", + "integrity": "sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==", "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", - "@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", - "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-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": "^14.21.3 || >=16" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, + "node_modules/@noble/hashes": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", + "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": "^14.21.3 || >=16" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 8" } }, - "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==", + "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==", "dev": true, "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "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==", + "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": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "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==", + "node_modules/@octokit/auth-token": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", + "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==", "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" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 20" } }, - "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==", + "node_modules/@octokit/core": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.3.tgz", + "integrity": "sha512-oNXsh2ywth5aowwIa7RKtawnkdH6LgU1ztfP9AIUCQCvzysB+WeU8o2kyyosDPwBZutPpjZDKPQGIzzrfTWweQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" + "@octokit/auth-token": "^6.0.0", + "@octokit/graphql": "^9.0.1", + "@octokit/request": "^10.0.2", + "@octokit/request-error": "^7.0.0", + "@octokit/types": "^14.0.0", + "before-after-hook": "^4.0.0", + "universal-user-agent": "^7.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 20" } }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "node_modules/@octokit/endpoint": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.0.tgz", + "integrity": "sha512-hoYicJZaqISMAI3JfaDr1qMNi48OctWuOih1m80bkYow/ayPw6Jj52tqWJ6GEoFTk1gBqfanSoI1iY99Z5+ekQ==", "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", - "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", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 20" } }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@octokit/graphql": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.1.tgz", + "integrity": "sha512-j1nQNU1ZxNFx2ZtKmL4sMrs4egy5h65OMDmSbVyuCzjOcwsHq6EaYjOTGXPQxgfiN8dJ4CriYHk6zF050WEULg==", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@octokit/request": "^10.0.2", + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 20" } }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-13.1.1.tgz", + "integrity": "sha512-q9iQGlZlxAVNRN2jDNskJW/Cafy7/XE52wjZ5TTvyhyOD904Cvx//DNyoO3J/MXJ0ve3rPoNWKEg5iZrisQSuw==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@octokit/types": "^14.1.0" }, "engines": { - "node": ">=10" + "node": ">= 20" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@octokit/core": ">=6" } }, - "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==", + "node_modules/@octokit/plugin-retry": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-8.0.1.tgz", + "integrity": "sha512-KUoYR77BjF5O3zcwDQHRRZsUvJwepobeqiSSdCJ8lWt27FZExzb0GgVxrhhfuyF6z2B2zpO0hN5pteni1sqWiw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "@octokit/request-error": "^7.0.0", + "@octokit/types": "^14.0.0", + "bottleneck": "^2.15.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": ">=7" } }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@octokit/plugin-throttling": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-11.0.1.tgz", + "integrity": "sha512-S+EVhy52D/272L7up58dr3FNSMXWuNZolkL4zMJBNIfIxyZuUcczsQAU4b5w6dewJXnKYVgSHSV5wxitMSW1kw==", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@octokit/types": "^14.0.0", + "bottleneck": "^2.15.3" }, "engines": { - "node": ">=8" + "node": ">= 20" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@octokit/core": "^7.0.0" } }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@octokit/request": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.3.tgz", + "integrity": "sha512-V6jhKokg35vk098iBqp2FBKunk3kMTXlmq+PtbV9Gl3TfskWlebSofU9uunVKhUN7xl+0+i5vt0TGTG8/p/7HA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@json-schema-spec/json-pointer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@json-schema-spec/json-pointer/-/json-pointer-0.1.2.tgz", - "integrity": "sha512-BYY7IavBjwsWWSmVcMz2A9mKiDD9RvacnsItgmy1xV8cmgbtxFfKmKMtkVpD7pYtkx4mIW4800yZBXueVFIWPw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@json-schema-tools/dereferencer": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@json-schema-tools/dereferencer/-/dereferencer-1.6.3.tgz", - "integrity": "sha512-NoQkj6hx9Joqbd/GZAOHSGtE6R+OzlnOcDfyidmx8e/CUv1Q+Z6/fmZo2wwCQWiwP1pnGYc95iKwp8M7XlV7wQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@json-schema-tools/reference-resolver": "^1.2.6", - "@json-schema-tools/traverse": "^1.10.4", - "fast-safe-stringify": "^2.1.1" - } - }, - "node_modules/@json-schema-tools/meta-schema": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@json-schema-tools/meta-schema/-/meta-schema-1.7.5.tgz", - "integrity": "sha512-8Hy6tuMC2BQdK7O4ilLovFB9t0j5o0L/sQTuWeg2CNYpITmPiFTRiG7Yb/jYd483D8784kxLFJ0dT+T4O2hNmw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/@json-schema-tools/reference-resolver": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@json-schema-tools/reference-resolver/-/reference-resolver-1.2.6.tgz", - "integrity": "sha512-4QZu5ROb5EpLSvV+buzk8WR30W+dffSNaKqD3VGFYJ3y0BLDi2OHoSz5e6NKcLYTyUYXV8IKxocNOszeVBJI4Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@json-schema-spec/json-pointer": "^0.1.2", - "isomorphic-fetch": "^3.0.0" - } - }, - "node_modules/@json-schema-tools/traverse": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/@json-schema-tools/traverse/-/traverse-1.10.4.tgz", - "integrity": "sha512-9e42zjhLIxzBONroNC4SGsTqdB877tzwH2S6lqgTav9K24kWJR9vNieeMVSuyqnY8FlclH21D8wsm/tuD9WA9Q==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/@noble/curves": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.7.0.tgz", - "integrity": "sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==", - "license": "MIT", - "dependencies": { - "@noble/hashes": "1.6.0" - }, - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@noble/hashes": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.0.tgz", - "integrity": "sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==", - "license": "MIT", - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "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==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "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==", - "dev": true, - "license": "MIT", - "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_modules/@octokit/auth-token": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", - "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/core": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz", - "integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/auth-token": "^5.0.0", - "@octokit/graphql": "^8.1.2", - "@octokit/request": "^9.2.1", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "before-after-hook": "^3.0.2", - "universal-user-agent": "^7.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/graphql": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.1.tgz", - "integrity": "sha512-n57hXtOoHrhwTWdvhVkdJHdhTv0JstjDbDRhJfwIRNfFqmSo1DaK/mD2syoNUoLCyqSjBpGAKOG0BuwF392slw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/request": "^9.2.2", - "@octokit/types": "^13.8.0", - "universal-user-agent": "^7.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/openapi-types": { - "version": "24.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", - "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "11.6.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.6.0.tgz", - "integrity": "sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.10.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": ">=6" - } - }, - "node_modules/@octokit/plugin-retry": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.2.0.tgz", - "integrity": "sha512-psMbEYb/Fh+V+ZaFo8J16QiFz4sVTv3GntCSU+hYqzHiMdc3P+hhHLVv+dJt0PGIPAGoIA5u+J2DCJdK6lEPsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "bottleneck": "^2.15.3" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": ">=6" - } - }, - "node_modules/@octokit/plugin-throttling": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.6.0.tgz", - "integrity": "sha512-zn7m1N3vpJDaVzLqjCRdJ0cRzNiekHEWPi8Ww9xyPNrDt5PStHvVE0eR8wy4RSU8Eg7YO8MHyvn6sv25EGVhhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/types": "^13.7.0", - "bottleneck": "^2.15.3" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "^6.1.3" - } - }, - "node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", + "@octokit/endpoint": "^11.0.0", + "@octokit/request-error": "^7.0.0", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^3.0.0", "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.0.0.tgz", + "integrity": "sha512-KRA7VTGdVyJlh0cP5Tf94hTiYVVqmt2f3I6mnimmaVz4UG3gQV/k4mDJlJv3X67iX6rmN7gSHCF8ssqeMnmhZg==", "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^13.6.2" + "@octokit/types": "^14.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/types": { - "version": "13.10.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", - "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", "dev": true, "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^24.2.0" + "@octokit/openapi-types": "^25.1.0" } }, "node_modules/@open-rpc/meta-schema": { @@ -3827,16 +3092,16 @@ } }, "node_modules/@pkgr/core": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.0.tgz", - "integrity": "sha512-vsJDAkYR6qCPu+ioGScGiMYR7LvZYIXh/dlQeviqoTWNCVfKTLYD/LkNWH4Mxsv2a5vpIRc77FN5DnmK1eBggQ==", + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", "dev": true, "license": "MIT", "engines": { "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/unts" + "url": "https://opencollective.com/pkgr" } }, "node_modules/@pnpm/config.env-replace": { @@ -3885,9 +3150,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.37.0.tgz", - "integrity": "sha512-l7StVw6WAa8l3vA1ov80jyetOAEo1FtHvZDbzXDO/02Sq/QVvqlHkYoFwDJPIMj0GKiistsBudfx5tGFnwYWDQ==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.50.0.tgz", + "integrity": "sha512-lVgpeQyy4fWN5QYebtW4buT/4kn4p4IJ+kDNB4uYNT5b8c8DLJDg6titg20NIg7E8RWwdWZORW6vUFfrLyG3KQ==", "cpu": [ "arm" ], @@ -3899,9 +3164,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.37.0.tgz", - "integrity": "sha512-6U3SlVyMxezt8Y+/iEBcbp945uZjJwjZimu76xoG7tO1av9VO691z8PkhzQ85ith2I8R2RddEPeSfcbyPfD4hA==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.50.0.tgz", + "integrity": "sha512-2O73dR4Dc9bp+wSYhviP6sDziurB5/HCym7xILKifWdE9UsOe2FtNcM+I4xZjKrfLJnq5UR8k9riB87gauiQtw==", "cpu": [ "arm64" ], @@ -3913,9 +3178,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.37.0.tgz", - "integrity": "sha512-+iTQ5YHuGmPt10NTzEyMPbayiNTcOZDWsbxZYR1ZnmLnZxG17ivrPSWFO9j6GalY0+gV3Jtwrrs12DBscxnlYA==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.50.0.tgz", + "integrity": "sha512-vwSXQN8T4sKf1RHr1F0s98Pf8UPz7pS6P3LG9NSmuw0TVh7EmaE+5Ny7hJOZ0M2yuTctEsHHRTMi2wuHkdS6Hg==", "cpu": [ "arm64" ], @@ -3927,9 +3192,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.37.0.tgz", - "integrity": "sha512-m8W2UbxLDcmRKVjgl5J/k4B8d7qX2EcJve3Sut7YGrQoPtCIQGPH5AMzuFvYRWZi0FVS0zEY4c8uttPfX6bwYQ==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.50.0.tgz", + "integrity": "sha512-cQp/WG8HE7BCGyFVuzUg0FNmupxC+EPZEwWu2FCGGw5WDT1o2/YlENbm5e9SMvfDFR6FRhVCBePLqj0o8MN7Vw==", "cpu": [ "x64" ], @@ -3941,9 +3206,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.37.0.tgz", - "integrity": "sha512-FOMXGmH15OmtQWEt174v9P1JqqhlgYge/bUjIbiVD1nI1NeJ30HYT9SJlZMqdo1uQFyt9cz748F1BHghWaDnVA==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.50.0.tgz", + "integrity": "sha512-UR1uTJFU/p801DvvBbtDD7z9mQL8J80xB0bR7DqW7UGQHRm/OaKzp4is7sQSdbt2pjjSS72eAtRh43hNduTnnQ==", "cpu": [ "arm64" ], @@ -3955,9 +3220,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.37.0.tgz", - "integrity": "sha512-SZMxNttjPKvV14Hjck5t70xS3l63sbVwl98g3FlVVx2YIDmfUIy29jQrsw06ewEYQ8lQSuY9mpAPlmgRD2iSsA==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.50.0.tgz", + "integrity": "sha512-G/DKyS6PK0dD0+VEzH/6n/hWDNPDZSMBmqsElWnCRGrYOb2jC0VSupp7UAHHQ4+QILwkxSMaYIbQ72dktp8pKA==", "cpu": [ "x64" ], @@ -3969,9 +3234,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.37.0.tgz", - "integrity": "sha512-hhAALKJPidCwZcj+g+iN+38SIOkhK2a9bqtJR+EtyxrKKSt1ynCBeqrQy31z0oWU6thRZzdx53hVgEbRkuI19w==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.50.0.tgz", + "integrity": "sha512-u72Mzc6jyJwKjJbZZcIYmd9bumJu7KNmHYdue43vT1rXPm2rITwmPWF0mmPzLm9/vJWxIRbao/jrQmxTO0Sm9w==", "cpu": [ "arm" ], @@ -3983,9 +3248,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.37.0.tgz", - "integrity": "sha512-jUb/kmn/Gd8epbHKEqkRAxq5c2EwRt0DqhSGWjPFxLeFvldFdHQs/n8lQ9x85oAeVb6bHcS8irhTJX2FCOd8Ag==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.50.0.tgz", + "integrity": "sha512-S4UefYdV0tnynDJV1mdkNawp0E5Qm2MtSs330IyHgaccOFrwqsvgigUD29uT+B/70PDY1eQ3t40+xf6wIvXJyg==", "cpu": [ "arm" ], @@ -3997,9 +3262,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.37.0.tgz", - "integrity": "sha512-oNrJxcQT9IcbcmKlkF+Yz2tmOxZgG9D9GRq+1OE6XCQwCVwxixYAa38Z8qqPzQvzt1FCfmrHX03E0pWoXm1DqA==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.50.0.tgz", + "integrity": "sha512-1EhkSvUQXJsIhk4msxP5nNAUWoB4MFDHhtc4gAYvnqoHlaL9V3F37pNHabndawsfy/Tp7BPiy/aSa6XBYbaD1g==", "cpu": [ "arm64" ], @@ -4011,9 +3276,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.37.0.tgz", - "integrity": "sha512-pfxLBMls+28Ey2enpX3JvjEjaJMBX5XlPCZNGxj4kdJyHduPBXtxYeb8alo0a7bqOoWZW2uKynhHxF/MWoHaGQ==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.50.0.tgz", + "integrity": "sha512-EtBDIZuDtVg75xIPIK1l5vCXNNCIRM0OBPUG+tbApDuJAy9mKago6QxX+tfMzbCI6tXEhMuZuN1+CU8iDW+0UQ==", "cpu": [ "arm64" ], @@ -4025,9 +3290,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.37.0.tgz", - "integrity": "sha512-yCE0NnutTC/7IGUq/PUHmoeZbIwq3KRh02e9SfFh7Vmc1Z7atuJRYWhRME5fKgT8aS20mwi1RyChA23qSyRGpA==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.50.0.tgz", + "integrity": "sha512-BGYSwJdMP0hT5CCmljuSNx7+k+0upweM2M4YGfFBjnFSZMHOLYR0gEEj/dxyYJ6Zc6AiSeaBY8dWOa11GF/ppQ==", "cpu": [ "loong64" ], @@ -4038,10 +3303,10 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.37.0.tgz", - "integrity": "sha512-NxcICptHk06E2Lh3a4Pu+2PEdZ6ahNHuK7o6Np9zcWkrBMuv21j10SQDJW3C9Yf/A/P7cutWoC/DptNLVsZ0VQ==", + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.50.0.tgz", + "integrity": "sha512-I1gSMzkVe1KzAxKAroCJL30hA4DqSi+wGc5gviD0y3IL/VkvcnAqwBf4RHXHyvH66YVHxpKO8ojrgc4SrWAnLg==", "cpu": [ "ppc64" ], @@ -4053,9 +3318,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.37.0.tgz", - "integrity": "sha512-PpWwHMPCVpFZLTfLq7EWJWvrmEuLdGn1GMYcm5MV7PaRgwCEYJAwiN94uBuZev0/J/hFIIJCsYw4nLmXA9J7Pw==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.50.0.tgz", + "integrity": "sha512-bSbWlY3jZo7molh4tc5dKfeSxkqnf48UsLqYbUhnkdnfgZjgufLS/NTA8PcP/dnvct5CCdNkABJ56CbclMRYCA==", "cpu": [ "riscv64" ], @@ -4067,9 +3332,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.37.0.tgz", - "integrity": "sha512-DTNwl6a3CfhGTAOYZ4KtYbdS8b+275LSLqJVJIrPa5/JuIufWWZ/QFvkxp52gpmguN95eujrM68ZG+zVxa8zHA==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.50.0.tgz", + "integrity": "sha512-LSXSGumSURzEQLT2e4sFqFOv3LWZsEF8FK7AAv9zHZNDdMnUPYH3t8ZlaeYYZyTXnsob3htwTKeWtBIkPV27iQ==", "cpu": [ "riscv64" ], @@ -4081,9 +3346,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.37.0.tgz", - "integrity": "sha512-hZDDU5fgWvDdHFuExN1gBOhCuzo/8TMpidfOR+1cPZJflcEzXdCy1LjnklQdW8/Et9sryOPJAKAQRw8Jq7Tg+A==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.50.0.tgz", + "integrity": "sha512-CxRKyakfDrsLXiCyucVfVWVoaPA4oFSpPpDwlMcDFQvrv3XY6KEzMtMZrA+e/goC8xxp2WSOxHQubP8fPmmjOQ==", "cpu": [ "s390x" ], @@ -4095,9 +3360,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.37.0.tgz", - "integrity": "sha512-pKivGpgJM5g8dwj0ywBwe/HeVAUSuVVJhUTa/URXjxvoyTT/AxsLTAbkHkDHG7qQxLoW2s3apEIl26uUe08LVQ==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.50.0.tgz", + "integrity": "sha512-8PrJJA7/VU8ToHVEPu14FzuSAqVKyo5gg/J8xUerMbyNkWkO9j2ExBho/68RnJsMGNJq4zH114iAttgm7BZVkA==", "cpu": [ "x64" ], @@ -4109,9 +3374,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.37.0.tgz", - "integrity": "sha512-E2lPrLKE8sQbY/2bEkVTGDEk4/49UYRVWgj90MY8yPjpnGBQ+Xi1Qnr7b7UIWw1NOggdFQFOLZ8+5CzCiz143w==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.50.0.tgz", + "integrity": "sha512-SkE6YQp+CzpyOrbw7Oc4MgXFvTw2UIBElvAvLCo230pyxOLmYwRPwZ/L5lBe/VW/qT1ZgND9wJfOsdy0XptRvw==", "cpu": [ "x64" ], @@ -4122,10 +3387,10 @@ "linux" ] }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.37.0.tgz", - "integrity": "sha512-Jm7biMazjNzTU4PrQtr7VS8ibeys9Pn29/1bm4ph7CP2kf21950LgN+BaE2mJ1QujnvOc6p54eWWiVvn05SOBg==", + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.50.0.tgz", + "integrity": "sha512-PZkNLPfvXeIOgJWA804zjSFH7fARBBCpCXxgkGDRjjAhRLOR8o0IGS01ykh5GYfod4c2yiiREuDM8iZ+pVsT+Q==", "cpu": [ "arm64" ], @@ -4133,15 +3398,15 @@ "license": "MIT", "optional": true, "os": [ - "win32" + "openharmony" ] }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.37.0.tgz", - "integrity": "sha512-e3/1SFm1OjefWICB2Ucstg2dxYDkDTZGDYgwufcbsxTHyqQps1UQf33dFEChBNmeSsTOyrjw2JJq0zbG5GF6RA==", + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.50.0.tgz", + "integrity": "sha512-q7cIIdFvWQoaCbLDUyUc8YfR3Jh2xx3unO8Dn6/TTogKjfwrax9SyfmGGK6cQhKtjePI7jRfd7iRYcxYs93esg==", "cpu": [ - "ia32" + "arm64" ], "dev": true, "license": "MIT", @@ -4150,10 +3415,24 @@ "win32" ] }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.37.0.tgz", - "integrity": "sha512-LWbXUBwn/bcLx2sSsqy7pK5o+Nr+VCoRoAohfJ5C/aBio9nfJmGQqHAhU6pwxV/RmyTk5AqdySma7uwWGlmeuA==", + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.50.0.tgz", + "integrity": "sha512-XzNOVg/YnDOmFdDKcxxK410PrcbcqZkBmz+0FicpW5jtjKQxcW1BZJEQOF0NJa6JO7CZhett8GEtRN/wYLYJuw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.50.0.tgz", + "integrity": "sha512-xMmiWRR8sp72Zqwjgtf3QbZfF1wdh8X2ABu3EaozvZcyHJeU0r+XAnXdKgs4cCAp6ORoYoCygipYP1mjmbjrsg==", "cpu": [ "x64" ], @@ -4172,9 +3451,9 @@ "license": "MIT" }, "node_modules/@scure/base": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz", - "integrity": "sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz", + "integrity": "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==", "license": "MIT", "funding": { "url": "https://paulmillr.com/funding/" @@ -4200,475 +3479,3116 @@ "dev": true, "license": "MIT" }, - "node_modules/@semantic-release/changelog": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz", - "integrity": "sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==", + "node_modules/@semantic-release/changelog": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz", + "integrity": "sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@semantic-release/error": "^3.0.0", + "aggregate-error": "^3.0.0", + "fs-extra": "^11.0.0", + "lodash": "^4.17.4" + }, + "engines": { + "node": ">=14.17" + }, + "peerDependencies": { + "semantic-release": ">=18.0.0" + } + }, + "node_modules/@semantic-release/commit-analyzer": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.1.tgz", + "integrity": "sha512-wdnBPHKkr9HhNhXOhZD5a2LNl91+hs8CC2vsAVYxtZH3y0dV3wKn+uZSN61rdJQZ8EGxzWB3inWocBHV9+u/CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-changelog-angular": "^8.0.0", + "conventional-changelog-writer": "^8.0.0", + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.0.0", + "debug": "^4.0.0", + "import-from-esm": "^2.0.0", + "lodash-es": "^4.17.21", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-changelog-angular": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz", + "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-commits-parser": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.2.0.tgz", + "integrity": "sha512-uLnoLeIW4XaoFtH37qEcg/SXMJmKF4vi7V0H2rnPueg+VEtFGA/asSCNTcq4M/GQ6QmlzchAEtOoDTtKqWeHag==", + "dev": true, + "license": "MIT", + "dependencies": { + "meow": "^13.0.0" + }, + "bin": { + "conventional-commits-parser": "dist/cli/index.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@semantic-release/error": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz", + "integrity": "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@semantic-release/git": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-10.0.1.tgz", + "integrity": "sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@semantic-release/error": "^3.0.0", + "aggregate-error": "^3.0.0", + "debug": "^4.0.0", + "dir-glob": "^3.0.0", + "execa": "^5.0.0", + "lodash": "^4.17.4", + "micromatch": "^4.0.0", + "p-reduce": "^2.0.0" + }, + "engines": { + "node": ">=14.17" + }, + "peerDependencies": { + "semantic-release": ">=18.0.0" + } + }, + "node_modules/@semantic-release/github": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.5.tgz", + "integrity": "sha512-wJamzHteXwBdopvkTD6BJjPz1UHLm20twlVCSMA9zpd3B5KrOQX137jfTbNJT6ZVz3pXtg0S1DroQl4wifJ4WQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/core": "^7.0.0", + "@octokit/plugin-paginate-rest": "^13.0.0", + "@octokit/plugin-retry": "^8.0.0", + "@octokit/plugin-throttling": "^11.0.0", + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "debug": "^4.3.4", + "dir-glob": "^3.0.1", + "globby": "^14.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "issue-parser": "^7.0.0", + "lodash-es": "^4.17.21", + "mime": "^4.0.0", + "p-filter": "^4.0.0", + "url-join": "^5.0.0" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=24.1.0" + } + }, + "node_modules/@semantic-release/github/node_modules/@semantic-release/error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@semantic-release/github/node_modules/aggregate-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^5.2.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/github/node_modules/clean-stack": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/github/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/github/node_modules/globby": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/github/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@semantic-release/github/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/github/node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/github/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/github/node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.2.tgz", + "integrity": "sha512-+M9/Lb35IgnlUO6OSJ40Ie+hUsZLuph2fqXC/qrKn0fMvUU/jiCjpoL6zEm69vzcmaZJ8yNKtMBEKHWN49WBbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "execa": "^9.0.0", + "fs-extra": "^11.0.0", + "lodash-es": "^4.17.21", + "nerf-dart": "^1.0.0", + "normalize-url": "^8.0.0", + "npm": "^10.9.3", + "rc": "^1.2.8", + "read-pkg": "^9.0.0", + "registry-auth-token": "^5.0.0", + "semver": "^7.1.2", + "tempy": "^3.0.0" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/@semantic-release/error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@semantic-release/npm/node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/aggregate-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^5.2.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/clean-stack": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/execa": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz", + "integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.6", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.1", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.2.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@semantic-release/npm/node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/human-signals": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.4.tgz", + "integrity": "sha512-OnUG836FwboQIbqtefDNlyR0gTHzIfwRfE3DuiNewBvnMnWEpB0VEXwBlFVgqpNzIgYo/MHh3d2Hel/pszapAA==", + "bundleDependencies": [ + "@isaacs/string-locale-compare", + "@npmcli/arborist", + "@npmcli/config", + "@npmcli/fs", + "@npmcli/map-workspaces", + "@npmcli/package-json", + "@npmcli/promise-spawn", + "@npmcli/redact", + "@npmcli/run-script", + "@sigstore/tuf", + "abbrev", + "archy", + "cacache", + "chalk", + "ci-info", + "cli-columns", + "fastest-levenshtein", + "fs-minipass", + "glob", + "graceful-fs", + "hosted-git-info", + "ini", + "init-package-json", + "is-cidr", + "json-parse-even-better-errors", + "libnpmaccess", + "libnpmdiff", + "libnpmexec", + "libnpmfund", + "libnpmhook", + "libnpmorg", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion", + "make-fetch-happen", + "minimatch", + "minipass", + "minipass-pipeline", + "ms", + "node-gyp", + "nopt", + "normalize-package-data", + "npm-audit-report", + "npm-install-checks", + "npm-package-arg", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "p-map", + "pacote", + "parse-conflict-json", + "proc-log", + "qrcode-terminal", + "read", + "semver", + "spdx-expression-parse", + "ssri", + "supports-color", + "tar", + "text-table", + "tiny-relative-date", + "treeverse", + "validate-npm-package-name", + "which", + "write-file-atomic" + ], + "dev": true, + "license": "Artistic-2.0", + "workspaces": [ + "docs", + "smoke-tests", + "mock-globals", + "mock-registry", + "workspaces/*" + ], + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^8.0.1", + "@npmcli/config": "^9.0.0", + "@npmcli/fs": "^4.0.0", + "@npmcli/map-workspaces": "^4.0.2", + "@npmcli/package-json": "^6.2.0", + "@npmcli/promise-spawn": "^8.0.2", + "@npmcli/redact": "^3.2.2", + "@npmcli/run-script": "^9.1.0", + "@sigstore/tuf": "^3.1.1", + "abbrev": "^3.0.1", + "archy": "~1.0.0", + "cacache": "^19.0.1", + "chalk": "^5.4.1", + "ci-info": "^4.2.0", + "cli-columns": "^4.0.0", + "fastest-levenshtein": "^1.0.16", + "fs-minipass": "^3.0.3", + "glob": "^10.4.5", + "graceful-fs": "^4.2.11", + "hosted-git-info": "^8.1.0", + "ini": "^5.0.0", + "init-package-json": "^7.0.2", + "is-cidr": "^5.1.1", + "json-parse-even-better-errors": "^4.0.0", + "libnpmaccess": "^9.0.0", + "libnpmdiff": "^7.0.1", + "libnpmexec": "^9.0.1", + "libnpmfund": "^6.0.1", + "libnpmhook": "^11.0.0", + "libnpmorg": "^7.0.0", + "libnpmpack": "^8.0.1", + "libnpmpublish": "^10.0.1", + "libnpmsearch": "^8.0.0", + "libnpmteam": "^7.0.0", + "libnpmversion": "^7.0.0", + "make-fetch-happen": "^14.0.3", + "minimatch": "^9.0.5", + "minipass": "^7.1.1", + "minipass-pipeline": "^1.2.4", + "ms": "^2.1.2", + "node-gyp": "^11.2.0", + "nopt": "^8.1.0", + "normalize-package-data": "^7.0.0", + "npm-audit-report": "^6.0.0", + "npm-install-checks": "^7.1.1", + "npm-package-arg": "^12.0.2", + "npm-pick-manifest": "^10.0.0", + "npm-profile": "^11.0.1", + "npm-registry-fetch": "^18.0.2", + "npm-user-validate": "^3.0.0", + "p-map": "^7.0.3", + "pacote": "^19.0.1", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "qrcode-terminal": "^0.12.0", + "read": "^4.1.0", + "semver": "^7.7.2", + "spdx-expression-parse": "^4.0.0", + "ssri": "^12.0.0", + "supports-color": "^9.4.0", + "tar": "^6.2.1", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^3.0.0", + "validate-npm-package-name": "^6.0.1", + "which": "^5.0.0", + "write-file-atomic": "^6.0.0" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui": { + "version": "8.0.2", + "dev": true, + "inBundle": 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/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "inBundle": 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/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/agent": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/arborist": { + "version": "8.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^4.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/metavuln-calculator": "^8.0.0", + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.1", + "@npmcli/query": "^4.0.0", + "@npmcli/redact": "^3.0.0", + "@npmcli/run-script": "^9.0.1", + "bin-links": "^5.0.0", + "cacache": "^19.0.1", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "json-stringify-nice": "^1.1.4", + "lru-cache": "^10.2.2", + "minimatch": "^9.0.4", + "nopt": "^8.0.0", + "npm-install-checks": "^7.1.0", + "npm-package-arg": "^12.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.1", + "pacote": "^19.0.0", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "proggy": "^3.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^3.0.1", + "read-package-json-fast": "^4.0.0", + "semver": "^7.3.7", + "ssri": "^12.0.0", + "treeverse": "^3.0.0", + "walk-up-path": "^3.0.1" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/config": { + "version": "9.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/package-json": "^6.0.1", + "ci-info": "^4.0.0", + "ini": "^5.0.0", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "walk-up-path": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/fs": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/git": { + "version": "6.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/installed-package-contents": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/map-workspaces": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/metavuln-calculator": { + "version": "8.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cacache": "^19.0.0", + "json-parse-even-better-errors": "^4.0.0", + "pacote": "^20.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/metavuln-calculator/node_modules/pacote": { + "version": "20.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/package-json": { + "version": "6.2.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/promise-spawn": { + "version": "8.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/query": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/redact": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/run-script": { + "version": "9.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/protobuf-specs": { + "version": "0.4.3", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/tuf": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/abbrev": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/agent-base": { + "version": "7.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ansi-styles": { + "version": "6.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/bin-links": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cmd-shim": "^7.0.0", + "npm-normalize-package-bin": "^4.0.0", + "proc-log": "^5.0.0", + "read-cmd-shim": "^5.0.0", + "write-file-atomic": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/binary-extensions": { + "version": "2.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/brace-expansion": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cacache": { + "version": "19.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^4.0.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cacache/node_modules/chownr": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cacache/node_modules/mkdirp": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cacache/node_modules/tar": { + "version": "7.4.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cacache/node_modules/yallist": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/chalk": { + "version": "5.4.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/chownr": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ci-info": { + "version": "4.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cidr-regex": { + "version": "4.1.3", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^5.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cli-columns": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cmd-shim": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/common-ancestor-path": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cross-spawn": { + "version": "7.0.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cssesc": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/debug": { + "version": "4.4.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/diff": { + "version": "5.2.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/eastasianwidth": { + "version": "0.2.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/encoding": { + "version": "0.1.13", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/env-paths": { + "version": "2.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/err-code": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/exponential-backoff": { + "version": "3.1.2", + "dev": true, + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/fastest-levenshtein": { + "version": "1.0.16", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/foreground-child": { + "version": "3.3.1", + "dev": true, + "inBundle": 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/@semantic-release/npm/node_modules/npm/node_modules/fs-minipass": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/glob": { + "version": "10.4.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "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" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/hosted-git-info": { + "version": "8.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/http-cache-semantics": { + "version": "4.2.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/http-proxy-agent": { + "version": "7.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/https-proxy-agent": { + "version": "7.0.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/iconv-lite": { + "version": "0.6.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ignore-walk": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ini": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/init-package-json": { + "version": "7.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/package-json": "^6.0.0", + "npm-package-arg": "^12.0.0", + "promzard": "^2.0.0", + "read": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ip-address": { + "version": "9.0.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ip-regex": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/is-cidr": { + "version": "5.1.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "^4.1.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/jackspeak": { + "version": "3.4.3", + "dev": true, + "inBundle": 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/@semantic-release/npm/node_modules/npm/node_modules/jsbn": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/json-stringify-nice": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/just-diff": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/just-diff-apply": { + "version": "5.5.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmaccess": { + "version": "9.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmdiff": { + "version": "7.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^8.0.1", + "@npmcli/installed-package-contents": "^3.0.0", + "binary-extensions": "^2.3.0", + "diff": "^5.1.0", + "minimatch": "^9.0.4", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0", + "tar": "^6.2.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmexec": { + "version": "9.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^8.0.1", + "@npmcli/run-script": "^9.0.1", + "ci-info": "^4.0.0", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0", + "proc-log": "^5.0.0", + "read": "^4.0.0", + "read-package-json-fast": "^4.0.0", + "semver": "^7.3.7", + "walk-up-path": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmfund": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^8.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmhook": { + "version": "11.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmorg": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmpack": { + "version": "8.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^8.0.1", + "@npmcli/run-script": "^9.0.1", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmpublish": { + "version": "10.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "ci-info": "^4.0.0", + "normalize-package-data": "^7.0.0", + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1", + "proc-log": "^5.0.0", + "semver": "^7.3.7", + "sigstore": "^3.0.0", + "ssri": "^12.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmsearch": { + "version": "8.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmteam": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmversion": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.1", + "@npmcli/run-script": "^9.0.1", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/lru-cache": { + "version": "10.4.3", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/make-fetch-happen": { + "version": "14.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/make-fetch-happen/node_modules/negotiator": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass": { + "version": "7.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-collect": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-fetch": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-flush": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minizlib": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/mute-stream": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp": { + "version": "11.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/nopt": { + "version": "8.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "^3.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/normalize-package-data": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^8.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-audit-report": { + "version": "6.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-bundled": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-install-checks": { + "version": "7.1.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-package-arg": { + "version": "12.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-packlist": { + "version": "9.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^7.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-pick-manifest": { + "version": "10.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-profile": { + "version": "11.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-registry-fetch": { + "version": "18.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-user-validate": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/p-map": { + "version": "7.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/package-json-from-dist": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/pacote": { + "version": "19.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/parse-conflict-json": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/path-scurry": { + "version": "1.11.1", + "dev": true, + "inBundle": 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/@semantic-release/npm/node_modules/npm/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/proc-log": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/proggy": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/promise-all-reject-late": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/promise-call-limit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/promise-retry": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/promzard": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/read": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "^2.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/read-cmd-shim": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/read-package-json-fast": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/semver": { + "version": "7.7.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/signal-exit": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/sigstore": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/sigstore/node_modules/@sigstore/bundle": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/sigstore/node_modules/@sigstore/core": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/sigstore/node_modules/@sigstore/sign": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/sigstore/node_modules/@sigstore/verify": { + "version": "2.1.1", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "Apache-2.0", "dependencies": { - "@semantic-release/error": "^3.0.0", - "aggregate-error": "^3.0.0", - "fs-extra": "^11.0.0", - "lodash": "^4.17.4" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" }, "engines": { - "node": ">=14.17" - }, - "peerDependencies": { - "semantic-release": ">=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/@semantic-release/commit-analyzer": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.1.tgz", - "integrity": "sha512-wdnBPHKkr9HhNhXOhZD5a2LNl91+hs8CC2vsAVYxtZH3y0dV3wKn+uZSN61rdJQZ8EGxzWB3inWocBHV9+u/CQ==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/smart-buffer": { + "version": "4.2.0", "dev": true, + "inBundle": true, "license": "MIT", - "dependencies": { - "conventional-changelog-angular": "^8.0.0", - "conventional-changelog-writer": "^8.0.0", - "conventional-commits-filter": "^5.0.0", - "conventional-commits-parser": "^6.0.0", - "debug": "^4.0.0", - "import-from-esm": "^2.0.0", - "lodash-es": "^4.17.21", - "micromatch": "^4.0.2" - }, "engines": { - "node": ">=20.8.1" - }, - "peerDependencies": { - "semantic-release": ">=20.1.0" + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-changelog-angular": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz", - "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/socks": { + "version": "2.8.5", "dev": true, - "license": "ISC", + "inBundle": true, + "license": "MIT", "dependencies": { - "compare-func": "^2.0.0" + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">=18" + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-commits-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.1.0.tgz", - "integrity": "sha512-5nxDo7TwKB5InYBl4ZC//1g9GRwB/F3TXOGR9hgUjMGfvSP4Vu5NkpNro2+1+TIEy1vwxApl5ircECr2ri5JIw==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/socks-proxy-agent": { + "version": "8.0.5", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "meow": "^13.0.0" - }, - "bin": { - "conventional-commits-parser": "dist/cli/index.js" + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" }, "engines": { - "node": ">=18" + "node": ">= 14" } }, - "node_modules/@semantic-release/error": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz", - "integrity": "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-correct": { + "version": "3.2.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.17" + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/@semantic-release/git": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-10.0.1.tgz", - "integrity": "sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": { + "version": "3.0.1", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "@semantic-release/error": "^3.0.0", - "aggregate-error": "^3.0.0", - "debug": "^4.0.0", - "dir-glob": "^3.0.0", - "execa": "^5.0.0", - "lodash": "^4.17.4", - "micromatch": "^4.0.0", - "p-reduce": "^2.0.0" - }, - "engines": { - "node": ">=14.17" - }, - "peerDependencies": { - "semantic-release": ">=18.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/@semantic-release/github": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.1.tgz", - "integrity": "sha512-Z9cr0LgU/zgucbT9cksH0/pX9zmVda9hkDPcgIE0uvjMQ8w/mElDivGjx1w1pEQ+MuQJ5CBq3VCF16S6G4VH3A==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.5.0", "dev": true, + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-expression-parse": { + "version": "4.0.0", + "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "@octokit/core": "^6.0.0", - "@octokit/plugin-paginate-rest": "^11.0.0", - "@octokit/plugin-retry": "^7.0.0", - "@octokit/plugin-throttling": "^9.0.0", - "@semantic-release/error": "^4.0.0", - "aggregate-error": "^5.0.0", - "debug": "^4.3.4", - "dir-glob": "^3.0.1", - "globby": "^14.0.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", - "issue-parser": "^7.0.0", - "lodash-es": "^4.17.21", - "mime": "^4.0.0", - "p-filter": "^4.0.0", - "url-join": "^5.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.21", + "dev": true, + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/sprintf-js": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ssri": { + "version": "12.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" }, "engines": { - "node": ">=20.8.1" - }, - "peerDependencies": { - "semantic-release": ">=24.1.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/@semantic-release/github/node_modules/@semantic-release/error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", - "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/string-width": { + "version": "4.2.3", "dev": true, + "inBundle": true, "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/@semantic-release/github/node_modules/agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", "dev": true, + "inBundle": true, "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">= 14" + "node": ">=8" } }, - "node_modules/@semantic-release/github/node_modules/aggregate-error": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", - "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "clean-stack": "^5.2.0", - "indent-string": "^5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/@semantic-release/github/node_modules/clean-stack": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", - "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "escape-string-regexp": "5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/@semantic-release/github/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/supports-color": { + "version": "9.4.0", "dev": true, + "inBundle": true, "license": "MIT", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/@semantic-release/github/node_modules/globby": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", - "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tar": { + "version": "6.2.1", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.3", - "ignore": "^7.0.3", - "path-type": "^6.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.3.0" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, "engines": { - "node": ">=18" + "node": ">=10" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=8" } }, - "node_modules/@semantic-release/github/node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": ">= 14" + "node": ">= 8" } }, - "node_modules/@semantic-release/github/node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 14" + "node": ">=8" } }, - "node_modules/@semantic-release/github/node_modules/ignore": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.3.tgz", - "integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/text-table": { + "version": "0.2.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } + "inBundle": true, + "license": "MIT" }, - "node_modules/@semantic-release/github/node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tinyglobby": { + "version": "0.2.14", "dev": true, + "inBundle": true, "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, "engines": { - "node": ">=12" + "node": ">=12.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/@semantic-release/github/node_modules/path-type": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", - "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", "dev": true, + "inBundle": true, "license": "MIT", - "engines": { - "node": ">=18" + "peerDependencies": { + "picomatch": "^3 || ^4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/@semantic-release/github/node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", "dev": true, + "inBundle": true, "license": "MIT", "engines": { - "node": ">=14.16" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@semantic-release/github/node_modules/unicorn-magic": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", - "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/treeverse": { + "version": "3.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@semantic-release/npm": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.1.tgz", - "integrity": "sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tuf-js": { + "version": "3.0.1", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "@semantic-release/error": "^4.0.0", - "aggregate-error": "^5.0.0", - "execa": "^9.0.0", - "fs-extra": "^11.0.0", - "lodash-es": "^4.17.21", - "nerf-dart": "^1.0.0", - "normalize-url": "^8.0.0", - "npm": "^10.5.0", - "rc": "^1.2.8", - "read-pkg": "^9.0.0", - "registry-auth-token": "^5.0.0", - "semver": "^7.1.2", - "tempy": "^3.0.0" + "@tufjs/models": "3.0.1", + "debug": "^4.3.6", + "make-fetch-happen": "^14.0.1" }, "engines": { - "node": ">=20.8.1" - }, - "peerDependencies": { - "semantic-release": ">=20.1.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/@semantic-release/npm/node_modules/@semantic-release/error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", - "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tuf-js/node_modules/@tufjs/models": { + "version": "3.0.1", "dev": true, + "inBundle": true, "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + }, "engines": { - "node": ">=18" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/@semantic-release/npm/node_modules/@sindresorhus/merge-streams": { + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/unique-filename": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", - "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^5.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/@semantic-release/npm/node_modules/aggregate-error": { + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/unique-slug": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", - "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "clean-stack": "^5.2.0", - "indent-string": "^5.0.0" + "imurmurhash": "^0.1.4" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/@semantic-release/npm/node_modules/clean-stack": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", - "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { + "version": "3.0.1", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "escape-string-regexp": "5.0.0" - }, + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/validate-npm-package-name": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/@semantic-release/npm/node_modules/escape-string-regexp": { + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/walk-up-path": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/which": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/which/node_modules/isexe": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi": { + "version": "8.1.0", + "dev": true, + "inBundle": 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/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@semantic-release/npm/node_modules/execa": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.2.tgz", - "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "@sindresorhus/merge-streams": "^4.0.0", - "cross-spawn": "^7.0.3", - "figures": "^6.1.0", - "get-stream": "^9.0.0", - "human-signals": "^8.0.0", - "is-plain-obj": "^4.1.0", - "is-stream": "^4.0.1", - "npm-run-path": "^6.0.0", - "pretty-ms": "^9.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^4.0.0", - "yoctocolors": "^2.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^18.19.0 || >=20.5.0" + "node": ">=10" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@semantic-release/npm/node_modules/get-stream": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", - "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "@sec-ant/readable-stream": "^0.4.1", - "is-stream": "^4.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=18" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@semantic-release/npm/node_modules/human-signals": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", - "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", "dev": true, - "license": "Apache-2.0", + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=18.18.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@semantic-release/npm/node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", "dev": true, + "inBundle": true, "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, "engines": { "node": ">=12" }, @@ -4676,36 +6596,40 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/npm/node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", "dev": true, + "inBundle": true, "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, "engines": { - "node": ">=18" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@semantic-release/npm/node_modules/npm-run-path": { + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/write-file-atomic": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", - "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "path-key": "^4.0.0", - "unicorn-magic": "^0.3.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/@semantic-release/npm/node_modules/npm/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, "node_modules/@semantic-release/npm/node_modules/path-key": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", @@ -4719,19 +6643,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/npm/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@semantic-release/npm/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -4772,9 +6683,9 @@ } }, "node_modules/@semantic-release/release-notes-generator": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.3.tgz", - "integrity": "sha512-XxAZRPWGwO5JwJtS83bRdoIhCiYIx8Vhr+u231pQAsdFIAbm19rSVJLdnBN+Avvk7CKvNQE/nJ4y7uqKH6WTiw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.1.0.tgz", + "integrity": "sha512-CcyDRk7xq+ON/20YNR+1I/jP7BYKICr1uKd1HHpROSnnTdGqOTburi4jcRiTYz0cpfhxSloQO3cGhnoot7IEkA==", "dev": true, "license": "MIT", "dependencies": { @@ -4810,9 +6721,9 @@ } }, "node_modules/@semantic-release/release-notes-generator/node_modules/conventional-commits-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.1.0.tgz", - "integrity": "sha512-5nxDo7TwKB5InYBl4ZC//1g9GRwB/F3TXOGR9hgUjMGfvSP4Vu5NkpNro2+1+TIEy1vwxApl5ircECr2ri5JIw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.2.0.tgz", + "integrity": "sha512-uLnoLeIW4XaoFtH37qEcg/SXMJmKF4vi7V0H2rnPueg+VEtFGA/asSCNTcq4M/GQ6QmlzchAEtOoDTtKqWeHag==", "dev": true, "license": "MIT", "dependencies": { @@ -4826,9 +6737,9 @@ } }, "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==", + "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" }, @@ -4852,52 +6763,327 @@ "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sinonjs/commons": { + "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": "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.1" + } + }, + "node_modules/@starknet-io/starknet-types-08": { + "name": "@starknet-io/types-js", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@starknet-io/types-js/-/types-js-0.8.4.tgz", + "integrity": "sha512-0RZ3TZHcLsUTQaq1JhDSCM8chnzO4/XNsSCozwDET64JK5bjFDIf2ZUkta+tl5Nlbf4usoU7uZiDI/Q57kt2SQ==", + "license": "MIT" + }, + "node_modules/@starknet-io/starknet-types-09": { + "name": "@starknet-io/types-js", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@starknet-io/types-js/-/types-js-0.9.1.tgz", + "integrity": "sha512-ngLjOFuWOI4EFij8V+nl5tgHVACr6jqgLNUQbgD+AgnTcAN33SemBPXDIsovwK1Mz1U04Cz3qjDOnTq7067ZQw==", + "license": "MIT" + }, + "node_modules/@swc/core": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.13.5.tgz", + "integrity": "sha512-WezcBo8a0Dg2rnR82zhwoR6aRNxeTGfK5QCD6TQ+kg3xx/zNT02s/0o+81h/3zhvFSB24NtqEr8FTw88O5W/JQ==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.24" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.13.5", + "@swc/core-darwin-x64": "1.13.5", + "@swc/core-linux-arm-gnueabihf": "1.13.5", + "@swc/core-linux-arm64-gnu": "1.13.5", + "@swc/core-linux-arm64-musl": "1.13.5", + "@swc/core-linux-x64-gnu": "1.13.5", + "@swc/core-linux-x64-musl": "1.13.5", + "@swc/core-win32-arm64-msvc": "1.13.5", + "@swc/core-win32-ia32-msvc": "1.13.5", + "@swc/core-win32-x64-msvc": "1.13.5" + }, + "peerDependencies": { + "@swc/helpers": ">=0.5.17" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.13.5.tgz", + "integrity": "sha512-lKNv7SujeXvKn16gvQqUQI5DdyY8v7xcoO3k06/FJbHJS90zEwZdQiMNRiqpYw/orU543tPaWgz7cIYWhbopiQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.13.5.tgz", + "integrity": "sha512-ILd38Fg/w23vHb0yVjlWvQBoE37ZJTdlLHa8LRCFDdX4WKfnVBiblsCU9ar4QTMNdeTBEX9iUF4IrbNWhaF1Ng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.13.5.tgz", + "integrity": "sha512-Q6eS3Pt8GLkXxqz9TAw+AUk9HpVJt8Uzm54MvPsqp2yuGmY0/sNaPPNVqctCX9fu/Nu8eaWUen0si6iEiCsazQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.13.5.tgz", + "integrity": "sha512-aNDfeN+9af+y+M2MYfxCzCy/VDq7Z5YIbMqRI739o8Ganz6ST+27kjQFd8Y/57JN/hcnUEa9xqdS3XY7WaVtSw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.13.5.tgz", + "integrity": "sha512-9+ZxFN5GJag4CnYnq6apKTnnezpfJhCumyz0504/JbHLo+Ue+ZtJnf3RhyA9W9TINtLE0bC4hKpWi8ZKoETyOQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.13.5.tgz", + "integrity": "sha512-WD530qvHrki8Ywt/PloKUjaRKgstQqNGvmZl54g06kA+hqtSE2FTG9gngXr3UJxYu/cNAjJYiBifm7+w4nbHbA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.13.5.tgz", + "integrity": "sha512-Luj8y4OFYx4DHNQTWjdIuKTq2f5k6uSXICqx+FSabnXptaOBAbJHNbHT/06JZh6NRUouaf0mYXN0mcsqvkhd7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.13.5.tgz", + "integrity": "sha512-cZ6UpumhF9SDJvv4DA2fo9WIzlNFuKSkZpZmPG1c+4PFSEMy5DFOjBSllCvnqihCabzXzpn6ykCwBmHpy31vQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.13.5.tgz", + "integrity": "sha512-C5Yi/xIikrFUzZcyGj9L3RpKljFvKiDMtyDzPKzlsDrKIw2EYY+bF88gB6oGY5RGmv4DAX8dbnpRAqgFD0FMEw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.13.5.tgz", + "integrity": "sha512-YrKdMVxbYmlfybCSbRtrilc6UA8GF5aPmGKBdPvjrarvsmf4i7ZHGCEnLtfOMd3Lwbs2WUZq3WdMbozYeLU93Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@swc/jest": { + "version": "0.2.39", + "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.39.tgz", + "integrity": "sha512-eyokjOwYd0Q8RnMHri+8/FS1HIrIUKK/sRrFp8c1dThUOfNeCWbLmBP1P5VsKdvmkd25JaH+OKYwEYiAYg9YAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/create-cache-key-function": "^30.0.0", + "@swc/counter": "^0.1.3", + "jsonc-parser": "^3.2.0" + }, + "engines": { + "npm": ">= 7.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@swc/core": "*" } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "node_modules/@swc/types": { + "version": "0.1.25", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.25.tgz", + "integrity": "sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==", "dev": true, - "license": "BSD-3-Clause", + "license": "Apache-2.0", "dependencies": { - "type-detect": "4.0.8" + "@swc/counter": "^0.1.3" } }, - "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==", + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } + "license": "MIT" }, - "node_modules/@starknet-io/starknet-types-07": { - "name": "@starknet-io/types-js", - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@starknet-io/types-js/-/types-js-0.7.10.tgz", - "integrity": "sha512-1VtCqX4AHWJlRRSYGSn+4X1mqolI1Tdq62IwzoU2vUuEE72S1OlEeGhpvd6XsdqXcfHmVzYfj8k1XtKBQqwo9w==" + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" }, - "node_modules/@starknet-io/starknet-types-08": { - "name": "@starknet-io/types-js", - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@starknet-io/types-js/-/types-js-0.8.4.tgz", - "integrity": "sha512-0RZ3TZHcLsUTQaq1JhDSCM8chnzO4/XNsSCozwDET64JK5bjFDIf2ZUkta+tl5Nlbf4usoU7uZiDI/Q57kt2SQ==" + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", + "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 10" + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, "node_modules/@types/babel__core": { @@ -4915,9 +7101,9 @@ } }, "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": { @@ -4936,13 +7122,13 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "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/conventional-commits-parser": { @@ -4956,22 +7142,12 @@ } }, "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "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, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/isomorphic-fetch": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/isomorphic-fetch/-/isomorphic-fetch-0.0.39.tgz", @@ -5007,14 +7183,14 @@ } }, "node_modules/@types/jest": { - "version": "29.5.14", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", - "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz", + "integrity": "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==", "dev": true, "license": "MIT", "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "expect": "^30.0.0", + "pretty-format": "^30.0.0" } }, "node_modules/@types/jest-json-schema": { @@ -5053,9 +7229,9 @@ "license": "MIT" }, "node_modules/@types/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "version": "21.1.7", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", + "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", "dev": true, "license": "MIT", "dependencies": { @@ -5072,13 +7248,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.13.tgz", - "integrity": "sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ==", + "version": "24.3.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.1.tgz", + "integrity": "sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.20.0" + "undici-types": "~7.10.0" } }, "node_modules/@types/normalize-package-data": { @@ -5089,9 +7265,9 @@ "license": "MIT" }, "node_modules/@types/pako": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.3.tgz", - "integrity": "sha512-bq0hMV9opAcrmE0Byyo0fY3Ew4tgOevJmQ9grUhpXQhYfyLJ1Kqg3P33JT5fdbT2AjeAjR51zqqVjAL/HMkx7Q==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz", + "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==", "dev": true, "license": "MIT" }, @@ -5109,16 +7285,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8svvI3hMyvN0kKCJMvTJP/x6Y/EoQbepff882wL+Sn5QsXb3etnamgrJq4isrBxSJj5L2AuXcI0+bgkoAXGUJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/yargs": { "version": "17.0.33", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", @@ -5288,74 +7454,322 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "node_modules/@typescript-eslint/utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-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", + "optional": true, + "os": [ + "linux" + ] + }, + "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", + "optional": true, + "os": [ + "linux" + ] + }, + "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", + "optional": true, + "os": [ + "linux" + ] + }, + "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", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@typescript-eslint/utils": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", - "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", + "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": "MIT", + "optional": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0" + "@napi-rs/wasm-runtime": "^0.2.11" }, "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" + "node": ">=14.0.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", - "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "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": { - "@typescript-eslint/types": "7.18.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } + "optional": true, + "os": [ + "win32" + ] }, - "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==", + "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": "ISC" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "deprecated": "Use your platform's native atob() and btoa() methods instead", + "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": "BSD-3-Clause" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, "node_modules/abi-wan-kanabi": { "version": "2.2.4", @@ -5387,9 +7801,9 @@ } }, "node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", "bin": { @@ -5399,17 +7813,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -5434,16 +7837,13 @@ } }, "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", - "dependencies": { - "debug": "4" - }, "engines": { - "node": ">= 6.0.0" + "node": ">= 14" } }, "node_modules/aggregate-error": { @@ -5524,10 +7924,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", "dev": true, "license": "MIT", "engines": { @@ -5577,6 +7990,13 @@ "node": ">= 8" } }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -5616,18 +8036,20 @@ "license": "MIT" }, "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -5761,26 +8183,38 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/axios": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz", + "integrity": "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, "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.1.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.1.2.tgz", + "integrity": "sha512-IQCus1rt9kaSh7PQxLYRY5NmkNrNlU2TpabzwV7T2jljnpdHOcmnYYv8QmE04Li4S3a2Lj8/yXyET5pBarPr6g==", "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.1.2", + "@types/babel__core": "^7.20.5", + "babel-plugin-istanbul": "^7.0.0", + "babel-preset-jest": "30.0.1", + "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" } }, "node_modules/babel-jest/node_modules/ansi-styles": { @@ -5817,101 +8251,44 @@ } }, "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, - "license": "BSD-3-Clause", - "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.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.0.1.tgz", + "integrity": "sha512-zTPME3pI50NsFW8ZBaVIOeAxzEY7XHlmWeXXu9srI+9kNfzCUTy8MFan46xOGZY8NZThMqq+e3qZUKsvXbasnQ==", "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" + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.3", + "@types/babel__core": "^7.20.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", - "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.4", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", - "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3", - "core-js-compat": "^3.40.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz", - "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.4" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", - "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "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": { @@ -5932,24 +8309,24 @@ "@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.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.0.1.tgz", + "integrity": "sha512-+YHejD5iTWI46cZmcc/YtX4gaKBtdqCHCVfuVinizVpbmyjO3zYmeuyFdfA8duRqQZfgCAMlsfmkVbJ+e2MAJw==", "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.0.1", + "babel-preset-current-node-syntax": "^1.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" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.11.0" } }, "node_modules/balanced-match": { @@ -5959,13 +8336,52 @@ "dev": true, "license": "MIT" }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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" + }, "node_modules/before-after-hook": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", + "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", "dev": true, "license": "Apache-2.0" }, + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", + "dev": true, + "license": "MIT" + }, "node_modules/bottleneck": { "version": "2.19.5", "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", @@ -5974,9 +8390,9 @@ "license": "MIT" }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "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": { @@ -5997,9 +8413,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "version": "4.25.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.4.tgz", + "integrity": "sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==", "dev": true, "funding": [ { @@ -6016,28 +8432,88 @@ } ], "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" - }, - "bin": { - "browserslist": "cli.js" - }, + "dependencies": { + "caniuse-lite": "^1.0.30001737", + "electron-to-chromium": "^1.5.211", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "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": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true, + "license": "MIT" + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "license": "MIT", "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": "*" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" - } + "license": "MIT" }, "node_modules/buffer-from": { "version": "1.1.2", @@ -6192,9 +8668,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001707", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz", - "integrity": "sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==", + "version": "1.0.30001741", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001741.tgz", + "integrity": "sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==", "dev": true, "funding": [ { @@ -6226,9 +8702,9 @@ } }, "node_modules/chalk": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", - "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz", + "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==", "dev": true, "license": "MIT", "engines": { @@ -6265,9 +8741,9 @@ } }, "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.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, "funding": [ { @@ -6281,9 +8757,9 @@ } }, "node_modules/cjs-module-lexer": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", - "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.0.tgz", + "integrity": "sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==", "dev": true, "license": "MIT" }, @@ -6531,6 +9007,47 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "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/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -6663,13 +9180,13 @@ } }, "node_modules/commander": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", - "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz", + "integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=20" } }, "node_modules/compare-func": { @@ -6690,6 +9207,13 @@ "dev": true, "license": "MIT" }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true, + "license": "MIT" + }, "node_modules/config-chain": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", @@ -6752,9 +9276,9 @@ } }, "node_modules/conventional-changelog-writer": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.0.1.tgz", - "integrity": "sha512-hlqcy3xHred2gyYg/zXSMXraY2mjAYYo0msUCpK+BGyaVJMFCKWVXPIHiaacGO2GGp13kvHWXFhYmxT4QQqW3Q==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.2.0.tgz", + "integrity": "sha512-Y2aW4596l9AEvFJRwFGJGiQjt2sBYTjPD18DdvxX9Vpz0Z7HQ+g1Z+6iYDAm1vR3QOJrDBkRHixHK/+FhkR6Pw==", "dev": true, "license": "MIT", "dependencies": { @@ -6770,19 +9294,6 @@ "node": ">=18" } }, - "node_modules/conventional-changelog-writer/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/conventional-commits-filter": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz", @@ -6845,20 +9356,6 @@ "dev": true, "license": "MIT" }, - "node_modules/core-js-compat": { - "version": "3.41.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz", - "integrity": "sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.24.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -6911,60 +9408,12 @@ "typescript": ">=5" } }, - "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, - "license": "MIT", - "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" - } - }, - "node_modules/create-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/create-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } + "license": "MIT" }, "node_modules/cross-spawn": { "version": "7.0.6", @@ -7010,33 +9459,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true, - "license": "MIT" - }, "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", + "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", "dev": true, "license": "MIT", "dependencies": { - "cssom": "~0.3.6" + "@asamuzakjp/css-color": "^3.2.0", + "rrweb-cssom": "^0.8.0" }, "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true, - "license": "MIT" - }, "node_modules/dargs": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/dargs/-/dargs-8.1.0.tgz", @@ -7051,18 +9487,17 @@ } }, "node_modules/data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", "dev": true, "license": "MIT", "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/data-view-buffer": { @@ -7119,35 +9554,225 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip/node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.3" + "pify": "^3.0.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=4" } }, - "node_modules/decimal.js": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", - "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "node_modules/decompress/node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, "node_modules/dedent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.0.tgz", + "integrity": "sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -7249,14 +9874,24 @@ "dev": true, "license": "MIT" }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "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==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true, "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/dir-glob": { @@ -7285,20 +9920,6 @@ "node": ">=6.0.0" } }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "deprecated": "Use your platform's native DOMException instead", - "dev": true, - "license": "MIT", - "dependencies": { - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", @@ -7345,9 +9966,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.123", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.123.tgz", - "integrity": "sha512-refir3NlutEZqlKaBLK0tzlVLe5P2wDKS7UQt/3SpibizgsRAPOsqQC3ffw1nlv3ze5gjRQZYHoPymgVZkplFA==", + "version": "1.5.214", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.214.tgz", + "integrity": "sha512-TpvUNdha+X3ybfU78NoQatKvQEm1oq3lf2QbnmCEdw+Bd9RuIAY+hJTvq1avzHM0f7EJfnH3vbCnbzKzisc/9Q==", "dev": true, "license": "ISC" }, @@ -7365,9 +9986,9 @@ } }, "node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "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" }, @@ -7378,10 +9999,20 @@ "dev": true, "license": "MIT" }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -7392,9 +10023,9 @@ } }, "node_modules/env-ci": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.1.0.tgz", - "integrity": "sha512-Z8dnwSDbV1XYM9SBF2J0GcNVvmfmfh3a49qddGIROhBoVro6MZVTji15z/sJbQ2ko2ei8n988EU1wzoLU/tF+g==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.2.0.tgz", + "integrity": "sha512-D5kWfzkmaOQDioPmiviWAVtKmpPT4/iJmMVQxWxMPJTFyTkdc5JQUfc5iXEeWxcOdsYTKSAiA/Age4NUOqKsRA==", "dev": true, "license": "MIT", "dependencies": { @@ -7583,9 +10214,9 @@ } }, "node_modules/es-abstract": { - "version": "1.23.9", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", - "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", "dev": true, "license": "MIT", "dependencies": { @@ -7593,18 +10224,18 @@ "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.3", + "call-bound": "^1.0.4", "data-view-buffer": "^1.0.2", "data-view-byte-length": "^1.0.2", "data-view-byte-offset": "^1.0.1", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", + "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.0", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", @@ -7616,21 +10247,24 @@ "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", "is-regex": "^1.2.1", + "is-set": "^2.0.3", "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.0", + "is-weakref": "^1.1.1", "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.3", + "object-inspect": "^1.13.4", "object-keys": "^1.1.1", "object.assign": "^4.1.7", "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.3", + "regexp.prototype.flags": "^1.5.4", "safe-array-concat": "^1.1.3", "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", @@ -7639,7 +10273,7 @@ "typed-array-byte-offset": "^1.0.4", "typed-array-length": "^1.0.7", "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.18" + "which-typed-array": "^1.1.19" }, "engines": { "node": ">= 0.4" @@ -7729,9 +10363,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", - "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -7742,31 +10376,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.1", - "@esbuild/android-arm": "0.25.1", - "@esbuild/android-arm64": "0.25.1", - "@esbuild/android-x64": "0.25.1", - "@esbuild/darwin-arm64": "0.25.1", - "@esbuild/darwin-x64": "0.25.1", - "@esbuild/freebsd-arm64": "0.25.1", - "@esbuild/freebsd-x64": "0.25.1", - "@esbuild/linux-arm": "0.25.1", - "@esbuild/linux-arm64": "0.25.1", - "@esbuild/linux-ia32": "0.25.1", - "@esbuild/linux-loong64": "0.25.1", - "@esbuild/linux-mips64el": "0.25.1", - "@esbuild/linux-ppc64": "0.25.1", - "@esbuild/linux-riscv64": "0.25.1", - "@esbuild/linux-s390x": "0.25.1", - "@esbuild/linux-x64": "0.25.1", - "@esbuild/netbsd-arm64": "0.25.1", - "@esbuild/netbsd-x64": "0.25.1", - "@esbuild/openbsd-arm64": "0.25.1", - "@esbuild/openbsd-x64": "0.25.1", - "@esbuild/sunos-x64": "0.25.1", - "@esbuild/win32-arm64": "0.25.1", - "@esbuild/win32-ia32": "0.25.1", - "@esbuild/win32-x64": "0.25.1" + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" } }, "node_modules/escalade": { @@ -7791,28 +10426,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, "node_modules/eslint": { "version": "8.57.1", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", @@ -7890,6 +10503,16 @@ "eslint-plugin-import": "^2.25.2" } }, + "node_modules/eslint-config-airbnb-base/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-config-airbnb-typescript": { "version": "18.0.0", "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-18.0.0.tgz", @@ -7906,9 +10529,9 @@ } }, "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.2.tgz", + "integrity": "sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==", "dev": true, "license": "MIT", "bin": { @@ -7941,9 +10564,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", "dev": true, "license": "MIT", "dependencies": { @@ -7969,30 +10592,30 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", "dependencies": { "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", + "eslint-module-utils": "^2.12.1", "hasown": "^2.0.2", - "is-core-module": "^2.15.1", + "is-core-module": "^2.16.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "object.groupby": "^1.0.3", - "object.values": "^1.2.0", + "object.values": "^1.2.1", "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", + "string.prototype.trimend": "^1.0.9", "tsconfig-paths": "^3.15.0" }, "engines": { @@ -8003,9 +10626,9 @@ } }, "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -8049,15 +10672,25 @@ "node": "*" } }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-plugin-prettier": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.4.tgz", - "integrity": "sha512-SFtuYmnhwYCtuCDTKPoK+CEzCnEgKTU2qTLwoCxvrC0MFBTIXo1i6hDYOI4cwHaE5GZtlWmTN3YfucYi7KJwPw==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz", + "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==", "dev": true, "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.10.2" + "synckit": "^0.11.7" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -8068,7 +10701,7 @@ "peerDependencies": { "@types/eslint": ">=8.0.0", "eslint": ">=8.0.0", - "eslint-config-prettier": "*", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", "prettier": ">=3.0.0" }, "peerDependenciesMeta": { @@ -8144,9 +10777,9 @@ } }, "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -8188,22 +10821,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -8266,19 +10883,6 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/espree": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", @@ -8400,36 +11004,38 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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.1.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.1.2.tgz", + "integrity": "sha512-xvHszRavo28ejws8FpemjhwswGj4w/BetHIL8cU49u4sGyXDw2+p3YbeDbj6xzlxi6kWTjIRSTJ+9sNXPnF0Zg==", "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.1.2", + "@jest/get-type": "30.1.0", + "jest-matcher-utils": "30.1.2", + "jest-message-util": "30.1.0", + "jest-mock": "30.0.5", + "jest-util": "30.0.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/fast-content-type-parse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", - "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz", + "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==", "dev": true, "funding": [ { @@ -8509,9 +11115,9 @@ "license": "MIT" }, "node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", "dev": true, "funding": [ { @@ -8545,6 +11151,16 @@ "bser": "2.1.1" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/fetch-intercept": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/fetch-intercept/-/fetch-intercept-2.4.0.tgz", @@ -8581,6 +11197,16 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -8656,6 +11282,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/fix-dts-default-cjs-exports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fix-dts-default-cjs-exports/-/fix-dts-default-cjs-exports-1.0.1.tgz", + "integrity": "sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "magic-string": "^0.30.17", + "mlly": "^1.7.4", + "rollup": "^4.34.8" + } + }, "node_modules/flat-cache": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", @@ -8678,6 +11316,27 @@ "dev": true, "license": "ISC" }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -8725,15 +11384,16 @@ } }, "node_modules/form-data": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", - "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", "dev": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", "mime-types": "^2.1.12" }, "engines": { @@ -8751,10 +11411,17 @@ "readable-stream": "^2.0.0" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true, + "license": "MIT" + }, "node_modules/fs-extra": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", - "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz", + "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==", "dev": true, "license": "MIT", "dependencies": { @@ -8862,9 +11529,9 @@ } }, "node_modules/get-east-asian-width": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", - "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.1.tgz", + "integrity": "sha512-R1QfovbPsKmosqTnPoRFiJ7CF9MLRgb53ChvMZm+r4p76/+8yKDy17qLL2PKInORy2RkZZekuK0efYgmzTkXyQ==", "dev": true, "license": "MIT", "engines": { @@ -9011,22 +11678,21 @@ } }, "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", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "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" @@ -9045,30 +11711,6 @@ "node": ">=10.13.0" } }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/global-directory": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", @@ -9086,13 +11728,19 @@ } }, "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==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globalthis": { @@ -9319,16 +11967,16 @@ "license": "ISC" }, "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", "dev": true, "license": "MIT", "dependencies": { - "whatwg-encoding": "^2.0.0" + "whatwg-encoding": "^3.1.1" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/html-escaper": { @@ -9339,32 +11987,31 @@ "license": "MIT" }, "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, "license": "MIT", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "6", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/human-signals": { @@ -9406,6 +12053,27 @@ "node": ">=0.10.0" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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": "BSD-3-Clause" + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -9478,9 +12146,9 @@ } }, "node_modules/import-meta-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", - "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", "dev": true, "license": "MIT", "funding": { @@ -9526,9 +12194,9 @@ } }, "node_modules/import-sort-config/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -9717,9 +12385,9 @@ } }, "node_modules/index-to-position": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.0.0.tgz", - "integrity": "sha512-sCO7uaLVhRJ25vz1o8s9IFM3nVS4DkuQnyjMwiQPKvQuBYBDmb8H7zx8ki7nVh4HJQOdVWebyvLE0qt+clruxA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz", + "integrity": "sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==", "dev": true, "license": "MIT", "engines": { @@ -10052,6 +12720,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -10379,19 +13067,6 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", @@ -10408,24 +13083,24 @@ } }, "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-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "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": { @@ -10463,22 +13138,22 @@ } }, "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.1.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-30.1.3.tgz", + "integrity": "sha512-Ry+p2+NLk6u8Agh5yVqELfUJvRfV51hhVBRIB5yZPY7mU0DGBmOuFG5GebZbMbm86cdQNK0fhJuDX8/1YorISQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" + "@jest/core": "30.1.3", + "@jest/types": "30.0.5", + "import-local": "^3.2.0", + "jest-cli": "30.1.3" }, "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" @@ -10490,50 +13165,50 @@ } }, "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.0.5", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.0.5.tgz", + "integrity": "sha512-bGl2Ntdx0eAwXuGpdLdVYVr5YQHnSZlQ0y9HVDu565lCUAe9sj6JOtBbMmBBikGIegne9piDDIOeiLVoqTkz4A==", "dev": true, "license": "MIT", "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", + "execa": "^5.1.1", + "jest-util": "30.0.5", "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.1.3", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.1.3.tgz", + "integrity": "sha512-Yf3dnhRON2GJT4RYzM89t/EXIWNxKTpWTL9BfF3+geFetWP4XSvJjiU1vrWplOiUkmq8cHLiwuhz+XuUp9DscA==", "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.1.2", + "@jest/expect": "30.1.2", + "@jest/test-result": "30.1.3", + "@jest/types": "30.0.5", "@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.1.0", + "jest-matcher-utils": "30.1.2", + "jest-message-util": "30.1.0", + "jest-runtime": "30.1.3", + "jest-snapshot": "30.1.2", + "jest-util": "30.0.5", "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", + "pretty-format": "30.0.5", + "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-circus/node_modules/ansi-styles": { @@ -10570,29 +13245,28 @@ } }, "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.1.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.1.3.tgz", + "integrity": "sha512-G8E2Ol3OKch1DEeIBl41NP7OiC6LBhfg25Btv+idcusmoUSpqUkbrneMqbW9lVpI/rCKb/uETidb7DNteheuAQ==", "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.1.3", + "@jest/test-result": "30.1.3", + "@jest/types": "30.0.5", + "chalk": "^4.1.2", + "exit-x": "^0.2.2", + "import-local": "^3.2.0", + "jest-config": "30.1.3", + "jest-util": "30.0.5", + "jest-validate": "30.1.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" @@ -10637,46 +13311,52 @@ } }, "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.1.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.1.3.tgz", + "integrity": "sha512-M/f7gqdQEPgZNA181Myz+GXCe8jXcJsGjCMXUzRj22FIXsZOyHNte84e0exntOvdPaeh9tA0w+B8qlP2fAezfw==", "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.1.3", + "@jest/types": "30.0.5", + "babel-jest": "30.1.2", + "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.1.3", + "jest-docblock": "30.0.1", + "jest-environment-node": "30.1.2", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.1.3", + "jest-runner": "30.1.3", + "jest-util": "30.0.5", + "jest-validate": "30.1.0", + "micromatch": "^4.0.8", "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", + "pretty-format": "30.0.5", "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 } @@ -10716,19 +13396,19 @@ } }, "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.1.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.1.2.tgz", + "integrity": "sha512-4+prq+9J61mOVXCa4Qp8ZjavdxzrWQXrI80GNxP8f4tkI2syPuPrJgdRPZRrfUTRvIoUwcmNLbqEJy9W800+NQ==", "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.0.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/jest-diff/node_modules/ansi-styles": { @@ -10765,33 +13445,33 @@ } }, "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.0.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.0.1.tgz", + "integrity": "sha512-/vF78qn3DYphAaIc3jy4gA7XSAz167n9Bm/wn/1XhTLW7tTBIzXtCJpb/vcmc73NIIeeohCbdL94JasyXUZsGA==", "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.1.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.1.0.tgz", + "integrity": "sha512-A+9FKzxPluqogNahpCv04UJvcZ9B3HamqpDNWNKDjtxVRYB8xbZLFuCr8JAJFpNp83CA0anGQFlpQna9Me+/tQ==", "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.0.5", + "chalk": "^4.1.2", + "jest-util": "30.0.5", + "pretty-format": "30.0.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/jest-each/node_modules/ansi-styles": { @@ -10828,26 +13508,23 @@ } }, "node_modules/jest-environment-jsdom": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", - "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", + "version": "30.1.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-30.1.2.tgz", + "integrity": "sha512-LXsfAh5+mDTuXDONGl1ZLYxtJEaS06GOoxJb2arcJTjIfh1adYg8zLD8f6P0df8VmjvCaMrLmc1PgHUI/YUTbg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/jsdom": "^20.0.0", + "@jest/environment": "30.1.2", + "@jest/environment-jsdom-abstract": "30.1.2", + "@types/jsdom": "^21.1.7", "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0", - "jsdom": "^20.0.0" + "jsdom": "^26.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" }, "peerDependencies": { - "canvas": "^2.5.0" + "canvas": "^3.0.0" }, "peerDependenciesMeta": { "canvas": { @@ -10856,57 +13533,57 @@ } }, "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.1.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.1.2.tgz", + "integrity": "sha512-w8qBiXtqGWJ9xpJIA98M0EIoq079GOQRQUyse5qg1plShUCQ0Ek1VTTcczqKrn3f24TFAgFtT+4q3aOXvjbsuA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", + "@jest/environment": "30.1.2", + "@jest/fake-timers": "30.1.2", + "@jest/types": "30.0.5", "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" + "jest-mock": "30.0.5", + "jest-util": "30.0.5", + "jest-validate": "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-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "dev": true, "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.1.0.tgz", + "integrity": "sha512-JLeM84kNjpRkggcGpQLsV7B8W4LNUWz7oDNVnY1Vjj22b5/fAb3kk3htiD+4Na8bmJmjJR7rBtS2Rmq/NEcADg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", + "@jest/types": "30.0.5", "@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.0.5", + "jest-worker": "30.1.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-json-schema": { @@ -10968,16 +13645,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-json-schema/node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, "node_modules/jest-json-schema/node_modules/jest-diff": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", @@ -10994,16 +13661,6 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-json-schema/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, "node_modules/jest-json-schema/node_modules/jest-matcher-utils": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", @@ -11056,33 +13713,33 @@ "license": "MIT" }, "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.1.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.1.0.tgz", + "integrity": "sha512-AoFvJzwxK+4KohH60vRuHaqXfWmeBATFZpzpmzNmYTtmRMiyGPVhkXpBqxUQunw+dQB48bDf4NpUs6ivVbRv1g==", "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.0.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/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.1.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.1.2.tgz", + "integrity": "sha512-7ai16hy4rSbDjvPTuUhuV8nyPBd6EX34HkBsBcBX2lENCuAQ0qKCPb/+lt8OSWUa9WWmGYLy41PrEzkwRwoGZQ==", "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.1.2", + "pretty-format": "30.0.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/jest-matcher-utils/node_modules/ansi-styles": { @@ -11119,24 +13776,24 @@ } }, "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.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.1.0.tgz", + "integrity": "sha512-HizKDGG98cYkWmaLUHChq4iN+oCENohQLb7Z5guBPumYs+/etonmNFlg1Ps6yN9LTPyZn+M+b/9BbnHx3WTMDg==", "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.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.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-message-util/node_modules/ansi-styles": { @@ -11173,18 +13830,18 @@ } }, "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.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": "^29.6.3", + "@jest/types": "30.0.5", "@types/node": "*", - "jest-util": "^29.7.0" + "jest-util": "30.0.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/jest-pnp-resolver": { @@ -11206,48 +13863,47 @@ } }, "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.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.1.3.tgz", + "integrity": "sha512-DI4PtTqzw9GwELFS41sdMK32Ajp3XZQ8iygeDMWkxlRhm7uUTOFSZFVZABFuxr0jvspn8MAYy54NxZCsuCTSOw==", "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.1.0", + "jest-pnp-resolver": "^1.2.3", + "jest-util": "30.0.5", + "jest-validate": "30.1.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.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.1.3.tgz", + "integrity": "sha512-DNfq3WGmuRyHRHfEet+Zm3QOmVFtIarUOQHHryKPc0YL9ROfgWZxl4+aZq/VAzok2SS3gZdniP+dO4zgo59hBg==", "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.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/jest-resolve/node_modules/ansi-styles": { @@ -11284,36 +13940,37 @@ } }, "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.1.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.1.3.tgz", + "integrity": "sha512-dd1ORcxQraW44Uz029TtXj85W11yvLpDuIzNOlofrC8GN+SgDlgY4BvyxJiVeuabA1t6idjNbX59jLd2oplOGQ==", "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.1.2", + "@jest/environment": "30.1.2", + "@jest/test-result": "30.1.3", + "@jest/transform": "30.1.2", + "@jest/types": "30.0.5", "@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.0.1", + "jest-environment-node": "30.1.2", + "jest-haste-map": "30.1.0", + "jest-leak-detector": "30.1.0", + "jest-message-util": "30.1.0", + "jest-resolve": "30.1.3", + "jest-runtime": "30.1.3", + "jest-util": "30.0.5", + "jest-watcher": "30.1.3", + "jest-worker": "30.1.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-runner/node_modules/ansi-styles": { @@ -11350,37 +14007,37 @@ } }, "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==", + "version": "30.1.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.1.3.tgz", + "integrity": "sha512-WS8xgjuNSphdIGnleQcJ3AKE4tBKOVP+tKhCD0u+Tb2sBmsU8DxfbBpZX7//+XOz81zVs4eFpJQwBNji2Y07DA==", "dev": true, "license": "MIT", "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", + "@jest/environment": "30.1.2", + "@jest/fake-timers": "30.1.2", + "@jest/globals": "30.1.2", + "@jest/source-map": "30.0.1", + "@jest/test-result": "30.1.3", + "@jest/transform": "30.1.2", + "@jest/types": "30.0.5", "@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.1.0", + "jest-message-util": "30.1.0", + "jest-mock": "30.0.5", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.1.3", + "jest-snapshot": "30.1.2", + "jest-util": "30.0.5", "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-runtime/node_modules/ansi-styles": { @@ -11417,35 +14074,36 @@ } }, "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, - "license": "MIT", - "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" + "version": "30.1.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.1.2.tgz", + "integrity": "sha512-4q4+6+1c8B6Cy5pGgFvjDy/Pa6VYRiGu0yQafKkJ9u6wQx4G5PqI2QR6nxTl43yy7IWsINwz6oT4o6tD12a8Dg==", + "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.1.2", + "@jest/get-type": "30.1.0", + "@jest/snapshot-utils": "30.1.2", + "@jest/transform": "30.1.2", + "@jest/types": "30.0.5", + "babel-preset-current-node-syntax": "^1.1.0", + "chalk": "^4.1.2", + "expect": "30.1.2", + "graceful-fs": "^4.2.11", + "jest-diff": "30.1.2", + "jest-matcher-utils": "30.1.2", + "jest-message-util": "30.1.0", + "jest-util": "30.0.5", + "pretty-format": "30.0.5", + "semver": "^7.7.2", + "synckit": "^0.11.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" } }, "node_modules/jest-snapshot/node_modules/ansi-styles": { @@ -11481,35 +14139,22 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "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.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": "^29.6.3", + "@jest/types": "30.0.5", "@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/ansi-styles": { @@ -11545,22 +14190,35 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "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.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.1.0.tgz", + "integrity": "sha512-7P3ZlCFW/vhfQ8pE7zW6Oi4EzvuB4sgR72Q1INfW9m0FGo0GADYlPwIkf4CyPq7wq85g+kPMtPOHNAdWHeBOaA==", "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.0.5", + "camelcase": "^6.3.0", + "chalk": "^4.1.2", "leven": "^3.1.0", - "pretty-format": "^29.7.0" + "pretty-format": "30.0.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/jest-validate/node_modules/ansi-styles": { @@ -11610,23 +14268,23 @@ } }, "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.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.1.3.tgz", + "integrity": "sha512-6jQUZCP1BTL2gvG9E4YF06Ytq4yMb4If6YoQGRR6PpjtqOXSP3sKe2kqwB6SQ+H9DezOfZaSLnmka1NtGm3fCQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", + "@jest/test-result": "30.1.3", + "@jest/types": "30.0.5", "@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.0.5", + "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-watcher/node_modules/ansi-styles": { @@ -11663,19 +14321,20 @@ } }, "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.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.1.0.tgz", + "integrity": "sha512-uvWcSjlwAAgIu133Tt77A05H7RIk3Ho8tZL50bQM2AkvLdluw9NG48lRCl3Dt+MOH719n/0nnb5YxUwcuJiKRA==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", - "jest-util": "^29.7.0", + "@ungap/structured-clone": "^1.3.0", + "jest-util": "30.0.5", "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": { @@ -11695,9 +14354,9 @@ } }, "node_modules/jiti": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", - "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.5.1.tgz", + "integrity": "sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==", "dev": true, "license": "MIT", "bin": { @@ -11735,44 +14394,38 @@ } }, "node_modules/jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", + "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssstyle": "^4.2.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.5.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.6", "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.2", - "parse5": "^7.1.1", + "nwsapi": "^2.2.16", + "parse5": "^7.2.1", + "rrweb-cssom": "^0.8.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", + "tough-cookie": "^5.1.1", + "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.1.1", + "ws": "^8.18.0", + "xml-name-validator": "^5.0.0" }, "engines": { - "node": ">=14" + "node": ">=18" }, "peerDependencies": { - "canvas": "^2.5.0" + "canvas": "^3.0.0" }, "peerDependenciesMeta": { "canvas": { @@ -11841,10 +14494,17 @@ "node": ">=6" } }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", "license": "MIT", "dependencies": { "universalify": "^2.0.0" @@ -11890,16 +14550,6 @@ "json-buffer": "3.0.1" } }, - "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, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -11925,213 +14575,141 @@ } }, "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lint-staged": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.5.0.tgz", - "integrity": "sha512-WyCzSbfYGhK7cU+UuDDkzUiytbfbi0ZdPy2orwtM75P3WTtQBzmG40cCxIa8Ii2+XjfxzLH6Be46tUfWS85Xfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^5.4.1", - "commander": "^13.1.0", - "debug": "^4.4.0", - "execa": "^8.0.1", - "lilconfig": "^3.1.3", - "listr2": "^8.2.5", - "micromatch": "^4.0.8", - "pidtree": "^0.6.0", - "string-argv": "^0.3.2", - "yaml": "^2.7.0" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" - }, - "engines": { - "node": ">=18.12.0" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" - } - }, - "node_modules/lint-staged/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/lint-staged/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/antonk52" } }, - "node_modules/lint-staged/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lint-staged": { + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.1.6.tgz", + "integrity": "sha512-U4kuulU3CKIytlkLlaHcGgKscNfJPNTiDF2avIUGFCv7K95/DCYQ7Ra62ydeRWmgQGg9zJYw2dzdbztwJlqrow==", "dev": true, "license": "MIT", "dependencies": { - "path-key": "^4.0.0" + "chalk": "^5.6.0", + "commander": "^14.0.0", + "debug": "^4.4.1", + "lilconfig": "^3.1.3", + "listr2": "^9.0.3", + "micromatch": "^4.0.8", + "nano-spawn": "^1.0.2", + "pidtree": "^0.6.0", + "string-argv": "^0.3.2", + "yaml": "^2.8.1" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=20.17" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/lint-staged" } }, - "node_modules/lint-staged/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "node_modules/listr2": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.3.tgz", + "integrity": "sha512-0aeh5HHHgmq1KRdMMDHfhMWQmIT/m7nRDTlxlFqni2Sp0had9baqsjJRvDGdlvgd6NmPE0nPloOipiQJGFtTHQ==", "dev": true, "license": "MIT", "dependencies": { - "mimic-fn": "^4.0.0" + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=20.0.0" } }, - "node_modules/lint-staged/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "license": "MIT", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/lint-staged/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==", + "node_modules/listr2/node_modules/emoji-regex": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/listr2": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", - "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, "license": "MIT", "dependencies": { - "cli-truncate": "^4.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.1.0", - "rfdc": "^1.4.1", - "wrap-ansi": "^9.0.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/load-json-file": { @@ -12228,13 +14806,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.escaperegexp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", @@ -12368,14 +14939,21 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/log-update/node_modules/emoji-regex": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", + "dev": true, + "license": "MIT" + }, "node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", "dev": true, "license": "MIT", "dependencies": { - "get-east-asian-width": "^1.0.0" + "get-east-asian-width": "^1.3.1" }, "engines": { "node": ">=18" @@ -12401,6 +14979,24 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, + "node_modules/log-update/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/log-update/node_modules/strip-ansi": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", @@ -12417,10 +15013,28 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/lossless-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/lossless-json/-/lossless-json-4.0.2.tgz", - "integrity": "sha512-+z0EaLi2UcWi8MZRxA5iTb6m4Ys4E80uftGY+yG5KNFJb5EceQXOhdW/pWJZ8m97s26u7yZZAYMcKWNztSZssA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lossless-json/-/lossless-json-4.2.0.tgz", + "integrity": "sha512-bsHH3x+7acZfqokfn9Ks/ej96yF/z6oGGw1aBmXesq4r3fAjhdG4uYuqzDgZMk5g1CZUd5w3kwwIp9K1LOYUiA==", "license": "MIT" }, "node_modules/lru-cache": { @@ -12433,6 +15047,16 @@ "yallist": "^3.0.2" } }, + "node_modules/magic-string": { + "version": "0.30.18", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.18.tgz", + "integrity": "sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, "node_modules/make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -12449,18 +15073,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "license": "ISC" }, "node_modules/makeerror": { "version": "1.0.12", @@ -12473,9 +15091,9 @@ } }, "node_modules/marked": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", - "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", + "version": "15.0.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", + "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", "dev": true, "license": "MIT", "bin": { @@ -12578,9 +15196,9 @@ } }, "node_modules/mime": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.6.tgz", - "integrity": "sha512-4rGt7rvQHBbaSOF9POGkk1ocRP16Md1x36Xma8sz8h8/vfCUI2OtEIeCqe4Ofes853x4xDoPiFLIT47J5fI/7A==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.7.tgz", + "integrity": "sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ==", "dev": true, "funding": [ "https://github.com/sponsors/broofa" @@ -12675,6 +15293,19 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/mlly": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", + "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.1" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -12694,6 +15325,35 @@ "thenify-all": "^1.0.0" } }, + "node_modules/nano-spawn": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/nano-spawn/-/nano-spawn-1.0.3.tgz", + "integrity": "sha512-jtpsQDetTnvS2Ts1fiRdci5rx0VYws5jGyC+4IYOTnIQ/wwdf6JdomlHBwqC3bJYOvaKu0C2GSZ1A60anrYpaA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/nano-spawn?sponsor=1" + } + }, + "node_modules/napi-postinstall": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.3.tgz", + "integrity": "sha512-uTp172LLXSxuSYHv/kou+f6KW3SMppU9ivthaVTXian9sOt3XM/zHYHpRZiLgQoxeWfYUnslNWQHF1+G71xcow==", + "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", @@ -12795,9 +15455,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.20.tgz", + "integrity": "sha512-7gK6zSXEH6neM212JgfYFXe+GmZQM+fia5SsusuBIUgnPheLFBmIPhtFoAQRj8/7wASYQnbDlHPVwY0BefoFgA==", "dev": true, "license": "MIT" }, @@ -12816,19 +15476,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -12840,9 +15487,9 @@ } }, "node_modules/normalize-url": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", - "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.2.tgz", + "integrity": "sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==", "dev": true, "license": "MIT", "engines": { @@ -12853,9 +15500,9 @@ } }, "node_modules/npm": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.2.tgz", - "integrity": "sha512-iriPEPIkoMYUy3F6f3wwSZAU93E0Eg6cHwIR6jzzOXWSy+SD/rOODEs74cVONHKSx2obXtuUoyidVEhISrisgQ==", + "version": "11.6.2", + "resolved": "https://registry.npmjs.org/npm/-/npm-11.6.2.tgz", + "integrity": "sha512-7iKzNfy8lWYs3zq4oFPa8EXZz5xt9gQNKJZau3B1ErLBb6bF7sBJ00x09485DOvRT2l5Gerbl3VlZNT57MxJVA==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -12886,7 +15533,6 @@ "libnpmdiff", "libnpmexec", "libnpmfund", - "libnpmhook", "libnpmorg", "libnpmpack", "libnpmpublish", @@ -12900,7 +15546,6 @@ "ms", "node-gyp", "nopt", - "normalize-package-data", "npm-audit-report", "npm-install-checks", "npm-package-arg", @@ -12923,8 +15568,7 @@ "tiny-relative-date", "treeverse", "validate-npm-package-name", - "which", - "write-file-atomic" + "which" ], "dev": true, "license": "Artistic-2.0", @@ -12937,80 +15581,77 @@ ], "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^8.0.0", - "@npmcli/config": "^9.0.0", + "@npmcli/arborist": "^9.1.6", + "@npmcli/config": "^10.4.2", "@npmcli/fs": "^4.0.0", - "@npmcli/map-workspaces": "^4.0.2", - "@npmcli/package-json": "^6.1.0", - "@npmcli/promise-spawn": "^8.0.2", - "@npmcli/redact": "^3.0.0", - "@npmcli/run-script": "^9.0.1", - "@sigstore/tuf": "^3.0.0", - "abbrev": "^3.0.0", + "@npmcli/map-workspaces": "^5.0.0", + "@npmcli/package-json": "^7.0.1", + "@npmcli/promise-spawn": "^8.0.3", + "@npmcli/redact": "^3.2.2", + "@npmcli/run-script": "^10.0.0", + "@sigstore/tuf": "^4.0.0", + "abbrev": "^3.0.1", "archy": "~1.0.0", - "cacache": "^19.0.1", - "chalk": "^5.3.0", - "ci-info": "^4.1.0", + "cacache": "^20.0.1", + "chalk": "^5.6.2", + "ci-info": "^4.3.1", "cli-columns": "^4.0.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", - "glob": "^10.4.5", + "glob": "^11.0.3", "graceful-fs": "^4.2.11", - "hosted-git-info": "^8.0.2", + "hosted-git-info": "^9.0.2", "ini": "^5.0.0", - "init-package-json": "^7.0.2", - "is-cidr": "^5.1.0", + "init-package-json": "^8.2.2", + "is-cidr": "^6.0.1", "json-parse-even-better-errors": "^4.0.0", - "libnpmaccess": "^9.0.0", - "libnpmdiff": "^7.0.0", - "libnpmexec": "^9.0.0", - "libnpmfund": "^6.0.0", - "libnpmhook": "^11.0.0", - "libnpmorg": "^7.0.0", - "libnpmpack": "^8.0.0", - "libnpmpublish": "^10.0.1", - "libnpmsearch": "^8.0.0", - "libnpmteam": "^7.0.0", - "libnpmversion": "^7.0.0", - "make-fetch-happen": "^14.0.3", - "minimatch": "^9.0.5", + "libnpmaccess": "^10.0.3", + "libnpmdiff": "^8.0.9", + "libnpmexec": "^10.1.8", + "libnpmfund": "^7.0.9", + "libnpmorg": "^8.0.1", + "libnpmpack": "^9.0.9", + "libnpmpublish": "^11.1.2", + "libnpmsearch": "^9.0.1", + "libnpmteam": "^8.0.2", + "libnpmversion": "^8.0.2", + "make-fetch-happen": "^15.0.2", + "minimatch": "^10.0.3", "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^11.0.0", - "nopt": "^8.0.0", - "normalize-package-data": "^7.0.0", + "node-gyp": "^11.4.2", + "nopt": "^8.1.0", "npm-audit-report": "^6.0.0", - "npm-install-checks": "^7.1.1", - "npm-package-arg": "^12.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-profile": "^11.0.1", - "npm-registry-fetch": "^18.0.2", + "npm-install-checks": "^7.1.2", + "npm-package-arg": "^13.0.1", + "npm-pick-manifest": "^11.0.1", + "npm-profile": "^12.0.0", + "npm-registry-fetch": "^19.0.0", "npm-user-validate": "^3.0.0", - "p-map": "^4.0.0", - "pacote": "^19.0.1", + "p-map": "^7.0.3", + "pacote": "^21.0.3", "parse-conflict-json": "^4.0.0", "proc-log": "^5.0.0", "qrcode-terminal": "^0.12.0", - "read": "^4.0.0", - "semver": "^7.6.3", + "read": "^4.1.0", + "semver": "^7.7.3", "spdx-expression-parse": "^4.0.0", "ssri": "^12.0.0", - "supports-color": "^9.4.0", - "tar": "^6.2.1", + "supports-color": "^10.2.2", + "tar": "^7.5.1", "text-table": "~0.2.0", - "tiny-relative-date": "^1.3.0", + "tiny-relative-date": "^2.0.2", "treeverse": "^3.0.0", - "validate-npm-package-name": "^6.0.0", - "which": "^5.0.0", - "write-file-atomic": "^6.0.0" + "validate-npm-package-name": "^6.0.2", + "which": "^5.0.0" }, "bin": { "npm": "bin/npm-cli.js", "npx": "bin/npx-cli.js" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm-run-path": { @@ -13020,10 +15661,31 @@ "dev": true, "license": "MIT", "dependencies": { - "path-key": "^3.0.0" + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/npm/node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" }, "engines": { - "node": ">=8" + "node": "20 || >=22" } }, "node_modules/npm/node_modules/@isaacs/cliui": { @@ -13044,7 +15706,7 @@ } }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", + "version": "6.2.2", "dev": true, "inBundle": true, "license": "MIT", @@ -13079,7 +15741,7 @@ } }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", + "version": "7.1.2", "dev": true, "inBundle": true, "license": "MIT", @@ -13112,7 +15774,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/agent": { - "version": "3.0.0", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -13120,15 +15782,15 @@ "agent-base": "^7.1.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", + "lru-cache": "^11.2.1", "socks-proxy-agent": "^8.0.3" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "8.0.0", + "version": "9.1.6", "dev": true, "inBundle": true, "license": "ISC", @@ -13136,63 +15798,61 @@ "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/fs": "^4.0.0", "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/map-workspaces": "^4.0.1", - "@npmcli/metavuln-calculator": "^8.0.0", + "@npmcli/map-workspaces": "^5.0.0", + "@npmcli/metavuln-calculator": "^9.0.2", "@npmcli/name-from-folder": "^3.0.0", "@npmcli/node-gyp": "^4.0.0", - "@npmcli/package-json": "^6.0.1", + "@npmcli/package-json": "^7.0.0", "@npmcli/query": "^4.0.0", "@npmcli/redact": "^3.0.0", - "@npmcli/run-script": "^9.0.1", + "@npmcli/run-script": "^10.0.0", "bin-links": "^5.0.0", - "cacache": "^19.0.1", + "cacache": "^20.0.1", "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^8.0.0", - "json-parse-even-better-errors": "^4.0.0", + "hosted-git-info": "^9.0.0", "json-stringify-nice": "^1.1.4", - "lru-cache": "^10.2.2", - "minimatch": "^9.0.4", + "lru-cache": "^11.2.1", + "minimatch": "^10.0.3", "nopt": "^8.0.0", "npm-install-checks": "^7.1.0", - "npm-package-arg": "^12.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-registry-fetch": "^18.0.1", - "pacote": "^19.0.0", + "npm-package-arg": "^13.0.0", + "npm-pick-manifest": "^11.0.1", + "npm-registry-fetch": "^19.0.0", + "pacote": "^21.0.2", "parse-conflict-json": "^4.0.0", "proc-log": "^5.0.0", "proggy": "^3.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^3.0.1", - "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", "ssri": "^12.0.0", "treeverse": "^3.0.0", - "walk-up-path": "^3.0.1" + "walk-up-path": "^4.0.0" }, "bin": { "arborist": "bin/index.js" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "9.0.0", + "version": "10.4.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/map-workspaces": "^4.0.1", - "@npmcli/package-json": "^6.0.1", + "@npmcli/map-workspaces": "^5.0.0", + "@npmcli/package-json": "^7.0.0", "ci-info": "^4.0.0", "ini": "^5.0.0", - "nopt": "^8.0.0", + "nopt": "^8.1.0", "proc-log": "^5.0.0", "semver": "^7.3.5", - "walk-up-path": "^3.0.1" + "walk-up-path": "^4.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/@npmcli/fs": { @@ -13208,23 +15868,22 @@ } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "6.0.1", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/promise-spawn": "^8.0.0", "ini": "^5.0.0", - "lru-cache": "^10.0.1", - "npm-pick-manifest": "^10.0.0", + "lru-cache": "^11.2.1", + "npm-pick-manifest": "^11.0.1", "proc-log": "^5.0.0", - "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", "which": "^5.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { @@ -13244,65 +15903,34 @@ } }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "4.0.2", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/name-from-folder": "^3.0.0", - "@npmcli/package-json": "^6.0.0", - "glob": "^10.2.2", - "minimatch": "^9.0.0" + "@npmcli/package-json": "^7.0.0", + "glob": "^11.0.3", + "minimatch": "^10.0.3" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "8.0.1", + "version": "9.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "cacache": "^19.0.0", + "cacache": "^20.0.0", "json-parse-even-better-errors": "^4.0.0", - "pacote": "^20.0.0", + "pacote": "^21.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/@npmcli/metavuln-calculator/node_modules/pacote": { - "version": "20.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "@npmcli/git": "^6.0.0", - "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "@npmcli/run-script": "^9.0.0", - "cacache": "^19.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^12.0.0", - "npm-packlist": "^9.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-registry-fetch": "^18.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^3.0.0", - "ssri": "^12.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "bin/index.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/@npmcli/name-from-folder": { @@ -13324,25 +15952,25 @@ } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "6.1.0", + "version": "7.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^6.0.0", - "glob": "^10.2.2", - "hosted-git-info": "^8.0.0", + "@npmcli/git": "^7.0.0", + "glob": "^11.0.3", + "hosted-git-info": "^9.0.0", "json-parse-even-better-errors": "^4.0.0", - "normalize-package-data": "^7.0.0", "proc-log": "^5.0.0", - "semver": "^7.5.3" + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "8.0.2", + "version": "8.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -13354,19 +15982,19 @@ } }, "node_modules/npm/node_modules/@npmcli/query": { - "version": "4.0.0", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "postcss-selector-parser": "^6.1.2" + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/redact": { - "version": "3.0.0", + "version": "3.2.2", "dev": true, "inBundle": true, "license": "ISC", @@ -13375,20 +16003,20 @@ } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "9.0.2", + "version": "10.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/node-gyp": "^4.0.0", - "@npmcli/package-json": "^6.0.0", + "@npmcli/package-json": "^7.0.0", "@npmcli/promise-spawn": "^8.0.0", "node-gyp": "^11.0.0", "proc-log": "^5.0.0", "which": "^5.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/@pkgjs/parseargs": { @@ -13401,26 +16029,78 @@ "node": ">=14" } }, + "node_modules/npm/node_modules/@sigstore/bundle": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.5.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm/node_modules/@sigstore/core": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { - "version": "0.3.2", + "version": "0.5.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@sigstore/sign": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.0.0", + "@sigstore/protobuf-specs": "^0.5.0", + "make-fetch-happen": "^15.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/@sigstore/tuf": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.5.0", + "tuf-js": "^4.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm/node_modules/@sigstore/verify": { "version": "3.0.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2", - "tuf-js": "^3.0.1" + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.0.0", + "@sigstore/protobuf-specs": "^0.5.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/@tufjs/canonical-json": { @@ -13432,38 +16112,50 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/abbrev": { - "version": "3.0.0", + "node_modules/npm/node_modules/@tufjs/models": { + "version": "4.0.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/agent-base": { - "version": "7.1.1", + "node_modules/npm/node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.5", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "debug": "^4.3.4" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 14" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/aggregate-error": { - "version": "3.1.0", + "node_modules/npm/node_modules/abbrev": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/agent-base": { + "version": "7.1.4", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 14" } }, "node_modules/npm/node_modules/ansi-regex": { @@ -13476,7 +16168,7 @@ } }, "node_modules/npm/node_modules/ansi-styles": { - "version": "6.2.1", + "version": "6.2.3", "dev": true, "inBundle": true, "license": "MIT", @@ -13488,7 +16180,7 @@ } }, "node_modules/npm/node_modules/aproba": { - "version": "2.0.0", + "version": "2.1.0", "dev": true, "inBundle": true, "license": "ISC" @@ -13517,131 +16209,55 @@ "read-cmd-shim": "^5.0.0", "write-file-atomic": "^6.0.0" }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/binary-extensions": { - "version": "2.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/npm/node_modules/cacache": { - "version": "19.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^4.0.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^7.0.2", - "ssri": "^12.0.0", - "tar": "^7.4.3", - "unique-filename": "^4.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/cacache/node_modules/chownr": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/npm/node_modules/cacache/node_modules/minizlib": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/npm/node_modules/cacache/node_modules/mkdirp": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/cacache/node_modules/p-map": { - "version": "7.0.2", + "node_modules/npm/node_modules/binary-extensions": { + "version": "3.1.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=18.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/cacache/node_modules/tar": { - "version": "7.4.3", + "node_modules/npm/node_modules/brace-expansion": { + "version": "2.0.2", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" + "balanced-match": "^1.0.0" } }, - "node_modules/npm/node_modules/cacache/node_modules/yallist": { - "version": "5.0.0", + "node_modules/npm/node_modules/cacache": { + "version": "20.0.1", "dev": true, "inBundle": true, - "license": "BlueOak-1.0.0", + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^4.0.0", + "fs-minipass": "^3.0.0", + "glob": "^11.0.3", + "lru-cache": "^11.1.0", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "unique-filename": "^4.0.0" + }, "engines": { - "node": ">=18" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/chalk": { - "version": "5.3.0", + "version": "5.6.2", "dev": true, "inBundle": true, "license": "MIT", @@ -13653,16 +16269,16 @@ } }, "node_modules/npm/node_modules/chownr": { - "version": "2.0.0", + "version": "3.0.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/npm/node_modules/ci-info": { - "version": "4.1.0", + "version": "4.3.1", "dev": true, "funding": [ { @@ -13677,24 +16293,15 @@ } }, "node_modules/npm/node_modules/cidr-regex": { - "version": "4.1.1", + "version": "5.0.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "ip-regex": "^5.0.0" + "ip-regex": "5.0.0" }, "engines": { - "node": ">=14" - } - }, - "node_modules/npm/node_modules/clean-stack": { - "version": "2.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" + "node": ">=20" } }, "node_modules/npm/node_modules/cli-columns": { @@ -13757,6 +16364,12 @@ "node": ">= 8" } }, + "node_modules/npm/node_modules/cross-spawn/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, "node_modules/npm/node_modules/cross-spawn/node_modules/which": { "version": "2.0.2", "dev": true, @@ -13785,7 +16398,7 @@ } }, "node_modules/npm/node_modules/debug": { - "version": "4.3.7", + "version": "4.4.3", "dev": true, "inBundle": true, "license": "MIT", @@ -13802,7 +16415,7 @@ } }, "node_modules/npm/node_modules/diff": { - "version": "5.2.0", + "version": "8.0.2", "dev": true, "inBundle": true, "license": "BSD-3-Clause", @@ -13848,7 +16461,7 @@ "license": "MIT" }, "node_modules/npm/node_modules/exponential-backoff": { - "version": "3.1.1", + "version": "3.1.2", "dev": true, "inBundle": true, "license": "Apache-2.0" @@ -13863,12 +16476,12 @@ } }, "node_modules/npm/node_modules/foreground-child": { - "version": "3.3.0", + "version": "3.3.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", + "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { @@ -13891,21 +16504,24 @@ } }, "node_modules/npm/node_modules/glob": { - "version": "10.4.5", + "version": "11.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", + "foreground-child": "^3.3.1", + "jackspeak": "^4.1.1", + "minimatch": "^10.0.3", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" }, + "engines": { + "node": "20 || >=22" + }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -13917,19 +16533,19 @@ "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "8.0.2", + "version": "9.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "lru-cache": "^10.0.1" + "lru-cache": "^11.1.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/http-cache-semantics": { - "version": "4.1.1", + "version": "4.2.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause" @@ -13948,12 +16564,12 @@ } }, "node_modules/npm/node_modules/https-proxy-agent": { - "version": "7.0.5", + "version": "7.0.6", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { @@ -13974,15 +16590,15 @@ } }, "node_modules/npm/node_modules/ignore-walk": { - "version": "7.0.0", + "version": "8.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minimatch": "^9.0.0" + "minimatch": "^10.0.3" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/imurmurhash": { @@ -13994,15 +16610,6 @@ "node": ">=0.8.19" } }, - "node_modules/npm/node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/ini": { "version": "5.0.0", "dev": true, @@ -14013,32 +16620,28 @@ } }, "node_modules/npm/node_modules/init-package-json": { - "version": "7.0.2", + "version": "8.2.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/package-json": "^6.0.0", - "npm-package-arg": "^12.0.0", + "@npmcli/package-json": "^7.0.0", + "npm-package-arg": "^13.0.0", "promzard": "^2.0.0", "read": "^4.0.0", - "semver": "^7.3.5", + "semver": "^7.7.2", "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^6.0.0" + "validate-npm-package-name": "^6.0.2" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/ip-address": { - "version": "9.0.5", + "version": "10.0.1", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, "engines": { "node": ">= 12" } @@ -14056,15 +16659,15 @@ } }, "node_modules/npm/node_modules/is-cidr": { - "version": "5.1.0", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "cidr-regex": "^4.1.1" + "cidr-regex": "5.0.1" }, "engines": { - "node": ">=14" + "node": ">=20" } }, "node_modules/npm/node_modules/is-fullwidth-code-point": { @@ -14077,32 +16680,29 @@ } }, "node_modules/npm/node_modules/isexe": { - "version": "2.0.0", + "version": "3.1.1", "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": ">=16" + } }, "node_modules/npm/node_modules/jackspeak": { - "version": "3.4.3", + "version": "4.1.1", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, + "engines": { + "node": "20 || >=22" + }, "funding": { "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/npm/node_modules/jsbn": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, "node_modules/npm/node_modules/json-parse-even-better-errors": { "version": "4.0.0", "dev": true, @@ -14143,185 +16743,177 @@ "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { - "version": "9.0.0", + "version": "10.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-package-arg": "^12.0.0", - "npm-registry-fetch": "^18.0.1" + "npm-package-arg": "^13.0.0", + "npm-registry-fetch": "^19.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "7.0.0", + "version": "8.0.9", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^8.0.0", + "@npmcli/arborist": "^9.1.6", "@npmcli/installed-package-contents": "^3.0.0", - "binary-extensions": "^2.3.0", - "diff": "^5.1.0", - "minimatch": "^9.0.4", - "npm-package-arg": "^12.0.0", - "pacote": "^19.0.0", - "tar": "^6.2.1" + "binary-extensions": "^3.0.0", + "diff": "^8.0.2", + "minimatch": "^10.0.3", + "npm-package-arg": "^13.0.0", + "pacote": "^21.0.2", + "tar": "^7.5.1" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "9.0.0", + "version": "10.1.8", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^8.0.0", - "@npmcli/run-script": "^9.0.1", + "@npmcli/arborist": "^9.1.6", + "@npmcli/package-json": "^7.0.0", + "@npmcli/run-script": "^10.0.0", "ci-info": "^4.0.0", - "npm-package-arg": "^12.0.0", - "pacote": "^19.0.0", + "npm-package-arg": "^13.0.0", + "pacote": "^21.0.2", "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", "read": "^4.0.0", - "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", - "walk-up-path": "^3.0.1" + "signal-exit": "^4.1.0", + "walk-up-path": "^4.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "6.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "@npmcli/arborist": "^8.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/libnpmhook": { - "version": "11.0.0", + "version": "7.0.9", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "aproba": "^2.0.0", - "npm-registry-fetch": "^18.0.1" + "@npmcli/arborist": "^9.1.6" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmorg": { - "version": "7.0.0", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^18.0.1" + "npm-registry-fetch": "^19.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "8.0.0", + "version": "9.0.9", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^8.0.0", - "@npmcli/run-script": "^9.0.1", - "npm-package-arg": "^12.0.0", - "pacote": "^19.0.0" + "@npmcli/arborist": "^9.1.6", + "@npmcli/run-script": "^10.0.0", + "npm-package-arg": "^13.0.0", + "pacote": "^21.0.2" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "10.0.1", + "version": "11.1.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { + "@npmcli/package-json": "^7.0.0", "ci-info": "^4.0.0", - "normalize-package-data": "^7.0.0", - "npm-package-arg": "^12.0.0", - "npm-registry-fetch": "^18.0.1", + "npm-package-arg": "^13.0.0", + "npm-registry-fetch": "^19.0.0", "proc-log": "^5.0.0", "semver": "^7.3.7", - "sigstore": "^3.0.0", + "sigstore": "^4.0.0", "ssri": "^12.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmsearch": { - "version": "8.0.0", + "version": "9.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^18.0.1" + "npm-registry-fetch": "^19.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmteam": { - "version": "7.0.0", + "version": "8.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^18.0.1" + "npm-registry-fetch": "^19.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmversion": { - "version": "7.0.0", + "version": "8.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^6.0.1", - "@npmcli/run-script": "^9.0.1", + "@npmcli/git": "^7.0.0", + "@npmcli/run-script": "^10.0.0", "json-parse-even-better-errors": "^4.0.0", "proc-log": "^5.0.0", "semver": "^7.3.7" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/lru-cache": { - "version": "10.4.3", + "version": "11.2.2", "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "20 || >=22" + } }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "14.0.3", + "version": "15.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/agent": "^3.0.0", - "cacache": "^19.0.1", + "@npmcli/agent": "^4.0.0", + "cacache": "^20.0.1", "http-cache-semantics": "^4.1.1", "minipass": "^7.0.2", "minipass-fetch": "^4.0.0", @@ -14333,28 +16925,19 @@ "ssri": "^12.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/make-fetch-happen/node_modules/negotiator": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/minimatch": { - "version": "9.0.5", + "version": "10.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "@isaacs/brace-expansion": "^5.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -14382,7 +16965,7 @@ } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "4.0.0", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "MIT", @@ -14398,19 +16981,6 @@ "encoding": "^0.1.13" } }, - "node_modules/npm/node_modules/minipass-fetch/node_modules/minizlib": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/npm/node_modules/minipass-flush": { "version": "1.0.5", "dev": true, @@ -14435,32 +17005,8 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/minipass-pipeline": { - "version": "1.2.4", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/minipass-sized": { - "version": "1.0.3", + "node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", "dev": true, "inBundle": true, "license": "ISC", @@ -14471,7 +17017,7 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { + "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { "version": "3.3.6", "dev": true, "inBundle": true, @@ -14483,20 +17029,19 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/minizlib": { - "version": "2.1.2", + "node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "minipass": "^3.0.0" }, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/npm/node_modules/minizlib/node_modules/minipass": { + "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { "version": "3.3.6", "dev": true, "inBundle": true, @@ -14508,16 +17053,16 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/npm/node_modules/minizlib": { + "version": "3.1.0", "dev": true, "inBundle": true, "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "minipass": "^7.1.2" }, "engines": { - "node": ">=10" + "node": ">= 18" } }, "node_modules/npm/node_modules/ms": { @@ -14535,21 +17080,30 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/npm/node_modules/negotiator": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/npm/node_modules/node-gyp": { - "version": "11.0.0", + "version": "11.4.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", "graceful-fs": "^4.2.6", "make-fetch-happen": "^14.0.3", "nopt": "^8.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5", "tar": "^7.4.3", + "tinyglobby": "^0.2.12", "which": "^5.0.0" }, "bin": { @@ -14559,102 +17113,149 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/chownr": { + "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/agent": { "version": "3.0.0", "dev": true, "inBundle": true, - "license": "BlueOak-1.0.0", + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, "engines": { - "node": ">=18" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/minizlib": { - "version": "3.0.1", + "node_modules/npm/node_modules/node-gyp/node_modules/cacache": { + "version": "19.0.1", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" + "@npmcli/fs": "^4.0.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" }, "engines": { - "node": ">= 18" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { - "version": "3.0.1", + "node_modules/npm/node_modules/node-gyp/node_modules/glob": { + "version": "10.4.5", "dev": true, "inBundle": true, - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" + "license": "ISC", + "dependencies": { + "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": ">=10" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/tar": { - "version": "7.4.3", + "node_modules/npm/node_modules/node-gyp/node_modules/jackspeak": { + "version": "3.4.3", "dev": true, "inBundle": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" + "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=18" + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/yallist": { - "version": "5.0.0", + "node_modules/npm/node_modules/node-gyp/node_modules/lru-cache": { + "version": "10.4.3", "dev": true, "inBundle": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } + "license": "ISC" }, - "node_modules/npm/node_modules/nopt": { - "version": "8.0.0", + "node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": { + "version": "14.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "abbrev": "^2.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/nopt/node_modules/abbrev": { - "version": "2.0.0", + "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": { + "version": "9.0.5", "dev": true, "inBundle": true, "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/normalize-package-data": { - "version": "7.0.0", + "node_modules/npm/node_modules/node-gyp/node_modules/path-scurry": { + "version": "1.11.1", "dev": true, "inBundle": true, - "license": "BSD-2-Clause", + "license": "BlueOak-1.0.0", "dependencies": { - "hosted-git-info": "^8.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "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/npm/node_modules/nopt": { + "version": "8.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "^3.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" }, "engines": { "node": "^18.17.0 || >=20.5.0" @@ -14682,7 +17283,7 @@ } }, "node_modules/npm/node_modules/npm-install-checks": { - "version": "7.1.1", + "version": "7.1.2", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -14703,90 +17304,78 @@ } }, "node_modules/npm/node_modules/npm-package-arg": { - "version": "12.0.0", + "version": "13.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "hosted-git-info": "^8.0.0", + "hosted-git-info": "^9.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^6.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/npm-packlist": { - "version": "9.0.0", + "version": "10.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "ignore-walk": "^7.0.0" + "ignore-walk": "^8.0.0", + "proc-log": "^5.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/npm-pick-manifest": { - "version": "10.0.0", + "version": "11.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "npm-install-checks": "^7.1.0", "npm-normalize-package-bin": "^4.0.0", - "npm-package-arg": "^12.0.0", + "npm-package-arg": "^13.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/npm-profile": { - "version": "11.0.1", + "version": "12.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^18.0.0", + "npm-registry-fetch": "^19.0.0", "proc-log": "^5.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "18.0.2", + "version": "19.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/redact": "^3.0.0", "jsonparse": "^1.3.1", - "make-fetch-happen": "^14.0.0", + "make-fetch-happen": "^15.0.0", "minipass": "^7.0.2", "minipass-fetch": "^4.0.0", "minizlib": "^3.0.1", - "npm-package-arg": "^12.0.0", + "npm-package-arg": "^13.0.0", "proc-log": "^5.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/npm-registry-fetch/node_modules/minizlib": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - }, - "engines": { - "node": ">= 18" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/npm-user-validate": { @@ -14799,15 +17388,12 @@ } }, "node_modules/npm/node_modules/p-map": { - "version": "4.0.0", + "version": "7.0.3", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -14820,34 +17406,34 @@ "license": "BlueOak-1.0.0" }, "node_modules/npm/node_modules/pacote": { - "version": "19.0.1", + "version": "21.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^6.0.0", + "@npmcli/git": "^7.0.0", "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/package-json": "^6.0.0", + "@npmcli/package-json": "^7.0.0", "@npmcli/promise-spawn": "^8.0.0", - "@npmcli/run-script": "^9.0.0", - "cacache": "^19.0.0", + "@npmcli/run-script": "^10.0.0", + "cacache": "^20.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", - "npm-package-arg": "^12.0.0", - "npm-packlist": "^9.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-registry-fetch": "^18.0.0", + "npm-package-arg": "^13.0.0", + "npm-packlist": "^10.0.1", + "npm-pick-manifest": "^11.0.1", + "npm-registry-fetch": "^19.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", - "sigstore": "^3.0.0", + "sigstore": "^4.0.0", "ssri": "^12.0.0", - "tar": "^6.1.11" + "tar": "^7.4.3" }, "bin": { "pacote": "bin/index.js" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/parse-conflict-json": { @@ -14874,23 +17460,23 @@ } }, "node_modules/npm/node_modules/path-scurry": { - "version": "1.11.1", + "version": "2.0.0", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "6.1.2", + "version": "7.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -14938,12 +17524,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/promise-inflight": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/promise-retry": { "version": "2.0.1", "dev": true, @@ -14978,7 +17558,7 @@ } }, "node_modules/npm/node_modules/read": { - "version": "4.0.0", + "version": "4.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -14998,43 +17578,15 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/read-package-json-fast": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^4.0.0", - "npm-normalize-package-bin": "^4.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/retry": { - "version": "0.12.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/npm/node_modules/rimraf": { - "version": "5.0.10", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "glob": "^10.3.7" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", "dev": true, @@ -15043,7 +17595,7 @@ "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.6.3", + "version": "7.7.3", "dev": true, "inBundle": true, "license": "ISC", @@ -15088,72 +17640,20 @@ } }, "node_modules/npm/node_modules/sigstore": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^3.0.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "@sigstore/sign": "^3.0.0", - "@sigstore/tuf": "^3.0.0", - "@sigstore/verify": "^2.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/bundle": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/core": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/sign": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^3.0.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "make-fetch-happen": "^14.0.1", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/verify": { - "version": "2.0.0", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^3.0.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2" + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.0.0", + "@sigstore/protobuf-specs": "^0.5.0", + "@sigstore/sign": "^4.0.0", + "@sigstore/tuf": "^4.0.0", + "@sigstore/verify": "^3.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/smart-buffer": { @@ -15167,12 +17667,12 @@ } }, "node_modules/npm/node_modules/socks": { - "version": "2.8.3", + "version": "2.8.7", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "ip-address": "^9.0.5", + "ip-address": "^10.0.1", "smart-buffer": "^4.2.0" }, "engines": { @@ -15181,12 +17681,12 @@ } }, "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "8.0.4", + "version": "8.0.5", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.1", + "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" }, @@ -15231,17 +17731,11 @@ } }, "node_modules/npm/node_modules/spdx-license-ids": { - "version": "3.0.20", + "version": "3.0.22", "dev": true, "inBundle": true, "license": "CC0-1.0" }, - "node_modules/npm/node_modules/sprintf-js": { - "version": "1.1.3", - "dev": true, - "inBundle": true, - "license": "BSD-3-Clause" - }, "node_modules/npm/node_modules/ssri": { "version": "12.0.0", "dev": true, @@ -15309,78 +17803,98 @@ } }, "node_modules/npm/node_modules/supports-color": { - "version": "9.4.0", + "version": "10.2.2", "dev": true, "inBundle": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/npm/node_modules/tar": { - "version": "6.2.1", + "version": "7.5.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/npm/node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", + "node_modules/npm/node_modules/tar/node_modules/yallist": { + "version": "5.0.0", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": ">= 8" + "node": ">=18" } }, - "node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tinyglobby": { + "version": "0.2.15", + "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "engines": { - "node": ">=8" + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/npm/node_modules/tar/node_modules/minipass": { - "version": "5.0.0", + "node_modules/npm/node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/npm/node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/tiny-relative-date": { - "version": "1.3.0", + "node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, "node_modules/npm/node_modules/treeverse": { "version": "3.0.0", @@ -15392,30 +17906,17 @@ } }, "node_modules/npm/node_modules/tuf-js": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@tufjs/models": "3.0.1", - "debug": "^4.3.6", - "make-fetch-happen": "^14.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/tuf-js/node_modules/@tufjs/models": { - "version": "3.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.5" + "@tufjs/models": "4.0.0", + "debug": "^4.4.1", + "make-fetch-happen": "^15.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/unique-filename": { @@ -15469,7 +17970,7 @@ } }, "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "6.0.0", + "version": "6.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -15478,10 +17979,13 @@ } }, "node_modules/npm/node_modules/walk-up-path": { - "version": "3.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "20 || >=22" + } }, "node_modules/npm/node_modules/which": { "version": "5.0.0", @@ -15498,15 +18002,6 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/which/node_modules/isexe": { - "version": "3.1.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, "node_modules/npm/node_modules/wrap-ansi": { "version": "8.1.0", "dev": true, @@ -15558,7 +18053,7 @@ } }, "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.1.0", + "version": "6.2.2", "dev": true, "inBundle": true, "license": "MIT", @@ -15593,7 +18088,7 @@ } }, "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", + "version": "7.1.2", "dev": true, "inBundle": true, "license": "MIT", @@ -15627,9 +18122,9 @@ "license": "ISC" }, "node_modules/nwsapi": { - "version": "2.2.19", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.19.tgz", - "integrity": "sha512-94bcyI3RsqiZufXjkr3ltkI86iEl+I7uiHVDtcq9wJUTwYQJ5odHDeSzkkrRzi80jJ8MaeZgqKjH1bAWAFw9bA==", + "version": "2.2.22", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz", + "integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==", "dev": true, "license": "MIT" }, @@ -16010,13 +18505,13 @@ } }, "node_modules/parse5": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", - "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^4.5.0" + "entities": "^6.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" @@ -16110,6 +18605,20 @@ "node": ">=8" } }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -16153,10 +18662,33 @@ "node": ">=4" } }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "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": { @@ -16329,6 +18861,18 @@ "node": ">=8" } }, + "node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -16393,9 +18937,9 @@ } }, "node_modules/prettier": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", - "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", "bin": { @@ -16438,18 +18982,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.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": "^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-ms": { @@ -16475,20 +19019,6 @@ "dev": true, "license": "MIT" }, - "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, - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", @@ -16496,18 +19026,12 @@ "dev": true, "license": "ISC" }, - "node_modules/psl": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", - "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "funding": { - "url": "https://github.com/sponsors/lupomontero" - } + "license": "MIT" }, "node_modules/punycode": { "version": "2.3.1", @@ -16520,9 +19044,9 @@ } }, "node_modules/pure-rand": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", - "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "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": [ { @@ -16536,13 +19060,6 @@ ], "license": "MIT" }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true, - "license": "MIT" - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -16623,9 +19140,9 @@ } }, "node_modules/read-package-up/node_modules/type-fest": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.38.0.tgz", - "integrity": "sha512-2dBz5D5ycHIoliLYLi0Q2V7KRaDlH0uWIvmk7TYlAg5slqwiPv1ezJdZm1QEM0xgk29oYWMCbIG7E6gHpvChlg==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -16656,15 +19173,15 @@ } }, "node_modules/read-pkg/node_modules/parse-json": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.2.0.tgz", - "integrity": "sha512-eONBZy4hm2AgxjNFd8a4nyDJnzUAH0g34xSQAwWEVGCjdZ4ZL7dKZBfq267GWP/JaS9zW62Xs2FeAdDvpHHJGQ==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", - "index-to-position": "^1.0.0", - "type-fest": "^4.37.0" + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" }, "engines": { "node": ">=18" @@ -16674,9 +19191,9 @@ } }, "node_modules/read-pkg/node_modules/type-fest": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.38.0.tgz", - "integrity": "sha512-2dBz5D5ycHIoliLYLi0Q2V7KRaDlH0uWIvmk7TYlAg5slqwiPv1ezJdZm1QEM0xgk29oYWMCbIG7E6gHpvChlg==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -16741,48 +19258,11 @@ "get-proto": "^1.0.1", "which-builtin-type": "^1.2.1" }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", - "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true, - "license": "MIT" - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.4" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/regexp.prototype.flags": { @@ -16806,24 +19286,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpu-core": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", - "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.0", - "regjsgen": "^0.8.0", - "regjsparser": "^0.12.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/registry-auth-token": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.0.tgz", @@ -16837,39 +19299,6 @@ "node": ">=14" } }, - "node_modules/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/regjsparser": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", - "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "jsesc": "~3.0.2" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -16889,13 +19318,6 @@ "node": ">=0.10.0" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true, - "license": "MIT" - }, "node_modules/resolve": { "version": "1.22.10", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", @@ -16940,16 +19362,6 @@ "node": ">=8" } }, - "node_modules/resolve.exports": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, "node_modules/restore-cursor": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", @@ -17031,14 +19443,60 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/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/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/rollup": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.37.0.tgz", - "integrity": "sha512-iAtQy/L4QFU+rTJ1YUjXqJOJzuwEghqWzCEYD2FEghT7Gsy1VdABntrO4CLopA5IkflTyqNiLNwPcOJ3S7UKLg==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.50.0.tgz", + "integrity": "sha512-/Zl4D8zPifNmyGzJS+3kVoyXeDeT/GrsJM94sACNg9RtUE0hrHa1bNPtRSrfHTMH5HjRzce6K7rlTh3Khiw+pw==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.6" + "@types/estree": "1.0.8" }, "bin": { "rollup": "dist/bin/rollup" @@ -17048,29 +19506,37 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.37.0", - "@rollup/rollup-android-arm64": "4.37.0", - "@rollup/rollup-darwin-arm64": "4.37.0", - "@rollup/rollup-darwin-x64": "4.37.0", - "@rollup/rollup-freebsd-arm64": "4.37.0", - "@rollup/rollup-freebsd-x64": "4.37.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.37.0", - "@rollup/rollup-linux-arm-musleabihf": "4.37.0", - "@rollup/rollup-linux-arm64-gnu": "4.37.0", - "@rollup/rollup-linux-arm64-musl": "4.37.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.37.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.37.0", - "@rollup/rollup-linux-riscv64-gnu": "4.37.0", - "@rollup/rollup-linux-riscv64-musl": "4.37.0", - "@rollup/rollup-linux-s390x-gnu": "4.37.0", - "@rollup/rollup-linux-x64-gnu": "4.37.0", - "@rollup/rollup-linux-x64-musl": "4.37.0", - "@rollup/rollup-win32-arm64-msvc": "4.37.0", - "@rollup/rollup-win32-ia32-msvc": "4.37.0", - "@rollup/rollup-win32-x64-msvc": "4.37.0", + "@rollup/rollup-android-arm-eabi": "4.50.0", + "@rollup/rollup-android-arm64": "4.50.0", + "@rollup/rollup-darwin-arm64": "4.50.0", + "@rollup/rollup-darwin-x64": "4.50.0", + "@rollup/rollup-freebsd-arm64": "4.50.0", + "@rollup/rollup-freebsd-x64": "4.50.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.50.0", + "@rollup/rollup-linux-arm-musleabihf": "4.50.0", + "@rollup/rollup-linux-arm64-gnu": "4.50.0", + "@rollup/rollup-linux-arm64-musl": "4.50.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.50.0", + "@rollup/rollup-linux-ppc64-gnu": "4.50.0", + "@rollup/rollup-linux-riscv64-gnu": "4.50.0", + "@rollup/rollup-linux-riscv64-musl": "4.50.0", + "@rollup/rollup-linux-s390x-gnu": "4.50.0", + "@rollup/rollup-linux-x64-gnu": "4.50.0", + "@rollup/rollup-linux-x64-musl": "4.50.0", + "@rollup/rollup-openharmony-arm64": "4.50.0", + "@rollup/rollup-win32-arm64-msvc": "4.50.0", + "@rollup/rollup-win32-ia32-msvc": "4.50.0", + "@rollup/rollup-win32-x64-msvc": "4.50.0", "fsevents": "~2.3.2" } }, + "node_modules/rrweb-cssom": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", + "dev": true, + "license": "MIT" + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -17191,17 +19657,38 @@ "node": ">=v12.22.7" } }, + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^2.8.1" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } + }, + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, "node_modules/semantic-release": { - "version": "24.2.3", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.3.tgz", - "integrity": "sha512-KRhQG9cUazPavJiJEFIJ3XAMjgfd0fcK3B+T26qOl8L0UG5aZUjeRfREO0KM5InGtYwxqiiytkJrbcYoLDEv0A==", + "version": "24.2.7", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.7.tgz", + "integrity": "sha512-g7RssbTAbir1k/S7uSwSVZFfFXwpomUB9Oas0+xi9KStSCmeDXcA7rNhiskjLqvUe/Evhx8fVCT16OSa34eM5g==", "dev": true, "license": "MIT", "dependencies": { "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", "@semantic-release/github": "^11.0.0", - "@semantic-release/npm": "^12.0.0", + "@semantic-release/npm": "^12.0.2", "@semantic-release/release-notes-generator": "^14.0.0-beta.1", "aggregate-error": "^5.0.0", "cosmiconfig": "^9.0.0", @@ -17216,8 +19703,8 @@ "hosted-git-info": "^8.0.0", "import-from-esm": "^2.0.0", "lodash-es": "^4.17.21", - "marked": "^12.0.0", - "marked-terminal": "^7.0.0", + "marked": "^15.0.0", + "marked-terminal": "^7.3.0", "micromatch": "^4.0.2", "p-each-series": "^3.0.0", "p-reduce": "^3.0.0", @@ -17305,24 +19792,24 @@ } }, "node_modules/semantic-release/node_modules/execa": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.2.tgz", - "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz", + "integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==", "dev": true, "license": "MIT", "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", - "cross-spawn": "^7.0.3", + "cross-spawn": "^7.0.6", "figures": "^6.1.0", "get-stream": "^9.0.0", - "human-signals": "^8.0.0", + "human-signals": "^8.0.1", "is-plain-obj": "^4.1.0", "is-stream": "^4.0.1", "npm-run-path": "^6.0.0", - "pretty-ms": "^9.0.0", + "pretty-ms": "^9.2.0", "signal-exit": "^4.1.0", "strip-final-newline": "^4.0.0", - "yoctocolors": "^2.0.0" + "yoctocolors": "^2.1.1" }, "engines": { "node": "^18.19.0 || >=20.5.0" @@ -17362,9 +19849,9 @@ } }, "node_modules/semantic-release/node_modules/hosted-git-info": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.2.tgz", - "integrity": "sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", "dev": true, "license": "ISC", "dependencies": { @@ -17375,9 +19862,9 @@ } }, "node_modules/semantic-release/node_modules/human-signals": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", - "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -17460,19 +19947,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/semantic-release/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -17513,13 +19987,16 @@ } }, "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/semver-diff": { @@ -17538,19 +20015,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semver-diff/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/semver-regex": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", @@ -17825,13 +20289,6 @@ "node": ">=4" } }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true, - "license": "MIT" - }, "node_modules/skin-tone": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", @@ -17943,9 +20400,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", - "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", "dev": true, "license": "CC0-1.0" }, @@ -17991,7 +20448,7 @@ }, "node_modules/starknet_specs": { "version": "0.6.0", - "resolved": "git+ssh://git@github.com/starkware-libs/starknet-specs.git#436e6307bab3938339e4bf469f14dee79b50802d", + "resolved": "git+ssh://git@github.com/starkware-libs/starknet-specs.git#c2e93098b9c2ca0423b7f4d15b201f52f22d8c36", "dev": true, "license": "MIT", "dependencies": { @@ -18000,104 +20457,19 @@ "fs-extra": "10.1.0" } }, - "node_modules/starknet_specs_071": { + "node_modules/starknet_specs_08": { "name": "starknet_specs", "version": "0.6.0", - "resolved": "git+ssh://git@github.com/starkware-libs/starknet-specs.git#76bdde23c7dae370a3340e40f7ca2ef2520e75b9", + "resolved": "git+ssh://git@github.com/starkware-libs/starknet-specs.git#a2d10fc6cbaddbe2d3cf6ace5174dd0a306f4885", "dev": true, "license": "MIT", "dependencies": { - "@json-schema-tools/dereferencer": "1.5.4", - "@open-rpc/schema-utils-js": "^1.16.1", + "@json-schema-tools/dereferencer": "1.6.3", + "@open-rpc/schema-utils-js": "^2.0.3", "fs-extra": "10.1.0" } }, - "node_modules/starknet_specs_071/node_modules/@json-schema-tools/dereferencer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@json-schema-tools/dereferencer/-/dereferencer-1.5.4.tgz", - "integrity": "sha512-4cmEdRPIG7WrcSWGRV6HBDCLXEOXGkaOZnopqBxoG24mKYuCHWg4M6N9nioTQyNfKqlPkOPvT4lStQqkPnhLgA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@json-schema-tools/reference-resolver": "^1.2.4", - "@json-schema-tools/traverse": "^1.7.8", - "fast-safe-stringify": "^2.0.7" - } - }, - "node_modules/starknet_specs_071/node_modules/@json-schema-tools/meta-schema": { - "version": "1.6.19", - "resolved": "https://registry.npmjs.org/@json-schema-tools/meta-schema/-/meta-schema-1.6.19.tgz", - "integrity": "sha512-55zuWFW7tr4tf/G5AYmybcPdGOkVAreQbt2JdnogX4I2r/zkxZiimYPJESDf5je9BI2oRveak2p296HzDppeaA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/starknet_specs_071/node_modules/@json-schema-tools/reference-resolver": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@json-schema-tools/reference-resolver/-/reference-resolver-1.2.4.tgz", - "integrity": "sha512-Oag20zDuapO6nBQp00k8Rd5sDTb8Gfz9uH43Tf7dHKNx7nHDK/WdeTe7OxkOmLQCL6aS+mCJx1Zv+fZBCD+tzQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@json-schema-spec/json-pointer": "^0.1.2", - "isomorphic-fetch": "^3.0.0" - } - }, - "node_modules/starknet_specs_071/node_modules/@open-rpc/meta-schema": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/@open-rpc/meta-schema/-/meta-schema-1.14.2.tgz", - "integrity": "sha512-vD4Nbkrb7wYFRcSQf+j228LwOy1C6/KKpy5NADlpMElGrAWPRxhTa2yTi6xG+x88OHzg2+cydQ0GAD6o40KUcg==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/starknet_specs_071/node_modules/@open-rpc/schema-utils-js": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/@open-rpc/schema-utils-js/-/schema-utils-js-1.16.2.tgz", - "integrity": "sha512-55vQov3o8KkXD+wiw1nKZaYws2LHSntjK5Sfja4vfGN7A6Xis0r0d0MUDVj32E3pKF9Z2sTZL3sKO/nB0DKUDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@json-schema-tools/dereferencer": "1.5.5", - "@json-schema-tools/meta-schema": "1.6.19", - "@json-schema-tools/reference-resolver": "1.2.4", - "@open-rpc/meta-schema": "1.14.2", - "ajv": "^6.10.0", - "detect-node": "^2.0.4", - "fast-safe-stringify": "^2.0.7", - "fs-extra": "^10.1.0", - "is-url": "^1.2.4", - "isomorphic-fetch": "^3.0.0" - } - }, - "node_modules/starknet_specs_071/node_modules/@open-rpc/schema-utils-js/node_modules/@json-schema-tools/dereferencer": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@json-schema-tools/dereferencer/-/dereferencer-1.5.5.tgz", - "integrity": "sha512-ntnTXO47DOLTLmcU9yJ7Fu29L8Du9+ly4rwxLaYd/aWVhBDtvG8VIQRMJVrrTZOQo0Cv/wHHuEj47n43MFqIjA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@json-schema-tools/reference-resolver": "^1.2.4", - "@json-schema-tools/traverse": "^1.7.8", - "fast-safe-stringify": "^2.0.7" - } - }, - "node_modules/starknet_specs_071/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/starknet_specs_071/node_modules/fs-extra": { + "node_modules/starknet_specs_08/node_modules/fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", @@ -18112,13 +20484,6 @@ "node": ">=12" } }, - "node_modules/starknet_specs_071/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, "node_modules/starknet_specs/node_modules/fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", @@ -18134,6 +20499,32 @@ "node": ">=12" } }, + "node_modules/starknet-devnet": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/starknet-devnet/-/starknet-devnet-0.4.4.tgz", + "integrity": "sha512-YtBATjgRAe0plk4FMkLhOSFPCP/cqRTrVlju73BOpCQGu6jhpE/HQrEjVr7b2wsuwpvSebPMSzo/WL9HwaPBjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "axios": "^1.7.4", + "decompress": "^4.2.1", + "decompress-targz": "^4.1.1" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", @@ -18180,18 +20571,18 @@ } }, "node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "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": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=18" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -18360,6 +20751,16 @@ "node": ">=8" } }, + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-natural-number": "^4.0.1" + } + }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -18413,28 +20814,7 @@ "dev": true, "license": "MIT", "engines": { - "node": ">= 6" - } - }, - "node_modules/sucrase/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "license": "ISC", - "dependencies": { - "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" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 6" } }, "node_modules/super-regex": { @@ -18505,20 +20885,38 @@ "license": "MIT" }, "node_modules/synckit": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.10.3.tgz", - "integrity": "sha512-R1urvuyiTaWfeCggqEvpDJwAlDVdsT9NM+IP//Tk2x7qHCkSvBk/fwFgw/TLAHzZlrAnnazMcRw0ZD8HlYFTEQ==", + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", + "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==", "dev": true, "license": "MIT", "dependencies": { - "@pkgr/core": "^0.2.0", - "tslib": "^2.8.1" + "@pkgr/core": "^0.2.9" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/unts" + "url": "https://opencollective.com/synckit" + } + }, + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" } }, "node_modules/temp-dir": { @@ -18592,9 +20990,9 @@ } }, "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -18602,6 +21000,28 @@ "concat-map": "0.0.1" } }, + "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/test-exclude/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -18693,21 +21113,21 @@ } }, "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz", + "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==", "dev": true, "license": "MIT" }, "node_modules/tinyglobby": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz", - "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==", + "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.4.3", - "picomatch": "^4.0.2" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "engines": { "node": ">=12.0.0" @@ -18717,11 +21137,14 @@ } }, "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", - "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "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" }, @@ -18732,9 +21155,9 @@ } }, "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { @@ -18744,6 +21167,26 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/tldts": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^6.1.86" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", + "dev": true, + "license": "MIT" + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -18751,6 +21194,49 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/to-buffer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz", + "integrity": "sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/to-buffer/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-buffer/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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" + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -18765,42 +21251,29 @@ } }, "node_modules/tough-cookie": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", - "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" + "tldts": "^6.1.32" }, "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" + "node": ">=16" } }, "node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", "dev": true, "license": "MIT", "dependencies": { - "punycode": "^2.1.1" + "punycode": "^2.3.1" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/traverse": { @@ -18852,6 +21325,50 @@ "integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==", "license": "MIT" }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -18896,9 +21413,9 @@ "license": "0BSD" }, "node_modules/tsup": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.4.0.tgz", - "integrity": "sha512-b+eZbPCjz10fRryaAA7C8xlIHnf8VnsaRqydheLIqwG/Mcpfk8Z5zp3HayX7GaTygkigHl5cBUs+IhcySiIexQ==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.5.0.tgz", + "integrity": "sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==", "dev": true, "license": "MIT", "dependencies": { @@ -18908,6 +21425,7 @@ "consola": "^3.4.0", "debug": "^4.4.0", "esbuild": "^0.25.0", + "fix-dts-default-cjs-exports": "^1.0.0", "joycon": "^3.1.1", "picocolors": "^1.1.1", "postcss-load-config": "^6.0.1", @@ -18951,6 +21469,7 @@ "version": "0.8.0-beta.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "deprecated": "The work that was done in this beta branch won't be included in future versions", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -18960,6 +21479,13 @@ "node": ">= 8" } }, + "node_modules/tsup/node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, "node_modules/tsup/node_modules/tr46": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", @@ -19101,9 +21627,9 @@ } }, "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -19270,6 +21796,13 @@ "node": ">= 6" } }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "dev": true, + "license": "MIT" + }, "node_modules/uglify-js": { "version": "3.19.3", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", @@ -19303,23 +21836,24 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "dev": true, - "license": "MIT" - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" } }, + "node_modules/undici-types": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", + "dev": true, + "license": "MIT" + }, "node_modules/unicode-emoji-modifier-base": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", @@ -19330,40 +21864,6 @@ "node": ">=4" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", - "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/unicorn-magic": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", @@ -19394,9 +21894,9 @@ } }, "node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", "dev": true, "license": "ISC" }, @@ -19409,6 +21909,41 @@ "node": ">= 10.0.0" } }, + "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.1.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", @@ -19460,17 +21995,6 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -19478,6 +22002,13 @@ "dev": true, "license": "MIT" }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, "node_modules/v8-to-istanbul": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", @@ -19505,16 +22036,16 @@ } }, "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", "dev": true, "license": "MIT", "dependencies": { - "xml-name-validator": "^4.0.0" + "xml-name-validator": "^5.0.0" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/walker": { @@ -19538,16 +22069,16 @@ } }, "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", "dev": true, "license": "MIT", "dependencies": { "iconv-lite": "0.6.3" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/whatwg-fetch": { @@ -19558,27 +22089,27 @@ "license": "MIT" }, "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", "dev": true, "license": "MIT", "dependencies": { - "tr46": "^3.0.0", + "tr46": "^5.1.0", "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/which": { @@ -19711,18 +22242,18 @@ "license": "MIT" }, "node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "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.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=18" + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" @@ -19832,23 +22363,36 @@ "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/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "dev": true, "license": "MIT", "engines": { @@ -19868,13 +22412,13 @@ } }, "node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", "dev": true, "license": "Apache-2.0", "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/xmlchars": { @@ -19911,16 +22455,16 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", "dev": true, "license": "ISC", "bin": { "yaml": "bin.mjs" }, "engines": { - "node": ">= 14" + "node": ">= 14.6" } }, "node_modules/yargs": { @@ -19979,6 +22523,27 @@ "node": ">=8" } }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -19993,9 +22558,9 @@ } }, "node_modules/yoctocolors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", - "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index c8f80cec9..aa46cec4b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "starknet", - "version": "7.6.4", + "version": "8.6.0", "description": "JavaScript library for Starknet", "license": "MIT", "repository": { @@ -55,25 +55,25 @@ "rollup" ], "devDependencies": { - "@babel/plugin-transform-modules-commonjs": "^7.18.2", - "@babel/preset-env": "^7.18.2", - "@babel/preset-typescript": "^7.17.12", "@commitlint/cli": "^19.0.0", "@commitlint/config-conventional": "^19.0.0", + "@napi-rs/blake-hash": "^1.3.5", "@semantic-release/changelog": "^6.0.1", "@semantic-release/commit-analyzer": "^13.0.0", "@semantic-release/git": "^10.0.1", "@semantic-release/npm": "^12.0.0", "@semantic-release/release-notes-generator": "^14.0.0", + "@swc/core": "^1.13.5", + "@swc/jest": "^0.2.39", "@types/isomorphic-fetch": "^0.0.39", - "@types/jest": "^29.5.0", + "@types/jest": "^30.0.0", "@types/jest-json-schema": "^6.1.1", "@types/pako": "^2.0.0", - "@types/ws": "^8.5.12", "@typescript-eslint/eslint-plugin": "^7.4.0", "@typescript-eslint/parser": "^7.4.0", "ajv": "^8.12.0", "ajv-keywords": "^5.1.0", + "blakejs": "^1.2.1", "eslint": "^8.56.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "^18.0.0", @@ -84,30 +84,33 @@ "husky": "^9.0.11", "import-sort-style-module": "^6.0.0", "isomorphic-fetch": "~3.0.0", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", + "jest": "^30.0.0", + "jest-environment-jsdom": "^30.0.0", "jest-json-schema": "^6.1.0", - "lint-staged": "^15.2.2", + "lint-staged": "^16.0.0", + "npm": "^11.6.2", "prettier": "^3.2.5", "prettier-plugin-import-sort": "^0.0.7", "semantic-release": "^24.0.0", - "starknet_specs": "github:starkware-libs/starknet-specs#v0.8.0-rc3", - "starknet_specs_071": "github:starkware-libs/starknet-specs#v0.7.1", - "tsup": "^8.0.2", + "starknet_specs": "github:starkware-libs/starknet-specs#v0.9.0", + "starknet_specs_08": "github:starkware-libs/starknet-specs#v0.8.1", + "starknet-devnet": "^0.4.4", + "ts-node": "^10.9.0", + "tsup": "^8.5.0", "type-coverage": "^2.28.2", "typescript": "~5.7.0", "typescript-coverage-report": "npm:@penovicp/typescript-coverage-report@^1.0.0-beta.2" }, "dependencies": { - "@noble/curves": "1.7.0", - "@noble/hashes": "1.6.0", - "@scure/base": "1.2.1", + "@noble/curves": "~1.7.0", + "@noble/hashes": "~1.6.0", + "@scure/base": "~1.2.1", "@scure/starknet": "1.1.0", + "@starknet-io/starknet-types-08": "npm:@starknet-io/types-js@~0.8.4", + "@starknet-io/starknet-types-09": "npm:@starknet-io/types-js@~0.9.1", "abi-wan-kanabi": "2.2.4", - "lossless-json": "^4.0.1", + "lossless-json": "^4.2.0", "pako": "^2.0.4", - "@starknet-io/starknet-types-07": "npm:@starknet-io/types-js@~0.7.10", - "@starknet-io/starknet-types-08": "npm:@starknet-io/types-js@~0.8.4", "ts-mixer": "^6.0.3" }, "engines": { @@ -117,22 +120,6 @@ "*.ts": "eslint --cache --fix", "*.{ts,js,md,yml,json}": "prettier --write" }, - "jest": { - "snapshotFormat": { - "escapeString": true, - "printBasicPrototype": true - }, - "testMatch": [ - "**/__tests__/**/(*.)+(spec|test).[jt]s?(x)" - ], - "setupFilesAfterEnv": [ - "./__tests__/config/jest.setup.ts" - ], - "globalSetup": "./__tests__/config/jestGlobalSetup.ts", - "sandboxInjectedGlobals": [ - "Math" - ] - }, "importSort": { ".js, .jsx, .ts, .tsx": { "style": "module", diff --git a/src/account/default.ts b/src/account/default.ts index a74506b68..921391e86 100644 --- a/src/account/default.ts +++ b/src/account/default.ts @@ -3,21 +3,21 @@ import { OutsideExecutionCallerAny, SNIP9_V1_INTERFACE_ID, SNIP9_V2_INTERFACE_ID, - SupportedTransactionVersion, - UDC, + SYSTEM_MESSAGES, ZERO, } from '../global/constants'; import { logger } from '../global/logger'; -import { LibraryError, Provider, ProviderInterface } from '../provider'; -import { - ETransactionVersion, - ETransactionVersion3, - ResourceBounds, -} from '../provider/types/spec.type'; -import { Signer, SignerInterface } from '../signer'; +import { LibraryError, Provider } from '../provider'; +import { BlockTag, ETransactionVersion, ETransactionVersion3 } from '../provider/types/spec.type'; +import { Signer, type SignerInterface } from '../signer'; import { + // Runtime values + OutsideExecutionVersion, +} from '../types'; +import type { AccountInvocations, AccountInvocationsFactoryDetails, + AccountOptions, AllowArray, BigNumberish, BlockIdentifier, @@ -33,43 +33,39 @@ import { DeployContractResponse, DeployContractUDCResponse, DeployTransactionReceiptResponse, - EstimateFee, - EstimateFeeAction, + EstimateFeeResponseOverhead, EstimateFeeBulk, + ExecutableUserTransaction, + ExecutionParameters, Invocation, Invocations, + InvocationsDetailsWithNonce, InvocationsSignerDetails, InvokeFunctionResponse, MultiDeployContractResponse, Nonce, - ProviderOptions, + OutsideExecution, + OutsideExecutionOptions, + OutsideTransaction, + PaymasterDetails, + PaymasterFeeEstimate, + PreparedTransaction, Signature, SimulateTransactionDetails, - SimulateTransactionResponse, - TransactionType, + SimulateTransactionOverheadResponse, TypedData, UniversalDeployerContractPayload, UniversalDetails, - UniversalSuggestedFee, - PaymasterDetails, - PreparedTransaction, - PaymasterOptions, - PaymasterFeeEstimate, -} from '../types'; -import { - OutsideExecutionVersion, - type OutsideExecution, - type OutsideExecutionOptions, - type OutsideTransaction, - ExecutionParameters, UserTransaction, - ExecutableUserTransaction, + waitForTransactionOptions, + fastWaitForTransactionOptions, + fastExecuteResponse, } from '../types'; +import { ETransactionType } from '../types/api'; import { CallData } from '../utils/calldata'; import { extractContractHashes, isSierra } from '../utils/contract'; -import { parseUDCEvent } from '../utils/events'; import { calculateContractAddressFromHash } from '../utils/hash'; -import { isHex, toBigInt, toCairoBool, toHex } from '../utils/num'; +import { isHex, toBigInt, toHex } from '../utils/num'; import { buildExecuteFromOutsideCall, getOutsideCall, @@ -78,21 +74,23 @@ import { import { parseContract } from '../utils/provider'; import { supportsInterface } from '../utils/src5'; import { - estimateFeeToBounds, randomAddress, - reduceV2, + resourceBoundsToEstimateFeeResponse, signatureToHexArray, toFeeVersion, toTransactionVersion, v3Details, - ZEROFee, } from '../utils/stark'; -import { buildUDCCall, getExecuteCalldata } from '../utils/transaction'; +import { getExecuteCalldata } from '../utils/transaction/transaction'; import { isString, isUndefined } from '../utils/typed'; import { getMessageHash } from '../utils/typedData'; -import { AccountInterface } from './interface'; -import { defaultPaymaster, PaymasterInterface, PaymasterRpc } from '../paymaster'; +import { type AccountInterface } from './interface'; +import { defaultPaymaster, type PaymasterInterface, PaymasterRpc } from '../paymaster'; import { assertPaymasterTransactionSafety } from '../utils/paymaster'; +import assert from '../utils/assert'; +import { defaultDeployer, Deployer } from '../deployer'; +import type { TipType } from '../provider/modules/tip'; +import { RPC09 } from '../channel'; export class Account extends Provider implements AccountInterface { public signer: SignerInterface; @@ -101,30 +99,35 @@ export class Account extends Provider implements AccountInterface { public cairoVersion: CairoVersion; - readonly transactionVersion: typeof ETransactionVersion.V2 | typeof ETransactionVersion.V3; + readonly transactionVersion: typeof ETransactionVersion.V3; public paymaster: PaymasterInterface; - constructor( - providerOrOptions: ProviderOptions | ProviderInterface, - address: string, - pkOrSigner: Uint8Array | string | SignerInterface, - cairoVersion?: CairoVersion, - transactionVersion: SupportedTransactionVersion = config.get('transactionVersion'), - paymaster?: PaymasterOptions | PaymasterInterface - ) { - super(providerOrOptions); + public deployer: Deployer; + + public defaultTipType: TipType; + + constructor(options: AccountOptions) { + const { + provider, + address, + signer, + cairoVersion, + transactionVersion, + paymaster, + defaultTipType, + } = options; + super(provider); this.address = address.toLowerCase(); - this.signer = - isString(pkOrSigner) || pkOrSigner instanceof Uint8Array - ? new Signer(pkOrSigner) - : pkOrSigner; + this.signer = isString(signer) || signer instanceof Uint8Array ? new Signer(signer) : signer; if (cairoVersion) { this.cairoVersion = cairoVersion.toString() as CairoVersion; } - this.transactionVersion = transactionVersion; + this.transactionVersion = transactionVersion ?? config.get('transactionVersion'); this.paymaster = paymaster ? new PaymasterRpc(paymaster) : defaultPaymaster; + this.deployer = options.deployer ?? defaultDeployer; + this.defaultTipType = defaultTipType ?? config.get('defaultTipType'); logger.debug('Account setup', { transactionVersion: this.transactionVersion, @@ -140,14 +143,6 @@ export class Account extends Provider implements AccountInterface { throw new LibraryError('Not supported'); } - // provided version or contract based preferred transactionVersion - protected getPreferredVersion(type12: ETransactionVersion, type3: ETransactionVersion) { - if (this.transactionVersion === ETransactionVersion.V3) return type3; - if (this.transactionVersion === ETransactionVersion.V2) return type12; - - return ETransactionVersion.V3; - } - public async getNonce(blockIdentifier?: BlockIdentifier): Promise { return super.getNonceForAddress(this.address, blockIdentifier); } @@ -173,90 +168,35 @@ export class Account extends Provider implements AccountInterface { this.cairoVersion = cairo; } return this.cairoVersion; - } - - public async estimateFee( - calls: AllowArray, - estimateFeeDetails: UniversalDetails = {} - ): Promise { - return this.estimateInvokeFee(calls, estimateFeeDetails); - } + } // TODO: TT Cairo version is still needed for invoke on existing contracts public async estimateInvokeFee( calls: AllowArray, details: UniversalDetails = {} - ): Promise { - const { - nonce: providedNonce, - blockIdentifier, - version: providedVersion, - skipValidate = true, - } = details; - - const transactions = Array.isArray(calls) ? calls : [calls]; - const nonce = toBigInt(providedNonce ?? (await this.getNonce())); - const version = toTransactionVersion( - this.getPreferredVersion(ETransactionVersion.F1, ETransactionVersion.F3), - toFeeVersion(providedVersion) - ); - const chainId = await this.getChainId(); - - const signerDetails: InvocationsSignerDetails = { - ...v3Details(details, await this.channel.setUpSpecVersion()), - walletAddress: this.address, - nonce, - maxFee: ZERO, - version, - chainId, - cairoVersion: await this.getCairoVersion(), - skipValidate, - }; - - const invocation = await this.buildInvocation(transactions, signerDetails); - return super.getInvokeEstimateFee( - { ...invocation }, - { ...v3Details(details, await this.channel.setUpSpecVersion()), version, nonce }, - blockIdentifier, - details.skipValidate - ); + ): Promise { + // Transform all calls into a single invocation + const invocations = [{ type: ETransactionType.INVOKE, payload: [calls].flat() }]; + const estimateBulk = await this.estimateFeeBulk(invocations, details); + return estimateBulk[0]; // Get the first (and only) estimate } public async estimateDeclareFee( payload: DeclareContractPayload, details: UniversalDetails = {} - ): Promise { - const { - blockIdentifier, - nonce: providedNonce, - version: providedVersion, - skipValidate = true, - } = details; - const nonce = toBigInt(providedNonce ?? (await this.getNonce())); - const version = toTransactionVersion( - !isSierra(payload.contract) - ? ETransactionVersion.F1 - : this.getPreferredVersion(ETransactionVersion.F2, ETransactionVersion.F3), - toFeeVersion(providedVersion) - ); - const chainId = await this.getChainId(); - - const declareContractTransaction = await this.buildDeclarePayload(payload, { - ...v3Details(details, await this.channel.setUpSpecVersion()), - nonce, - chainId, - version, - walletAddress: this.address, - maxFee: ZERO, - cairoVersion: undefined, // unused parameter - skipValidate, - }); - - return super.getDeclareEstimateFee( - declareContractTransaction, - { ...v3Details(details, await this.channel.setUpSpecVersion()), version, nonce }, - blockIdentifier, - details.skipValidate + ): Promise { + assert( + isSierra(payload.contract), + 'Declare fee estimation is not supported for Cairo0 contracts' ); + // Transform into invocations for bulk estimation + const invocations = [ + { + type: ETransactionType.DECLARE, + payload: extractContractHashes(payload, await this.channel.setUpSpecVersion()), + }, + ]; + const estimateBulk = await this.estimateFeeBulk(invocations, details); + return estimateBulk[0]; // Get the first (and only) estimate } public async estimateAccountDeployFee( @@ -267,42 +207,33 @@ export class Account extends Provider implements AccountInterface { contractAddress, }: DeployAccountContractPayload, details: UniversalDetails = {} - ): Promise { - const { blockIdentifier, version: providedVersion, skipValidate = true } = details; - const version = toTransactionVersion( - this.getPreferredVersion(ETransactionVersion.F1, ETransactionVersion.F3), - toFeeVersion(providedVersion) - ); // TODO: Can Cairo0 be deployed with F3 ? - const nonce = ZERO; // DEPLOY_ACCOUNT transaction will have a nonce zero as it is the first transaction in the account - const chainId = await this.getChainId(); + ): Promise { + const compiledCalldata = CallData.compile(constructorCalldata); + const contractAddressFinal = + contractAddress ?? + calculateContractAddressFromHash(addressSalt, classHash, compiledCalldata, 0); - const payload = await this.buildAccountDeployPayload( - { classHash, addressSalt, constructorCalldata, contractAddress }, + // Transform into invocations for bulk estimation + const invocations = [ { - ...v3Details(details, await this.channel.setUpSpecVersion()), - nonce, - chainId, - version, - walletAddress: this.address, // unused parameter - maxFee: ZERO, - cairoVersion: undefined, // unused parameter, - skipValidate, - } - ); - - return super.getDeployAccountEstimateFee( - { ...payload }, - { ...v3Details(details, await this.channel.setUpSpecVersion()), version, nonce }, - blockIdentifier, - details.skipValidate - ); + type: ETransactionType.DEPLOY_ACCOUNT, + payload: { + classHash, + constructorCalldata: compiledCalldata, + addressSalt, + contractAddress: contractAddressFinal, + }, + }, + ]; + const estimateBulk = await this.estimateFeeBulk(invocations, details); + return estimateBulk[0]; // Get the first (and only) estimate } public async estimateDeployFee( payload: UniversalDeployerContractPayload | UniversalDeployerContractPayload[], details: UniversalDetails = {} - ): Promise { - const calls = this.buildUDCContractPayload(payload); + ): Promise { + const { calls } = this.deployer.buildDeployerCall(payload, this.address); return this.estimateInvokeFee(calls, details); } @@ -311,13 +242,17 @@ export class Account extends Provider implements AccountInterface { details: UniversalDetails = {} ): Promise { if (!invocations.length) throw TypeError('Invocations should be non-empty array'); + // skip estimating bounds if user provide bounds + if (details.resourceBounds) + return [resourceBoundsToEstimateFeeResponse(details.resourceBounds)]; + const { nonce, blockIdentifier, version, skipValidate } = details; + const detailsWithTip = await this.resolveDetailsWithTip(details); const accountInvocations = await this.accountInvocationsFactory(invocations, { - ...v3Details(details, await this.channel.setUpSpecVersion()), + ...v3Details(detailsWithTip), versions: [ - ETransactionVersion.F1, // non-sierra toTransactionVersion( - this.getPreferredVersion(ETransactionVersion.F2, ETransactionVersion.F3), + toFeeVersion(this.transactionVersion) || ETransactionVersion3.F3, version ), // sierra ], @@ -335,18 +270,19 @@ export class Account extends Provider implements AccountInterface { public async simulateTransaction( invocations: Invocations, details: SimulateTransactionDetails = {} - ): Promise { + ): Promise { if (!invocations.length) throw TypeError('Invocations should be non-empty array'); - const { nonce, blockIdentifier, skipValidate = true, skipExecute, version } = details; + const { + nonce, + blockIdentifier, + skipValidate = true, + skipExecute, + version: providedVersion, + } = details; + const detailsWithTip = await this.resolveDetailsWithTip(details); const accountInvocations = await this.accountInvocationsFactory(invocations, { - ...v3Details(details, await this.channel.setUpSpecVersion()), - versions: [ - ETransactionVersion.V1, // non-sierra - toTransactionVersion( - this.getPreferredVersion(ETransactionVersion.V2, ETransactionVersion.V3), - version - ), - ], + ...v3Details(detailsWithTip), + versions: [this.resolveTransactionVersion(providedVersion)], nonce, blockIdentifier, skipValidate, @@ -363,167 +299,93 @@ export class Account extends Provider implements AccountInterface { transactions: AllowArray, transactionsDetail: UniversalDetails = {} ): Promise { - const calls = Array.isArray(transactions) ? transactions : [transactions]; - const nonce = toBigInt(transactionsDetail.nonce ?? (await this.getNonce())); - const version = toTransactionVersion( - this.getPreferredVersion(ETransactionVersion.V1, ETransactionVersion.V3), // TODO: does this depend on cairo version ? - transactionsDetail.version - ); + const calls = [transactions].flat(); + const detailsWithTip = await this.resolveDetailsWithTip(transactionsDetail); + + // Estimate resource bounds if not provided + const { resourceBounds: providedResourceBounds } = transactionsDetail; + let resourceBounds = providedResourceBounds; + if (!resourceBounds) { + const estimateResponse = await this.estimateInvokeFee(calls, detailsWithTip); + resourceBounds = estimateResponse.resourceBounds; + } - const estimate = await this.getUniversalSuggestedFee( - version, - { type: TransactionType.INVOKE, payload: transactions }, + const accountInvocations = await this.accountInvocationsFactory( + [{ type: ETransactionType.INVOKE, payload: calls }], { - ...transactionsDetail, - version, + ...v3Details(detailsWithTip), + resourceBounds, + versions: [this.resolveTransactionVersion(transactionsDetail.version)], + nonce: transactionsDetail.nonce, + skipValidate: false, } ); - const chainId = await this.getChainId(); - - const signerDetails: InvocationsSignerDetails = { - ...v3Details(transactionsDetail, await this.channel.setUpSpecVersion()), - resourceBounds: estimate.resourceBounds, - walletAddress: this.address, - nonce, - maxFee: estimate.maxFee, - version, - chainId, - cairoVersion: await this.getCairoVersion(), - }; - - const signature = await this.signer.signTransaction(calls, signerDetails); - - const calldata = getExecuteCalldata(calls, await this.getCairoVersion()); + const invocation = accountInvocations[0]; return this.invokeFunction( - { contractAddress: this.address, calldata, signature }, { - ...v3Details(transactionsDetail, await this.channel.setUpSpecVersion()), - resourceBounds: estimate.resourceBounds, - nonce, - maxFee: estimate.maxFee, - version, + contractAddress: invocation.contractAddress, + calldata: invocation.calldata, + signature: invocation.signature, + }, + { + ...v3Details(detailsWithTip), + resourceBounds: invocation.resourceBounds, + nonce: invocation.nonce, + version: invocation.version, } ); } - public async buildPaymasterTransaction( - calls: Call[], - paymasterDetails: PaymasterDetails - ): Promise { - // If the account isn't deployed, we can't call the supportsInterface function to know if the account is compatible with SNIP-9 - if (!paymasterDetails.deploymentData) { - const snip9Version = await this.getSnip9Version(); - if (snip9Version === OutsideExecutionVersion.UNSUPPORTED) { - throw Error('Account is not compatible with SNIP-9'); - } - } - const parameters: ExecutionParameters = { - version: '0x1', - feeMode: paymasterDetails.feeMode, - timeBounds: paymasterDetails.timeBounds, - }; - let transaction: UserTransaction; - if (paymasterDetails.deploymentData) { - if (calls.length > 0) { - transaction = { - type: 'deploy_and_invoke', - invoke: { userAddress: this.address, calls }, - deployment: paymasterDetails.deploymentData, - }; - } else { - transaction = { - type: 'deploy', - deployment: paymasterDetails.deploymentData, - }; - } - } else { - transaction = { - type: 'invoke', - invoke: { userAddress: this.address, calls }, - }; - } - return this.paymaster.buildTransaction(transaction, parameters); - } - - public async estimatePaymasterTransactionFee( - calls: Call[], - paymasterDetails: PaymasterDetails - ): Promise { - const preparedTransaction = await this.buildPaymasterTransaction(calls, paymasterDetails); - return preparedTransaction.fee; - } - - public async preparePaymasterTransaction( - preparedTransaction: PreparedTransaction - ): Promise { - let transaction: ExecutableUserTransaction; - switch (preparedTransaction.type) { - case 'deploy_and_invoke': { - const signature = await this.signMessage(preparedTransaction.typed_data); - transaction = { - type: 'deploy_and_invoke', - invoke: { - userAddress: this.address, - typedData: preparedTransaction.typed_data, - signature: signatureToHexArray(signature), - }, - deployment: preparedTransaction.deployment, - }; - break; - } - case 'invoke': { - const signature = await this.signMessage(preparedTransaction.typed_data); - transaction = { - type: 'invoke', - invoke: { - userAddress: this.address, - typedData: preparedTransaction.typed_data, - signature: signatureToHexArray(signature), - }, - }; - break; - } - case 'deploy': { - transaction = { - type: 'deploy', - deployment: preparedTransaction.deployment, - }; - break; - } - default: - throw Error('Invalid transaction type'); - } - return transaction; - } - - public async executePaymasterTransaction( - calls: Call[], - paymasterDetails: PaymasterDetails, - maxFeeInGasToken?: BigNumberish - ): Promise { - // Build the transaction - const preparedTransaction = await this.buildPaymasterTransaction(calls, paymasterDetails); - - // Check the transaction is safe - // Check gas fee value & gas token address - // Check that provided calls and builded calls are strictly equal - assertPaymasterTransactionSafety( - preparedTransaction, - calls, - paymasterDetails, - maxFeeInGasToken + /** + * Execute one or multiple calls through the account contract, + * responding as soon as a new transaction is possible with the same account. + * Useful for gaming usage. + * - This method requires the provider to be initialized with `pre_confirmed` blockIdentifier option. + * - Rpc 0.9 minimum. + * - In a normal myAccount.execute() call, followed by myProvider.waitForTransaction(), you have an immediate access to the events and to the transaction report. Here, we are processing consecutive transactions faster, but events & transaction reports are not available immediately. + * - As a consequence of the previous point, do not use contract/account deployment with this method. + * @param {AllowArray} transactions - Single call or array of calls to execute + * @param {UniversalDetails} [transactionsDetail] - Transaction execution options + * @param {fastWaitForTransactionOptions} [waitDetail={retries: 50, retryInterval: 500}] - options to scan the network for the next possible transaction. `retries` is the number of times to retry, `retryInterval` is the time in ms between retries. + * @returns {Promise} Response containing the transaction result and status for the next transaction. If `isReady` is true, you can execute the next transaction. If false, timeout has been reached before the next transaction was possible. + * @example + * ```typescript + * const myProvider = new RpcProvider({ nodeUrl: url, blockIdentifier: BlockTag.PRE_CONFIRMED }); + * const myAccount = new Account({ provider: myProvider, address: accountAddress0, signer: privateKey0 }); + * const resp = await myAccount.fastExecute( + * call, { tip: recommendedTip}, + * { retries: 30, retryInterval: 500 }); + * // if resp.isReady is true, you can launch immediately a new tx. + * ``` + */ + public async fastExecute( + transactions: AllowArray, + transactionsDetail: UniversalDetails = {}, + waitDetail: fastWaitForTransactionOptions = {} + ): Promise { + assert( + this.channel instanceof RPC09.RpcChannel, + 'Wrong Rpc version in Provider. At least Rpc v0.9 required.' ); - - // Prepare the transaction, tx is safe here - const transaction: ExecutableUserTransaction = - await this.preparePaymasterTransaction(preparedTransaction); - - // Execute the transaction - return this.paymaster - .executeTransaction(transaction, preparedTransaction.parameters) - .then((response) => ({ transaction_hash: response.transaction_hash })); + assert( + this.channel.blockIdentifier === BlockTag.PRE_CONFIRMED, + 'Provider needs to be initialized with `pre_confirmed` blockIdentifier option.' + ); + const initNonce = BigInt( + transactionsDetail.nonce ?? + (await this.getNonceForAddress(this.address, BlockTag.PRE_CONFIRMED)) + ); + const details = { ...transactionsDetail, nonce: initNonce }; + const resultTx: InvokeFunctionResponse = await this.execute(transactions, details); + const resultWait = await this.fastWaitForTransaction( + resultTx.transaction_hash, + this.address, + initNonce, + waitDetail + ); + return { txResult: resultTx, isReady: resultWait } as fastExecuteResponse; } /** @@ -536,7 +398,10 @@ export class Account extends Provider implements AccountInterface { payload: DeclareContractPayload, transactionsDetail: UniversalDetails = {} ): Promise { - const declareContractPayload = extractContractHashes(payload); + const declareContractPayload = extractContractHashes( + payload, + await this.channel.setUpSpecVersion() + ); try { await this.getClassByHash(declareContractPayload.classHash); } catch (error) { @@ -552,51 +417,56 @@ export class Account extends Provider implements AccountInterface { payload: DeclareContractPayload, details: UniversalDetails = {} ): Promise { - const declareContractPayload = extractContractHashes(payload); - const { nonce, version: providedVersion } = details; - const version = toTransactionVersion( - !isSierra(payload.contract) - ? ETransactionVersion.V1 - : this.getPreferredVersion(ETransactionVersion.V2, ETransactionVersion.V3), - providedVersion + assert(isSierra(payload.contract), SYSTEM_MESSAGES.declareNonSierra); + + const declareContractPayload = extractContractHashes( + payload, + await this.channel.setUpSpecVersion() ); + const detailsWithTip = await this.resolveDetailsWithTip(details); + + // Estimate resource bounds if not provided + const { resourceBounds: providedResourceBounds } = details; + let resourceBounds = providedResourceBounds; + if (!resourceBounds) { + const estimateResponse = await this.estimateDeclareFee(payload, detailsWithTip); + resourceBounds = estimateResponse.resourceBounds; + } - const estimate = await this.getUniversalSuggestedFee( - version, - { - type: TransactionType.DECLARE, - payload: declareContractPayload, - }, + const accountInvocations = await this.accountInvocationsFactory( + [{ type: ETransactionType.DECLARE, payload: declareContractPayload }], { - ...details, - version, + ...v3Details(detailsWithTip), + resourceBounds, + versions: [this.resolveTransactionVersion(details.version)], + nonce: details.nonce, + skipValidate: false, } ); - const declareDetails: InvocationsSignerDetails = { - ...v3Details(details, await this.channel.setUpSpecVersion()), - resourceBounds: estimate.resourceBounds, - maxFee: estimate.maxFee, - nonce: toBigInt(nonce ?? (await this.getNonce())), - version, - chainId: await this.getChainId(), - walletAddress: this.address, - cairoVersion: undefined, - }; + const declaration = accountInvocations[0]; - const declareContractTransaction = await this.buildDeclarePayload( - declareContractPayload, - declareDetails + return super.declareContract( + { + senderAddress: declaration.senderAddress, + signature: declaration.signature, + contract: declaration.contract, + compiledClassHash: declaration.compiledClassHash, + }, + { + ...v3Details(detailsWithTip), + nonce: declaration.nonce, + resourceBounds: declaration.resourceBounds, + version: declaration.version, + } ); - - return this.declareContract(declareContractTransaction, declareDetails); } public async deploy( payload: UniversalDeployerContractPayload | UniversalDeployerContractPayload[], details: UniversalDetails = {} ): Promise { - const { calls, addresses } = buildUDCCall(payload, this.address); + const { calls, addresses } = this.deployer.buildDeployerCall(payload, this.address); const invokeResponse = await this.execute(calls, details); return { @@ -607,25 +477,26 @@ export class Account extends Provider implements AccountInterface { public async deployContract( payload: UniversalDeployerContractPayload | UniversalDeployerContractPayload[], - details: UniversalDetails = {} + details: UniversalDetails & waitForTransactionOptions = {} ): Promise { const deployTx = await this.deploy(payload, details); - const txReceipt = await this.waitForTransaction(deployTx.transaction_hash); - return parseUDCEvent(txReceipt as unknown as DeployTransactionReceiptResponse); + const txReceipt = await this.waitForTransaction(deployTx.transaction_hash, details); + return this.deployer.parseDeployerEvent( + txReceipt as unknown as DeployTransactionReceiptResponse + ); } public async declareAndDeploy( payload: DeclareAndDeployContractPayload, - details: UniversalDetails = {} + details: UniversalDetails & waitForTransactionOptions = {} ): Promise { - const { constructorCalldata, salt, unique } = payload; let declare = await this.declareIfNot(payload, details); if (declare.transaction_hash !== '') { - const tx = await this.waitForTransaction(declare.transaction_hash); + const tx = await this.waitForTransaction(declare.transaction_hash, details); declare = { ...declare, ...tx }; } const deploy = await this.deployContract( - { classHash: declare.class_hash, salt, unique, constructorCalldata }, + { ...payload, classHash: declare.class_hash }, details ); return { declare: { ...declare }, deploy }; @@ -642,53 +513,64 @@ export class Account extends Provider implements AccountInterface { }: DeployAccountContractPayload, details: UniversalDetails = {} ): Promise { - const version = toTransactionVersion( - this.getPreferredVersion(ETransactionVersion.V1, ETransactionVersion.V3), - details.version - ); - const nonce = ZERO; // DEPLOY_ACCOUNT transaction will have a nonce zero as it is the first transaction in the account - const chainId = await this.getChainId(); - - const compiledCalldata = CallData.compile(constructorCalldata); + const compiledCalldata = CallData.compile(constructorCalldata); // TODO: TT check if we should add abi here to safe compile const contractAddress = providedContractAddress ?? calculateContractAddressFromHash(addressSalt, classHash, compiledCalldata, 0); - const estimate = await this.getUniversalSuggestedFee( - version, - { - type: TransactionType.DEPLOY_ACCOUNT, - payload: { + const detailsWithTip = await this.resolveDetailsWithTip(details); + + // Estimate resource bounds if not provided + const { resourceBounds: providedResourceBounds } = details; + let resourceBounds = providedResourceBounds; + if (!resourceBounds) { + const estimateResponse = await this.estimateAccountDeployFee( + { classHash, - constructorCalldata: compiledCalldata, + constructorCalldata, addressSalt, contractAddress, }, - }, - details + detailsWithTip + ); + resourceBounds = estimateResponse.resourceBounds; + } + + const accountInvocations = await this.accountInvocationsFactory( + [ + { + type: ETransactionType.DEPLOY_ACCOUNT, + payload: { + classHash, + constructorCalldata: compiledCalldata, + addressSalt, + contractAddress, + }, + }, + ], + { + ...v3Details(detailsWithTip), + resourceBounds, + versions: [this.resolveTransactionVersion(details.version)], + nonce: ZERO, // DEPLOY_ACCOUNT always uses nonce 0 + skipValidate: false, + } ); - const signature = await this.signer.signDeployAccountTransaction({ - ...v3Details(details, await this.channel.setUpSpecVersion()), - classHash, - constructorCalldata: compiledCalldata, - contractAddress, - addressSalt, - chainId, - resourceBounds: estimate.resourceBounds, - maxFee: estimate.maxFee, - version, - nonce, - }); + const deployment = accountInvocations[0]; - return this.deployAccountContract( - { classHash, addressSalt, constructorCalldata, signature }, + return super.deployAccountContract( + { + classHash: deployment.classHash, + addressSalt: deployment.addressSalt, + constructorCalldata: deployment.constructorCalldata, + signature: deployment.signature, + }, { - ...v3Details(details, await this.channel.setUpSpecVersion()), - nonce, - resourceBounds: estimate.resourceBounds, - maxFee: estimate.maxFee, - version, + ...v3Details(detailsWithTip), + nonce: deployment.nonce, + resourceBounds: deployment.resourceBounds, + version: deployment.version, } ); } @@ -802,7 +684,7 @@ export class Account extends Provider implements AccountInterface { throw new Error(`The caller ${options.caller} is not valid.`); } const codedCaller: string = isHex(options.caller) ? options.caller : OutsideExecutionCallerAny; - const myCalls: Call[] = Array.isArray(calls) ? calls : [calls]; + const myCalls: Call[] = [calls].flat(); const supportedVersion = version ?? (await this.getSnip9Version()); if (!supportedVersion) { throw new Error('This account is not handling outside transactions.'); @@ -864,54 +746,28 @@ export class Account extends Provider implements AccountInterface { * Support methods */ - protected async getUniversalSuggestedFee( - version: ETransactionVersion, - { type, payload }: EstimateFeeAction, + /** + * Helper method to resolve details with tip estimation + * @private + */ + private async resolveDetailsWithTip( details: UniversalDetails - ): Promise { - let maxFee: BigNumberish = 0; - let resourceBounds: ResourceBounds = estimateFeeToBounds( - ZERO, - undefined, - await this.channel.setUpSpecVersion() - ); - - if (version === ETransactionVersion.V3) { - resourceBounds = - details.resourceBounds ?? - (await this.getSuggestedFee({ type, payload } as any, details)).resourceBounds; - } else { - maxFee = - details.maxFee ?? - (await this.getSuggestedFee({ type, payload } as any, details)).suggestedMaxFee; - } - + ): Promise { return { - maxFee, - resourceBounds, + ...details, + tip: details.tip ?? (await this.getEstimateTip())[this.defaultTipType], }; } - public async getSuggestedFee( - { type, payload }: EstimateFeeAction, - details: UniversalDetails - ): Promise { - switch (type) { - case TransactionType.INVOKE: - return this.estimateInvokeFee(payload, details); - - case TransactionType.DECLARE: - return this.estimateDeclareFee(payload, details); - - case TransactionType.DEPLOY_ACCOUNT: - return this.estimateAccountDeployFee(payload, details); - - case TransactionType.DEPLOY: - return this.estimateDeployFee(payload, details); - - default: - return ZEROFee(await this.channel.setUpSpecVersion()); - } + /** + * Helper method to resolve transaction version + * @private + */ + private resolveTransactionVersion(providedVersion?: BigNumberish) { + return toTransactionVersion( + this.transactionVersion || ETransactionVersion3.V3, + providedVersion + ); } public async buildInvocation( @@ -922,7 +778,7 @@ export class Account extends Provider implements AccountInterface { const signature = !details.skipValidate ? await this.signer.signTransaction(call, details) : []; return { - ...v3Details(details, await this.channel.setUpSpecVersion()), + ...v3Details(details), contractAddress: this.address, calldata, signature, @@ -933,22 +789,25 @@ export class Account extends Provider implements AccountInterface { payload: DeclareContractPayload, details: InvocationsSignerDetails ): Promise { - const { classHash, contract, compiledClassHash } = extractContractHashes(payload); + const { classHash, contract, compiledClassHash } = extractContractHashes( + payload, + await this.channel.setUpSpecVersion() + ); const compressedCompiledContract = parseContract(contract); - if ( - isUndefined(compiledClassHash) && - (details.version === ETransactionVersion3.F3 || details.version === ETransactionVersion3.V3) - ) { - throw Error('V3 Transaction work with Cairo1 Contracts and require compiledClassHash'); - } + assert( + !isUndefined(compiledClassHash) && + (details.version === ETransactionVersion3.F3 || + details.version === ETransactionVersion3.V3), + 'V3 Transaction work with Cairo1 Contracts and require compiledClassHash' + ); const signature = !details.skipValidate ? await this.signer.signDeclareTransaction({ ...details, - ...v3Details(details, await this.channel.setUpSpecVersion()), + ...v3Details(details), classHash, - compiledClassHash: compiledClassHash as string, // TODO: TS, cast because optional for v2 and required for v3, thrown if not present + compiledClassHash, senderAddress: details.walletAddress, }) : []; @@ -978,7 +837,7 @@ export class Account extends Provider implements AccountInterface { const signature = !details.skipValidate ? await this.signer.signDeployAccountTransaction({ ...details, - ...v3Details(details, await this.channel.setUpSpecVersion()), + ...v3Details(details), classHash, contractAddress, addressSalt, @@ -987,7 +846,7 @@ export class Account extends Provider implements AccountInterface { : []; return { - ...v3Details(details, await this.channel.setUpSpecVersion()), + ...v3Details(details), classHash, addressSalt, constructorCalldata: compiledCalldata, @@ -995,37 +854,44 @@ export class Account extends Provider implements AccountInterface { }; } - public buildUDCContractPayload( - payload: UniversalDeployerContractPayload | UniversalDeployerContractPayload[] - ): Call[] { - const calls = [].concat(payload as []).map((it) => { - const { - classHash, - salt = '0', - unique = true, - constructorCalldata = [], - } = it as UniversalDeployerContractPayload; - const compiledConstructorCallData = CallData.compile(constructorCalldata); - - return { - contractAddress: UDC.ADDRESS, - entrypoint: UDC.ENTRYPOINT, - calldata: [ - classHash, - salt, - toCairoBool(unique), - compiledConstructorCallData.length, - ...compiledConstructorCallData, - ], - }; - }); - return calls; - } - + /** + * Build account invocations with proper typing based on transaction type + * @private + */ + public async accountInvocationsFactory( + invocations: [{ type: typeof ETransactionType.INVOKE; payload: AllowArray }], + details: AccountInvocationsFactoryDetails + ): Promise< + [({ type: typeof ETransactionType.INVOKE } & Invocation) & InvocationsDetailsWithNonce] + >; + public async accountInvocationsFactory( + invocations: [{ type: typeof ETransactionType.DECLARE; payload: DeclareContractPayload }], + details: AccountInvocationsFactoryDetails + ): Promise< + [ + ({ type: typeof ETransactionType.DECLARE } & DeclareContractTransaction) & + InvocationsDetailsWithNonce, + ] + >; + public async accountInvocationsFactory( + invocations: [ + { type: typeof ETransactionType.DEPLOY_ACCOUNT; payload: DeployAccountContractPayload }, + ], + details: AccountInvocationsFactoryDetails + ): Promise< + [ + ({ type: typeof ETransactionType.DEPLOY_ACCOUNT } & DeployAccountContractTransaction) & + InvocationsDetailsWithNonce, + ] + >; public async accountInvocationsFactory( invocations: Invocations, details: AccountInvocationsFactoryDetails - ) { + ): Promise; + public async accountInvocationsFactory( + invocations: Invocations, + details: AccountInvocationsFactoryDetails + ): Promise { const { nonce, blockIdentifier, skipValidate = true } = details; const safeNonce = await this.getNonceSafe(nonce); const chainId = await this.getChainId(); @@ -1034,7 +900,7 @@ export class Account extends Provider implements AccountInterface { // BULK ACTION FROM NEW ACCOUNT START WITH DEPLOY_ACCOUNT const tx0Payload: any = 'payload' in invocations[0] ? invocations[0].payload : invocations[0]; const cairoVersion = - invocations[0].type === TransactionType.DEPLOY_ACCOUNT + invocations[0].type === ETransactionType.DEPLOY_ACCOUNT ? await this.getCairoVersion(tx0Payload.classHash) : await this.getCairoVersion(); @@ -1042,28 +908,22 @@ export class Account extends Provider implements AccountInterface { ([] as Invocations).concat(invocations).map(async (transaction, index: number) => { const txPayload: any = 'payload' in transaction ? transaction.payload : transaction; const signerDetails = { - ...v3Details(details, await this.channel.setUpSpecVersion()), + ...v3Details(details), walletAddress: this.address, nonce: toBigInt(Number(safeNonce) + index), - maxFee: ZERO, chainId, cairoVersion, - version: '' as ETransactionVersion, + version: versions[0], skipValidate, }; const common = { type: transaction.type, nonce: toBigInt(Number(safeNonce) + index), blockIdentifier, - version: '' as ETransactionVersion, + version: versions[0], }; - if (transaction.type === TransactionType.INVOKE) { - // 1 or 3 - const versionX = reduceV2(versions[1]); - signerDetails.version = versionX; - common.version = versionX; - + if (transaction.type === ETransactionType.INVOKE) { const payload = await this.buildInvocation( ([] as Call[]).concat(txPayload), signerDetails @@ -1074,27 +934,21 @@ export class Account extends Provider implements AccountInterface { ...signerDetails, }; } - if (transaction.type === TransactionType.DEPLOY) { - // 1 or 3 - const versionX = reduceV2(versions[1]); - signerDetails.version = versionX; - common.version = versionX; - - const calls = this.buildUDCContractPayload(txPayload); + if (transaction.type === ETransactionType.DEPLOY) { + const { calls } = this.deployer.buildDeployerCall(txPayload, this.address); const payload = await this.buildInvocation(calls, signerDetails); return { ...common, ...payload, ...signerDetails, - type: TransactionType.INVOKE, + type: ETransactionType.INVOKE, }; } - if (transaction.type === TransactionType.DECLARE) { - // 1 (Cairo0) or 2 or 3 - const versionX = !isSierra(txPayload.contract) ? versions[0] : versions[1]; - signerDetails.version = versionX; - common.version = versionX; - + if (transaction.type === ETransactionType.DECLARE) { + assert( + isSierra(txPayload.contract), + 'Declare fee estimation is not supported for Cairo0 contracts' + ); const payload = await this.buildDeclarePayload(txPayload, signerDetails); return { ...common, @@ -1102,12 +956,7 @@ export class Account extends Provider implements AccountInterface { ...signerDetails, }; } - if (transaction.type === TransactionType.DEPLOY_ACCOUNT) { - // 1 or 3 - const versionX = reduceV2(versions[1]); - signerDetails.version = versionX; - common.version = versionX; - + if (transaction.type === ETransactionType.DEPLOY_ACCOUNT) { const payload = await this.buildAccountDeployPayload(txPayload, signerDetails); return { ...common, @@ -1120,6 +969,138 @@ export class Account extends Provider implements AccountInterface { ) as Promise; } + /* + * SNIP-29 Paymaster + */ + + public async buildPaymasterTransaction( + calls: Call[], + paymasterDetails: PaymasterDetails + ): Promise { + // If the account isn't deployed, we can't call the supportsInterface function to know if the account is compatible with SNIP-9 + if (!paymasterDetails.deploymentData) { + const snip9Version = await this.getSnip9Version(); + if (snip9Version === OutsideExecutionVersion.UNSUPPORTED) { + throw Error('Account is not compatible with SNIP-9'); + } + } + const parameters: ExecutionParameters = { + version: '0x1', + feeMode: paymasterDetails.feeMode, + timeBounds: paymasterDetails.timeBounds, + }; + let transaction: UserTransaction; + if (paymasterDetails.deploymentData) { + if (calls.length > 0) { + transaction = { + type: 'deploy_and_invoke', + invoke: { userAddress: this.address, calls }, + deployment: paymasterDetails.deploymentData, + }; + } else { + transaction = { + type: 'deploy', + deployment: paymasterDetails.deploymentData, + }; + } + } else { + transaction = { + type: 'invoke', + invoke: { userAddress: this.address, calls }, + }; + } + return this.paymaster.buildTransaction(transaction, parameters); + } + + public async estimatePaymasterTransactionFee( + calls: Call[], + paymasterDetails: PaymasterDetails + ): Promise { + const preparedTransaction = await this.buildPaymasterTransaction(calls, paymasterDetails); + return preparedTransaction.fee; + } + + public async preparePaymasterTransaction( + preparedTransaction: PreparedTransaction + ): Promise { + let transaction: ExecutableUserTransaction; + switch (preparedTransaction.type) { + case 'deploy_and_invoke': { + const signature = await this.signMessage(preparedTransaction.typed_data); + transaction = { + type: 'deploy_and_invoke', + invoke: { + userAddress: this.address, + typedData: preparedTransaction.typed_data, + signature: signatureToHexArray(signature), + }, + deployment: preparedTransaction.deployment, + }; + break; + } + case 'invoke': { + const signature = await this.signMessage(preparedTransaction.typed_data); + transaction = { + type: 'invoke', + invoke: { + userAddress: this.address, + typedData: preparedTransaction.typed_data, + signature: signatureToHexArray(signature), + }, + }; + break; + } + case 'deploy': { + transaction = { + type: 'deploy', + deployment: preparedTransaction.deployment, + }; + break; + } + default: + throw Error('Invalid transaction type'); + } + return transaction; + } + + public async executePaymasterTransaction( + calls: Call[], + paymasterDetails: PaymasterDetails, + maxFeeInGasToken?: BigNumberish + ): Promise { + // Build the transaction + const preparedTransaction = await this.buildPaymasterTransaction(calls, paymasterDetails); + + // Check the transaction is safe + // Check gas fee value & gas token address + // Check that provided calls and builded calls are strictly equal + assertPaymasterTransactionSafety( + preparedTransaction, + calls, + paymasterDetails, + maxFeeInGasToken + ); + + // Prepare the transaction, tx is safe here + const transaction: ExecutableUserTransaction = + await this.preparePaymasterTransaction(preparedTransaction); + + // Execute the transaction + return this.paymaster + .executeTransaction(transaction, preparedTransaction.parameters) + .then((response) => ({ transaction_hash: response.transaction_hash })); + } + + /* + * External methods + */ + + /** + * Get the Starknet ID for an address + * @param address - The address to get the Starknet ID for + * @param StarknetIdContract - The Starknet ID contract address (optional) + * @returns The Starknet ID for the address + */ public async getStarkName( address: BigNumberish = this.address, // default to the wallet address StarknetIdContract?: string diff --git a/src/account/interface.ts b/src/account/interface.ts index 340aae9b6..57842fd83 100644 --- a/src/account/interface.ts +++ b/src/account/interface.ts @@ -1,6 +1,7 @@ -import { ProviderInterface } from '../provider'; -import { SignerInterface } from '../signer'; -import { +import { ProviderInterface } from '../provider/interface'; +import type { SignerInterface } from '../signer'; +import type { DeployerInterface } from '../deployer/index'; +import type { AllowArray, BigNumberish, BlockIdentifier, @@ -9,205 +10,233 @@ import { DeclareAndDeployContractPayload, DeclareContractPayload, DeclareContractResponse, - DeclareDeployUDCResponse, DeployAccountContractPayload, DeployContractResponse, - DeployContractUDCResponse, - EstimateFee, - EstimateFeeAction, - EstimateFeeDetails, - EstimateFeeResponse, - EstimateFeeResponseBulk, Invocations, InvocationsDetails, InvokeFunctionResponse, - MultiDeployContractResponse, Nonce, - PaymasterDetails, - PaymasterFeeEstimate, - PreparedTransaction, Signature, - SimulateTransactionDetails, - SimulateTransactionResponse, TypedData, UniversalDeployerContractPayload, -} from '../types'; +} from '../types/index'; +import type { + DeclareDeployUDCResponse, + MultiDeployContractResponse, + PaymasterDetails, + UniversalDetails, +} from './types/index.type'; +import type { + EstimateFeeResponseBulkOverhead, + EstimateFeeResponseOverhead, +} from '../provider/types/index.type'; +import type { PaymasterFeeEstimate, PreparedTransaction } from '../paymaster/types/index.type'; +import type { DeployContractUDCResponse } from '../deployer/types/index.type'; +/** + * Interface for interacting with Starknet account contracts + * + * Extends ProviderInterface to provide account-specific functionality including: + * - Transaction execution and signing + * - Fee estimation for various transaction types + * - Contract deployment through UDC (Universal Deployer Contract) + * - Paymaster support for sponsored transactions + * - EIP-712 message signing + * + * @remarks + * Implementations of this interface typically handle the complexities of: + * - Nonce management + * - Transaction signing with the account's private key + * - Interaction with the account contract's __execute__ entrypoint + */ export abstract class AccountInterface extends ProviderInterface { + /** + * The address of the account contract on Starknet + */ public abstract address: string; + /** + * Signer instance for signing transactions and messages + */ public abstract signer: SignerInterface; + /** + * Cairo version of the account contract implementation + */ public abstract cairoVersion: CairoVersion; /** - * Estimate Fee for executing an INVOKE transaction on starknet - * - * @param calls the invocation object containing: - * - contractAddress - the address of the contract - * - entrypoint - the entrypoint of the contract - * - calldata? - (defaults to []) the calldata - * - * @param estimateFeeDetails - - * - blockIdentifier? - * - nonce? = 0 - * - skipValidate? - default true - * - tip? - prioritize order of transactions in the mempool. - * - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - * - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - * - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - * - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - * - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei - * - * @returns response from estimate_fee + * Optional deployer instance for custom contract deployment logic + * @default Uses default UDC (Universal Deployer Contract) if not specified + */ + public abstract deployer?: DeployerInterface; + + /** + * Estimate fee for executing an INVOKE transaction on Starknet + * + * @param calls - Single call or array of calls to estimate fees for + * @param calls.contractAddress - The address of the contract to invoke + * @param calls.entrypoint - The function selector of the contract method + * @param calls.calldata - The serialized function parameters (defaults to []) + * + * @param estimateFeeDetails - Optional details for fee estimation + * @param estimateFeeDetails.blockIdentifier - Block to estimate against + * @param estimateFeeDetails.nonce - Account nonce (defaults to current nonce) + * @param estimateFeeDetails.skipValidate - Skip account validation (default: true) + * @param estimateFeeDetails.tip - Priority fee tip in fri/wei for faster inclusion + * @param estimateFeeDetails.accountDeploymentData - Include account deployment + * @param estimateFeeDetails.paymasterData - Paymaster sponsorship data + * @param estimateFeeDetails.nonceDataAvailabilityMode - DA mode for nonce + * @param estimateFeeDetails.feeDataAvailabilityMode - DA mode for fee + * @param estimateFeeDetails.version - Transaction version (v3 uses fri, v1/v2 use wei) + * @param estimateFeeDetails.resourceBounds - Resource limits for v3 transactions + * + * @returns Fee estimation including overall_fee and resourceBounds + * @example + * ```typescript + * const fee = await account.estimateInvokeFee({ + * contractAddress: '0x123...', + * entrypoint: 'transfer', + * calldata: [recipient, amount] + * }); + * ``` */ public abstract estimateInvokeFee( calls: AllowArray, - estimateFeeDetails?: EstimateFeeDetails - ): Promise; + estimateFeeDetails?: UniversalDetails + ): Promise; /** - * Estimate Fee for executing a DECLARE transaction on starknet - * - * @param contractPayload the payload object containing: - * - contract - the compiled contract to be declared - * - casm? - compiled cairo assembly. Cairo1(casm or compiledClassHash are required) - * - classHash? - the class hash of the compiled contract. Precalculate for faster execution. - * - compiledClassHash?: class hash of the cairo assembly. Cairo1(casm or compiledClassHash are required) - * - * @param estimateFeeDetails - - * - blockIdentifier? - * - nonce? = 0 - * - skipValidate? - default true - * - tip? - prioritize order of transactions in the mempool. - * - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - * - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - * - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - * - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - * - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei - * - * @returns response from estimate_fee + * Estimate fee for executing a DECLARE transaction on Starknet + * + * @param contractPayload - Contract declaration payload + * @param contractPayload.contract - Compiled contract (Sierra JSON) + * @param contractPayload.casm - Compiled Cairo assembly (required for Cairo 1) + * @param contractPayload.classHash - Pre-computed class hash (optional optimization) + * @param contractPayload.compiledClassHash - Pre-computed CASM hash (alternative to casm) + * + * @param estimateFeeDetails - Optional details for fee estimation + * @param estimateFeeDetails.blockIdentifier - Block to estimate against + * @param estimateFeeDetails.nonce - Account nonce (defaults to current nonce) + * @param estimateFeeDetails.skipValidate - Skip account validation (default: true) + * @param estimateFeeDetails.tip - Priority fee tip for faster inclusion + * @param estimateFeeDetails.version - Transaction version (v3 uses fri, v1/v2 use wei) + * + * @returns Fee estimation including overall_fee and resourceBounds + * @example + * ```typescript + * const fee = await account.estimateDeclareFee({ + * contract: compiledContract, + * casm: compiledCasm + * }); + * ``` */ public abstract estimateDeclareFee( contractPayload: DeclareContractPayload, - estimateFeeDetails?: EstimateFeeDetails - ): Promise; + estimateFeeDetails?: UniversalDetails + ): Promise; /** - * Estimate Fee for executing a DEPLOY_ACCOUNT transaction on starknet - * - * @param contractPayload - - * - classHash - the class hash of the compiled contract. - * - constructorCalldata? - constructor data; - * - contractAddress? - future account contract address. Precalculate for faster execution. - * - addressSalt? - salt used for calculation of the contractAddress. Required if contractAddress is provided. - * - * @param estimateFeeDetails - - * - blockIdentifier? - * - nonce? = 0 - * - skipValidate? - default true - * - tip? - prioritize order of transactions in the mempool. - * - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - * - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - * - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - * - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei - * - * @returns response from estimate_fee + * Estimate fee for executing a DEPLOY_ACCOUNT transaction on Starknet + * + * @param contractPayload - Account deployment payload + * @param contractPayload.classHash - Class hash of the account contract + * @param contractPayload.constructorCalldata - Constructor parameters + * @param contractPayload.contractAddress - Pre-computed account address + * @param contractPayload.addressSalt - Salt for address generation + * + * @param estimateFeeDetails - Optional details for fee estimation + * @inheritdoc estimateInvokeFee + * + * @returns Fee estimation including overall_fee and resourceBounds + * @example + * ```typescript + * const fee = await account.estimateAccountDeployFee({ + * classHash: accountClassHash, + * constructorCalldata: { publicKey }, + * addressSalt: publicKey + * }); + * ``` */ public abstract estimateAccountDeployFee( contractPayload: DeployAccountContractPayload, - estimateFeeDetails?: EstimateFeeDetails - ): Promise; + estimateFeeDetails?: UniversalDetails + ): Promise; /** - * Estimate Fee for executing a UDC DEPLOY transaction on starknet - * This is different from the normal DEPLOY transaction as it goes through the Universal Deployer Contract (UDC) - - * @param deployContractPayload array or singular - * - classHash: computed class hash of compiled contract - * - salt: address salt - * - unique: bool if true ensure unique salt - * - constructorCalldata: constructor calldata - * - * @param estimateFeeDetails - - * - blockIdentifier? - * - nonce? - * - skipValidate? - default true - * - tip? - prioritize order of transactions in the mempool. - * - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - * - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - * - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - * - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - * - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei + * Estimate fee for deploying contract(s) through the Universal Deployer Contract (UDC) + * + * @param deployContractPayload - Single or array of deployment payloads + * @param deployContractPayload.classHash - Class hash of contract to deploy + * @param deployContractPayload.salt - Deployment salt (optional) + * @param deployContractPayload.unique - Ensure unique deployment address + * @param deployContractPayload.constructorCalldata - Constructor parameters + * + * @param estimateFeeDetails - Optional details for fee estimation + * @inheritdoc estimateInvokeFee + * + * @returns Fee estimation for the deployment transaction + * @example + * ```typescript + * const fee = await account.estimateDeployFee({ + * classHash: contractClassHash, + * constructorCalldata: [param1, param2], + * unique: true + * }); + * ``` */ public abstract estimateDeployFee( deployContractPayload: UniversalDeployerContractPayload | UniversalDeployerContractPayload[], - estimateFeeDetails?: EstimateFeeDetails - ): Promise; + estimateFeeDetails?: UniversalDetails + ): Promise; /** - * Estimate Fee for executing a list of transactions on starknet - * Contract must be deployed for fee estimation to be possible - * - * @param invocations array of transaction object containing : - * - type - the type of transaction : 'DECLARE' | (multi)'DEPLOY' | (multi)'INVOKE_FUNCTION' | 'DEPLOY_ACCOUNT' - * - payload - the payload of the transaction - * - * @param details - - * - blockIdentifier? - * - nonce? - * - skipValidate? - default true - * - tip? - prioritize order of transactions in the mempool. - * - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - * - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - * - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - * - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - * - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei - * - * @returns response from estimate_fee + * Estimate fees for executing multiple transactions in a single request + * + * @param invocations - Array of transactions to estimate + * @param invocations.type - Transaction type: DECLARE, DEPLOY, INVOKE, DEPLOY_ACCOUNT + * @param invocations.payload - Transaction-specific payload + * + * @param details - Optional details for fee estimation + * @inheritdoc estimateInvokeFee + * + * @returns Array of fee estimations for each transaction + * @example + * ```typescript + * const fees = await account.estimateFeeBulk([ + * { type: 'INVOKE', payload: { contractAddress, entrypoint, calldata } }, + * { type: 'DECLARE', payload: { contract, casm } } + * ]); + * ``` */ public abstract estimateFeeBulk( invocations: Invocations, - details?: EstimateFeeDetails - ): Promise; - - /** - * Gets Suggested Max Fee based on the transaction type - * - * @param {EstimateFeeAction} estimateFeeAction - * @param {EstimateFeeDetails} details - * @returns EstimateFee (...response, resourceBounds, suggestedMaxFee) - */ - public abstract getSuggestedFee( - estimateFeeAction: EstimateFeeAction, - details: EstimateFeeDetails - ): Promise; - - /** - * Simulates an array of transaction and returns an array of transaction trace and estimated fee. - * - * @param invocations Invocations containing: - * - type - transaction type: DECLARE, (multi)DEPLOY, DEPLOY_ACCOUNT, (multi)INVOKE_FUNCTION - * @param details SimulateTransactionDetails - * - * @returns response from simulate_transaction - */ - public abstract simulateTransaction( - invocations: Invocations, - details?: SimulateTransactionDetails - ): Promise; + details?: UniversalDetails + ): Promise; /** - * Invoke execute function in account contract - * - * @param transactions the invocation object or an array of them, containing: - * - contractAddress - the address of the contract - * - entrypoint - the entrypoint of the contract - * - calldata - (defaults to []) the calldata - * - signature - (defaults to []) the signature - * @param {InvocationsDetails} transactionsDetail Additional optional parameters for the transaction - * - * @returns response from addTransaction + * Execute one or multiple calls through the account contract + * + * @param transactions - Single call or array of calls to execute + * @param transactions.contractAddress - Target contract address + * @param transactions.entrypoint - Function to invoke on the contract + * @param transactions.calldata - Function parameters + * + * @param transactionsDetail - Transaction execution options + * @param transactionsDetail.nonce - Override account nonce + * @param transactionsDetail.maxFee - Maximum fee for v1/v2 transactions + * @param transactionsDetail.resourceBounds - Resource limits for v3 transactions + * @param transactionsDetail.tip - Priority fee tip + * @param transactionsDetail.version - Force specific transaction version + * + * @returns Transaction hash and response + * @example + * ```typescript + * const result = await account.execute([ + * { contractAddress: token, entrypoint: 'transfer', calldata: [to, amount] }, + * { contractAddress: nft, entrypoint: 'mint', calldata: [recipient] } + * ]); + * ``` */ public abstract execute( transactions: AllowArray, @@ -215,19 +244,26 @@ export abstract class AccountInterface extends ProviderInterface { ): Promise; /** - * Estimate Fee for executing a paymaster transaction on starknet - * - * @param calls the invocation object containing: - * - contractAddress - the address of the contract - * - entrypoint - the entrypoint of the contract - * - calldata - (defaults to []) the calldata - * - * @param paymasterDetails the paymaster details containing: - * - feeMode - the fee mode - * - deploymentData - the deployment data (optional) - * - timeBounds - the time bounds (optional) - * - * @returns response extracting fee from buildPaymasterTransaction + * Estimate fees for a paymaster-sponsored transaction + * + * @param calls - Array of calls to be sponsored + * @param calls.contractAddress - Target contract address + * @param calls.entrypoint - Function to invoke + * @param calls.calldata - Function parameters + * + * @param paymasterDetails - Paymaster configuration + * @param paymasterDetails.feeMode - Sponsorship mode: 'sponsored' or gas token + * @param paymasterDetails.deploymentData - Account deployment data if needed + * @param paymasterDetails.timeBounds - Valid execution time window + * + * @returns Fee estimates in both STRK and gas token + * @example + * ```typescript + * const fees = await account.estimatePaymasterTransactionFee( + * [{ contractAddress, entrypoint, calldata }], + * { feeMode: { mode: 'sponsored' } } + * ); + * ``` */ public abstract estimatePaymasterTransactionFee( calls: Call[], @@ -235,19 +271,20 @@ export abstract class AccountInterface extends ProviderInterface { ): Promise; /** - * Build a paymaster transaction - * - * @param calls the invocation object containing: - * - contractAddress - the address of the contract - * - entrypoint - the entrypoint of the contract - * - calldata - (defaults to []) the calldata - * - * @param paymasterDetails the paymaster details containing: - * - feeMode - the fee mode - * - deploymentData - the deployment data (optional) - * - timeBounds - the time bounds (optional) - * - * @returns the prepared transaction + * Build a transaction for paymaster execution + * + * @param calls - Array of calls to be sponsored + * @param paymasterDetails - Paymaster configuration + * @inheritdoc estimatePaymasterTransactionFee + * + * @returns Prepared transaction with typed data for signing + * @example + * ```typescript + * const prepared = await account.buildPaymasterTransaction( + * calls, + * { feeMode: { mode: 'default', gasToken: ETH_ADDRESS } } + * ); + * ``` */ public abstract buildPaymasterTransaction( calls: Call[], @@ -255,26 +292,27 @@ export abstract class AccountInterface extends ProviderInterface { ): Promise; /** - * Execute a paymaster transaction - * - * Assert that the gas token value is equal to the provided gas fees - * Assert that the calls are strictly equal to the returned calls. - * Assert that the gas token (in gas token) price is not too high, if provided. - * Assert that typedData to signed is strictly equal to the provided typedData. - * - * @param calls the invocation object containing: - * - contractAddress - the address of the contract - * - entrypoint - the entrypoint of the contract - * - calldata - (defaults to []) the calldata - * - * @param paymasterDetails the paymaster details containing: - * - feeMode - the fee mode (sponsored or default) - * - deploymentData - the deployment data (optional) - * - timeBounds - the time bounds when the transaction is valid (optional) - executeAfter and executeBefore expected to be in seconds (BLOCK_TIMESTAMP) - * - * @param maxFeeInGasToken - the max fee acceptable to pay in gas token (optional) - * - * @returns the tarnsaction hash if successful, otherwise an error is thrown + * Execute a paymaster-sponsored transaction + * + * @param calls - Array of calls to execute + * @param paymasterDetails - Paymaster configuration + * @param paymasterDetails.feeMode - 'sponsored' or gas token payment + * @param paymasterDetails.deploymentData - Deploy account if needed + * @param paymasterDetails.timeBounds - Execution validity window (UNIX timestamps) + * + * @param maxFeeInGasToken - Maximum acceptable fee in gas token + * + * @returns Transaction hash if successful + * @throws {Error} If gas token price exceeds maxFeeInGasToken + * @throws {Error} If transaction parameters are modified by paymaster + * @example + * ```typescript + * const txHash = await account.executePaymasterTransaction( + * calls, + * { feeMode: { mode: 'sponsored' }, timeBounds: { executeBefore: Date.now()/1000 + 3600 } }, + * maxFeeETH + * ); + * ``` */ public abstract executePaymasterTransaction( calls: Call[], @@ -283,16 +321,25 @@ export abstract class AccountInterface extends ProviderInterface { ): Promise; /** - * Declares a given compiled contract (json) to starknet - * - * @param contractPayload transaction payload to be deployed containing: - * - contract: compiled contract code - * - (optional) classHash: computed class hash of compiled contract. Pre-compute it for faster execution. - * - (required for Cairo1 without compiledClassHash) casm: CompiledContract | string; - * - (optional for Cairo1 with casm) compiledClassHash: compiled class hash from casm. Pre-compute it for faster execution. - * @param transactionsDetail - InvocationsDetails - * - * @returns a confirmation of sending a transaction on the starknet contract + * Declare a contract class on Starknet + * + * @param contractPayload - Contract declaration payload + * @param contractPayload.contract - Compiled Sierra contract + * @param contractPayload.classHash - Pre-computed class hash (optional) + * @param contractPayload.casm - Compiled CASM (required for Cairo 1) + * @param contractPayload.compiledClassHash - Pre-computed CASM hash + * + * @param transactionsDetail - Transaction execution options + * @inheritdoc execute + * + * @returns Declaration transaction hash and class hash + * @example + * ```typescript + * const declareResult = await account.declare({ + * contract: compiledSierra, + * casm: compiledCasm + * }); + * ``` */ public abstract declare( contractPayload: DeclareContractPayload, @@ -300,19 +347,25 @@ export abstract class AccountInterface extends ProviderInterface { ): Promise; /** - * Deploys a declared contract to starknet - using Universal Deployer Contract (UDC) - * support multicall - * - * @param payload - - * - classHash: computed class hash of compiled contract - * - [constructorCalldata] contract constructor calldata - * - [salt=pseudorandom] deploy address salt - * - [unique=true] ensure unique salt - * @param details - InvocationsDetails - * - * @returns - * - contract_address[] - * - transaction_hash + * Deploy contract(s) using the Universal Deployer Contract (UDC) + * + * @param payload - Single or multiple deployment configurations + * @param payload.classHash - Class hash of declared contract + * @param payload.constructorCalldata - Constructor parameters + * @param payload.salt - Deployment salt (random if not specified) + * @param payload.unique - Modify salt for unique address (default: true) + * + * @param details - Transaction execution options + * @inheritdoc execute + * + * @returns Deployed contract addresses and transaction hash + * @example + * ```typescript + * const deployment = await account.deploy([ + * { classHash: erc20ClassHash, constructorCalldata: [name, symbol] }, + * { classHash: nftClassHash, unique: true } + * ]); + * ``` */ public abstract deploy( payload: UniversalDeployerContractPayload | UniversalDeployerContractPayload[], @@ -320,26 +373,25 @@ export abstract class AccountInterface extends ProviderInterface { ): Promise; /** - * Simplify deploy simulating old DeployContract with same response + UDC specific response - * Internal wait for L2 transaction, support multicall - * - * @param payload - - * - classHash: computed class hash of compiled contract - * - [constructorCalldata] contract constructor calldata - * - [salt=pseudorandom] deploy address salt - * - [unique=true] ensure unique salt - * @param details - InvocationsDetails - * - * @returns - * - contract_address - * - transaction_hash - * - address - * - deployer - * - unique - * - classHash - * - calldata_len - * - calldata - * - salt + * Deploy and wait for a contract deployment to complete + * + * @param payload - Deployment configuration(s) + * @inheritdoc deploy + * + * @param details - Transaction execution options + * @inheritdoc execute + * + * @returns Deployment result with contract address and UDC event details + * @remarks + * This method waits for transaction confirmation before returning + * @example + * ```typescript + * const result = await account.deployContract({ + * classHash: contractClassHash, + * constructorCalldata: params + * }); + * console.log('Deployed at:', result.address); + * ``` */ public abstract deployContract( payload: UniversalDeployerContractPayload | UniversalDeployerContractPayload[], @@ -347,33 +399,33 @@ export abstract class AccountInterface extends ProviderInterface { ): Promise; /** - * Declares and Deploy a given compiled contract (json) to starknet using UDC - * Internal wait for L2 transaction, do not support multicall - * Method will pass even if contract is already declared (internal using DeclareIfNot) - * - * @param payload - * - contract: compiled contract code - * - [casm=cairo1]: CairoAssembly | undefined; - * - [compiledClassHash]: string | undefined; - * - [classHash]: computed class hash of compiled contract - * - [constructorCalldata] contract constructor calldata - * - [salt=pseudorandom] deploy address salt - * - [unique=true] ensure unique salt - * @param details - InvocationsDetails - * - * @returns - * - declare - * - transaction_hash - * - deploy - * - contract_address - * - transaction_hash - * - address - * - deployer - * - unique - * - classHash - * - calldata_len - * - calldata - * - salt + * Declare and deploy a contract in a single method + * + * @param payload - Combined declare and deploy configuration + * @param payload.contract - Compiled Sierra contract + * @param payload.casm - Compiled CASM (required for Cairo 1) + * @param payload.compiledClassHash - Pre-computed CASM hash + * @param payload.classHash - Pre-computed class hash + * @param payload.constructorCalldata - Constructor parameters + * @param payload.salt - Deployment salt + * @param payload.unique - Ensure unique deployment address + * + * @param details - Transaction execution options + * @inheritdoc execute + * + * @returns Declaration and deployment results + * @remarks + * - Automatically skips declaration if contract is already declared + * - Waits for both transactions to complete + * - Does not support batch operations + * @example + * ```typescript + * const result = await account.declareAndDeploy({ + * contract: compiledContract, + * casm: compiledCasm, + * constructorCalldata: [param1, param2] + * }); + * ``` */ public abstract declareAndDeploy( payload: DeclareAndDeployContractPayload, @@ -381,16 +433,28 @@ export abstract class AccountInterface extends ProviderInterface { ): Promise; /** - * Deploy the account on Starknet - * - * @param contractPayload transaction payload to be deployed containing: - * - classHash: computed class hash of compiled contract - * - optional constructor calldata - * - optional address salt - * - optional contractAddress - * @param transactionsDetail - InvocationsDetails - * - * @returns a confirmation of sending a transaction on the starknet contract + * Deploy the account contract itself on Starknet + * + * @param contractPayload - Account deployment configuration + * @param contractPayload.classHash - Account contract class hash + * @param contractPayload.constructorCalldata - Constructor parameters + * @param contractPayload.addressSalt - Salt for address generation + * @param contractPayload.contractAddress - Pre-computed address + * + * @param transactionsDetail - Transaction execution options + * @inheritdoc execute + * + * @returns Deployment transaction hash and contract address + * @remarks + * Used for deploying the account contract when using a pre-funded address + * @example + * ```typescript + * const deployment = await account.deployAccount({ + * classHash: accountClassHash, + * constructorCalldata: { publicKey: pubKey }, + * addressSalt: pubKey + * }); + * ``` */ public abstract deployAccount( contractPayload: DeployAccountContractPayload, @@ -398,30 +462,71 @@ export abstract class AccountInterface extends ProviderInterface { ): Promise; /** - * Signs a TypedData object for off-chain usage with the Starknet private key and returns the signature - * This adds a message prefix so it can't be interchanged with transactions - * - * @param typedData - TypedData object to be signed - * @returns the signature of the TypedData object - * @throws {Error} if typedData is not a valid TypedData + * Sign a typed data message for off-chain verification + * + * @param typedData - EIP-712 style typed data structure + * @returns Signature array [r, s] + * @remarks + * - Includes domain separation to prevent signature reuse + * - Compatible with Starknet's signature verification + * - Cannot be used to sign transactions + * @example + * ```typescript + * const signature = await account.signMessage({ + * domain: { name: 'MyDapp', chainId: 'SN_MAIN' }, + * types: { ... }, + * primaryType: 'Message', + * message: { content: 'Hello Starknet!' } + * }); + * ``` */ public abstract signMessage(typedData: TypedData): Promise; /** - * Hash a TypedData object with Pedersen hash and return the hash - * This adds a message prefix so it can't be interchanged with transactions - * - * @param typedData - TypedData object to be hashed - * @returns the hash of the TypedData object - * @throws {Error} if typedData is not a valid TypedData + * Hash a typed data message using Pedersen hash + * + * @param typedData - EIP-712 style typed data structure + * @returns Message hash as hex string + * @remarks + * - Uses Pedersen hash function (not Keccak) + * - Includes domain separation + * - Result can be used for signature verification + * @example + * ```typescript + * const messageHash = await account.hashMessage(typedData); + * ``` */ public abstract hashMessage(typedData: TypedData): Promise; /** - * Gets the nonce of the account with respect to a specific block - * - * @param {BlockIdentifier} blockIdentifier - optional blockIdentifier. Defaults to 'pending' - * @returns nonce of the account + * Get the current nonce of the account + * + * @param blockIdentifier - Block to query nonce at (default: 'pending') + * @returns Account nonce as hex string + * @example + * ```typescript + * const nonce = await account.getNonce(); + * const historicalNonce = await account.getNonce('latest'); + * ``` */ public abstract getNonce(blockIdentifier?: BlockIdentifier): Promise; + + /** + * Declare a contract class if not already declared + * + * @param contractPayload - Contract declaration payload + * @param transactionsDetail - Transaction execution options + * @returns Declaration result (with empty transaction_hash if already declared) + * @example + * ```typescript + * const result = await account.declareIfNot({ + * contract: compiledContract, + * casm: compiledCasm + * }); + * ``` + */ + public abstract declareIfNot( + contractPayload: DeclareContractPayload, + transactionsDetail?: InvocationsDetails + ): Promise; } diff --git a/src/account/types/index.type.ts b/src/account/types/index.type.ts new file mode 100644 index 000000000..f7e039207 --- /dev/null +++ b/src/account/types/index.type.ts @@ -0,0 +1,118 @@ +import type { EDataAvailabilityMode, ETransactionVersion3, PAYMASTER_API } from '../../types/api'; +import type { + BigNumberish, + BlockIdentifier, + CairoVersion, + V3TransactionDetails, +} from '../../types/lib'; +import type { + DeclareTransactionReceiptResponse, + EstimateFeeResponseOverhead, + InvokeFunctionResponse, + ProviderOptions, +} from '../../provider/types/index.type'; +import type { ResourceBoundsBN } from '../../provider/types/spec.type'; +import type { + FeeMode, + PaymasterOptions, + PaymasterTimeBounds, +} from '../../paymaster/types/index.type'; +import type { SignerInterface } from '../../signer'; +import type { SupportedTransactionVersion } from '../../global/constants'; +import type { PaymasterInterface } from '../../paymaster'; +import type { ProviderInterface } from '../../provider/interface'; +import type { DeployerInterface } from '../../deployer'; +import type { TipType } from '../../provider/modules/tip'; +import type { DeployContractUDCResponse } from '../../deployer/types/index.type'; + +/** + * Configuration options for creating an Account instance + */ +export type AccountOptions = { + /** Provider instance or configuration for blockchain interaction */ + provider: ProviderOptions | ProviderInterface; + /** Account address on the Starknet network */ + address: string; + /** Private key or Signer Class instance for signing transactions */ + signer: Uint8Array | string | SignerInterface; + /** Cairo version to use for this account (optional, auto-detected if not provided) */ + cairoVersion?: CairoVersion; + /** Transaction version to use for sending transactions (optional) */ + transactionVersion?: SupportedTransactionVersion; + /** Paymaster configuration for sponsored transactions (optional) */ + paymaster?: PaymasterOptions | PaymasterInterface; + /** Use of a custom account deployer contract (optional) */ + deployer?: DeployerInterface; + /** + * Default tip type to use for sending transactions (optional) + * @default 'recommendedTip' + */ + defaultTipType?: TipType; +}; + +export type EstimateFeeBulk = Array; + +// TODO: This is too wide generic with optional params +export type AccountInvocationsFactoryDetails = { + versions: Array<`${ETransactionVersion3}`>; + nonce?: BigNumberish; + blockIdentifier?: BlockIdentifier; + skipValidate?: boolean; +} & Partial; + +export interface UniversalDetails { + nonce?: BigNumberish; + blockIdentifier?: BlockIdentifier; + tip?: BigNumberish; + paymasterData?: BigNumberish[]; + accountDeploymentData?: BigNumberish[]; + nonceDataAvailabilityMode?: EDataAvailabilityMode; + feeDataAvailabilityMode?: EDataAvailabilityMode; + version?: BigNumberish; + resourceBounds?: ResourceBoundsBN; // ignored on estimate + skipValidate?: boolean; // ignored on non-estimate +} + +export interface PaymasterDetails { + feeMode: FeeMode; + deploymentData?: PAYMASTER_API.AccountDeploymentData; + timeBounds?: PaymasterTimeBounds; +} + +export interface DeployContractResponse { + contract_address: string; + transaction_hash: string; +} + +export type MultiDeployContractResponse = { + contract_address: Array; + transaction_hash: string; +}; + +export type DeclareDeployUDCResponse = { + declare: { + class_hash: BigNumberish; + } & Partial; + deploy: DeployContractUDCResponse; +}; + +export type SimulateTransactionDetails = { + nonce?: BigNumberish; + blockIdentifier?: BlockIdentifier; + skipValidate?: boolean; + skipExecute?: boolean; +} & Partial; + +export type StarkProfile = { + name?: string; + profilePicture?: string; + discord?: string; + twitter?: string; + github?: string; + proofOfPersonhood?: boolean; +}; + +export type fastExecuteResponse = { + txResult: InvokeFunctionResponse; + isReady: boolean; +}; diff --git a/src/channel/index.ts b/src/channel/index.ts index 9033e0cde..0a4985abb 100644 --- a/src/channel/index.ts +++ b/src/channel/index.ts @@ -1,7 +1,7 @@ -export * as RPC07 from './rpc_0_7_1'; export * as RPC08 from './rpc_0_8_1'; +export * as RPC09 from './rpc_0_9_0'; // Default channel -export * from './rpc_0_8_1'; -export { WebSocketChannel, WebSocketOptions } from './ws/ws_0_8'; -export { Subscription } from './ws/subscription'; +export * from './rpc_0_9_0'; +export * from './ws/ws_0_9'; +export * from './ws/subscription'; export { TimeoutError, WebSocketNotConnectedError } from '../utils/errors'; diff --git a/src/channel/rpc_0_8_1.ts b/src/channel/rpc_0_8_1.ts index 23edbc319..91b478171 100644 --- a/src/channel/rpc_0_8_1.ts +++ b/src/channel/rpc_0_8_1.ts @@ -19,10 +19,9 @@ import { InvocationsDetailsWithNonce, RPC_ERROR, RpcProviderOptions, - TransactionType, waitForTransactionOptions, } from '../types'; -import { JRPC, RPCSPEC08 as RPC } from '../types/api'; +import { JRPC, RPCSPEC08 as RPC, RPCSPEC08, RPCSPEC09 } from '../types/api'; import { BatchClient } from '../utils/batch'; import { CallData } from '../utils/calldata'; import { isSierra } from '../utils/contract'; @@ -31,6 +30,7 @@ import { validateAndParseEthAddress } from '../utils/eth'; import fetch from '../utils/connect/fetch'; import { getSelector, getSelectorFromName } from '../utils/hash'; import { stringify } from '../utils/json'; +import { isNumber } from '../utils/typed'; import { bigNumberishArrayToHexadecimalStringArray, getHexStringArray, @@ -39,16 +39,16 @@ import { } from '../utils/num'; import { Block, getDefaultNodeUrl, wait } from '../utils/provider'; import { isSupportedSpecVersion, isV3Tx, isVersion } from '../utils/resolve'; -import { decompressProgram, signatureToHexArray } from '../utils/stark'; +import { decompressProgram, resourceBoundsToHexString, signatureToHexArray } from '../utils/stark'; import { getVersionsByType } from '../utils/transaction'; import { logger } from '../global/logger'; -import { isRPC08_ResourceBounds } from '../provider/types/spec.type'; +import { isRPC08Plus_ResourceBoundsBN } from '../provider/types/spec.type'; import { config } from '../global/config'; // TODO: check if we can filet type before entering to this method, as so to specify here only RPC 0.8 types const defaultOptions = { headers: { 'Content-Type': 'application/json' }, - blockIdentifier: BlockTag.PENDING, + blockIdentifier: BlockTag.LATEST, retries: 200, }; @@ -81,7 +81,7 @@ export class RpcChannel { private transactionRetryIntervalFallback?: number; - private batchClient?: BatchClient; + private batchClient?: BatchClient; private baseFetch: NonNullable; @@ -124,12 +124,13 @@ export class RpcChannel { this.requestId = 0; - if (typeof batch === 'number') { - this.batchClient = new BatchClient({ + if (isNumber(batch)) { + this.batchClient = new BatchClient({ nodeUrl: this.nodeUrl, headers: this.headers, interval: batch, baseFetch: this.baseFetch, + rpcMethods: {} as RPC.Methods, // Type information only, not used at runtime }); } @@ -206,7 +207,7 @@ export class RpcChannel { /** * fetch rpc node specVersion - * @example this.specVersion = "0.7.1" + * @example this.specVersion = "0.8.1" */ public getSpecVersion() { return this.fetchEndpoint('starknet_specVersion'); @@ -395,22 +396,24 @@ export class RpcChannel { public async waitForTransaction(txHash: BigNumberish, options?: waitForTransactionOptions) { const transactionHash = toHex(txHash); - let { retries } = this; + let retries = options?.retries ?? this.retries; + let lifeCycleRetries = options?.lifeCycleRetries ?? 3; let onchain = false; let isErrorState = false; const retryInterval = options?.retryInterval ?? this.transactionRetryIntervalDefault; - const errorStates: any = options?.errorStates ?? [ - RPC.ETransactionStatus.REJECTED, - // TODO: commented out to preserve the long-standing behavior of "reverted" not being treated as an error by default - // should decide which behavior to keep in the future - // RPC.ETransactionExecutionStatus.REVERTED, - ]; + const errorStates: any = options?.errorStates ?? [RPC.ETransactionStatus.REJECTED]; const successStates: any = options?.successStates ?? [ - RPC.ETransactionExecutionStatus.SUCCEEDED, + // RPC.ETransactionExecutionStatus.SUCCEEDED, Starknet 0.14.0 this one can have incomplete events RPC.ETransactionStatus.ACCEPTED_ON_L2, RPC.ETransactionStatus.ACCEPTED_ON_L1, ]; + const LifeCycleErrorMessages: Record = { + [RPCSPEC09.ETransactionStatus.RECEIVED]: SYSTEM_MESSAGES.txEvictedFromMempool, + [RPCSPEC09.ETransactionStatus.PRE_CONFIRMED]: SYSTEM_MESSAGES.consensusFailed, + [RPCSPEC09.ETransactionStatus.CANDIDATE]: SYSTEM_MESSAGES.txFailsBlockBuildingValidation, + }; + const txLife: string[] = []; let txStatus: RPC.TransactionStatus; while (!onchain) { // eslint-disable-next-line no-await-in-loop @@ -418,6 +421,7 @@ export class RpcChannel { try { // eslint-disable-next-line no-await-in-loop txStatus = await this.getTransactionStatus(transactionHash); + txLife.push(txStatus.finality_status); const executionStatus = txStatus.execution_status; const finalityStatus = txStatus.finality_status; @@ -446,6 +450,15 @@ export class RpcChannel { throw error; } + if (error instanceof RpcError && error.isType('TXN_HASH_NOT_FOUND')) { + logger.info('txLife: ', txLife); + const errorMessage = LifeCycleErrorMessages[txLife.at(-1) as string]; + if (errorMessage && lifeCycleRetries <= 0) { + throw new Error(errorMessage); + } + lifeCycleRetries -= 1; + } + if (retries <= 0) { throw new Error(`waitForTransaction timed-out with retries ${this.retries}`); } @@ -528,7 +541,7 @@ export class RpcChannel { public async getEstimateFee( invocations: AccountInvocations, - { blockIdentifier = this.blockIdentifier, skipValidate = true }: getEstimateFeeBulkOptions + { blockIdentifier = this.blockIdentifier, skipValidate = true }: getEstimateFeeBulkOptions = {} ) { const block_id = new Block(blockIdentifier).identifier; const flags = { @@ -547,7 +560,7 @@ export class RpcChannel { public async invoke(functionInvocation: Invocation, details: InvocationsDetailsWithNonce) { let promise; if (isV3Tx(details)) { - if (isRPC08_ResourceBounds(details.resourceBounds)) { + if (isRPC08Plus_ResourceBoundsBN(details.resourceBounds)) { // V3 promise = this.fetchEndpoint('starknet_addInvokeTransaction', { invoke_transaction: { @@ -557,7 +570,7 @@ export class RpcChannel { version: RPC.ETransactionVersion.V3, signature: signatureToHexArray(functionInvocation.signature), nonce: toHex(details.nonce), - resource_bounds: details.resourceBounds, + resource_bounds: resourceBoundsToHexString(details.resourceBounds), tip: toHex(details.tip), paymaster_data: details.paymasterData.map((it) => toHex(it)), account_deployment_data: details.accountDeploymentData.map((it) => toHex(it)), @@ -577,7 +590,7 @@ export class RpcChannel { ) { let promise; if (isSierra(contract) && isV3Tx(details)) { - if (isRPC08_ResourceBounds(details.resourceBounds)) { + if (isRPC08Plus_ResourceBoundsBN(details.resourceBounds)) { // V3 Cairo1 promise = this.fetchEndpoint('starknet_addDeclareTransaction', { declare_transaction: { @@ -593,7 +606,7 @@ export class RpcChannel { entry_points_by_type: contract.entry_points_by_type, abi: contract.abi, }, - resource_bounds: details.resourceBounds, + resource_bounds: resourceBoundsToHexString(details.resourceBounds), tip: toHex(details.tip), paymaster_data: details.paymasterData.map((it) => toHex(it)), account_deployment_data: details.accountDeploymentData.map((it) => toHex(it)), @@ -613,7 +626,7 @@ export class RpcChannel { ) { let promise; if (isV3Tx(details)) { - if (isRPC08_ResourceBounds(details.resourceBounds)) { + if (isRPC08Plus_ResourceBoundsBN(details.resourceBounds)) { promise = this.fetchEndpoint('starknet_addDeployAccountTransaction', { deploy_account_transaction: { type: RPC.ETransactionType.DEPLOY_ACCOUNT, @@ -623,7 +636,7 @@ export class RpcChannel { contract_address_salt: toHex(addressSalt || 0), constructor_calldata: CallData.toHex(constructorCalldata || []), class_hash: toHex(classHash), - resource_bounds: details.resourceBounds, + resource_bounds: resourceBoundsToHexString(details.resourceBounds), tip: toHex(details.tip), paymaster_data: details.paymasterData.map((it) => toHex(it)), nonce_data_availability_mode: details.nonceDataAvailabilityMode, @@ -684,7 +697,7 @@ export class RpcChannel { * Returns all events matching the given filter * @returns events and the pagination of the events */ - public getEvents(eventFilter: RPC.EventFilter) { + public getEvents(eventFilter: RPCSPEC08.EventFilter) { return this.fetchEndpoint('starknet_getEvents', { filter: eventFilter }); } @@ -703,7 +716,7 @@ export class RpcChannel { details = { signature: signatureToHexArray(invocation.signature), nonce: toHex(invocation.nonce), - resource_bounds: invocation.resourceBounds, + resource_bounds: resourceBoundsToHexString(invocation.resourceBounds), tip: toHex(invocation.tip), paymaster_data: invocation.paymasterData.map((it) => toHex(it)), nonce_data_availability_mode: invocation.nonceDataAvailabilityMode, @@ -712,7 +725,7 @@ export class RpcChannel { }; } - if (invocation.type === TransactionType.INVOKE) { + if (invocation.type === RPCSPEC08.ETransactionType.INVOKE) { return { // V3 type: RPC.ETransactionType.INVOKE, @@ -722,7 +735,7 @@ export class RpcChannel { ...details, } as RPC.BROADCASTED_INVOKE_TXN; } - if (invocation.type === TransactionType.DECLARE) { + if (invocation.type === RPCSPEC08.ETransactionType.DECLARE) { if (!isSierra(invocation.contract)) { logger.error('Cairo 0 - non Sierra v1 tx are not supported'); throw Error('Declaring non Sierra contract using RPC 0.8'); @@ -740,7 +753,7 @@ export class RpcChannel { ...details, } as RPC.BROADCASTED_DECLARE_TXN; } - if (invocation.type === TransactionType.DEPLOY_ACCOUNT) { + if (invocation.type === RPCSPEC08.ETransactionType.DEPLOY_ACCOUNT) { // eslint-disable-next-line @typescript-eslint/no-unused-vars const { account_deployment_data, ...restDetails } = details; // V3 diff --git a/src/channel/rpc_0_7_1.ts b/src/channel/rpc_0_9_0.ts similarity index 63% rename from src/channel/rpc_0_7_1.ts rename to src/channel/rpc_0_9_0.ts index b853e66e3..fbffc124b 100644 --- a/src/channel/rpc_0_7_1.ts +++ b/src/channel/rpc_0_9_0.ts @@ -17,12 +17,14 @@ import { getSimulateTransactionOptions, Invocation, InvocationsDetailsWithNonce, + isRPC08Plus_ResourceBoundsBN, RPC_ERROR, RpcProviderOptions, - TransactionType, waitForTransactionOptions, + type fastWaitForTransactionOptions, } from '../types'; -import { JRPC, RPCSPEC07 as RPC } from '../types/api'; +import assert from '../utils/assert'; +import { ETransactionType, JRPC, RPCSPEC09 as RPC } from '../types/api'; import { BatchClient } from '../utils/batch'; import { CallData } from '../utils/calldata'; import { isSierra } from '../utils/contract'; @@ -31,28 +33,39 @@ import { validateAndParseEthAddress } from '../utils/eth'; import fetch from '../utils/connect/fetch'; import { getSelector, getSelectorFromName } from '../utils/hash'; import { stringify } from '../utils/json'; -import { getHexStringArray, toHex, toStorageKey } from '../utils/num'; +import { isNumber } from '../utils/typed'; +import { + bigNumberishArrayToHexadecimalStringArray, + getHexStringArray, + toHex, + toStorageKey, +} from '../utils/num'; import { Block, getDefaultNodeUrl, wait } from '../utils/provider'; import { isSupportedSpecVersion, isV3Tx, isVersion } from '../utils/resolve'; -import { decompressProgram, signatureToHexArray } from '../utils/stark'; +import { + decompressProgram, + signatureToHexArray, + resourceBoundsToHexString, + toTransactionVersion, +} from '../utils/stark'; import { getVersionsByType } from '../utils/transaction'; import { logger } from '../global/logger'; import { config } from '../global/config'; -import { assertX } from '../utils/assert'; +// TODO: check if we can filet type before entering to this method, as so to specify here only RPC 0.8 types const defaultOptions = { headers: { 'Content-Type': 'application/json' }, - blockIdentifier: BlockTag.PENDING, + blockIdentifier: BlockTag.LATEST, retries: 200, }; export class RpcChannel { - readonly id = 'RPC071'; + readonly id = 'RPC090'; /** * RPC specification version this Channel class implements */ - readonly channelSpecVersion: SupportedRpcVersion = SupportedRpcVersion.v0_7_1; + readonly channelSpecVersion: SupportedRpcVersion = SupportedRpcVersion.v0_9_0; public nodeUrl: string; @@ -75,7 +88,7 @@ export class RpcChannel { private transactionRetryIntervalFallback?: number; - private batchClient?: BatchClient; + private batchClient?: BatchClient; private baseFetch: NonNullable; @@ -115,14 +128,16 @@ export class RpcChannel { this.specVersion = specVersion; this.transactionRetryIntervalFallback = transactionRetryIntervalFallback; this.waitMode = waitMode ?? false; + this.requestId = 0; - if (typeof batch === 'number') { - this.batchClient = new BatchClient({ + if (isNumber(batch)) { + this.batchClient = new BatchClient({ nodeUrl: this.nodeUrl, headers: this.headers, interval: batch, baseFetch: this.baseFetch, + rpcMethods: {} as RPC.Methods, // Type information only, not used at runtime }); } @@ -175,7 +190,7 @@ export class RpcChannel { if (this.batchClient) { const { error, result } = await this.batchClient.fetch( method, - params as any, // TODO: fix this temporary cast with some permanent solution + params, (this.requestId += 1) ); this.errorHandler(method, params, error); @@ -199,15 +214,15 @@ export class RpcChannel { /** * fetch rpc node specVersion - * @example this.specVersion = "0.7.1" + * @example this.specVersion = "0.9.0" */ public getSpecVersion() { return this.fetchEndpoint('starknet_specVersion'); } /** - * fetch if undefined test and set specVersion, else just return this.specVersion - * @example this.specVersion = "0.7.1" + * fetch if undefined else just return this.specVersion + * @example this.specVersion = "0.9.0" */ public async setUpSpecVersion() { if (!this.specVersion) { @@ -231,6 +246,45 @@ export class RpcChannel { return this.specVersion; } + // TODO: New Method add test + /** + * Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses for all L1 -> L2 messages sent by the l1 transaction, ordered by the l1 tx sending order + */ + public getMessagesStatus(txHash: BigNumberish) { + const transaction_hash = toHex(txHash); + return this.fetchEndpoint('starknet_getMessagesStatus', { + transaction_hash, + }); + } + + // TODO: New Method add test + public getStorageProof( + classHashes: BigNumberish[] = [], + contractAddresses: BigNumberish[] = [], + contractsStorageKeys: RPC.CONTRACT_STORAGE_KEYS[] = [], // TODO: allow BigNUmberish[] and fix formatting before request + blockIdentifier: BlockIdentifier = this.blockIdentifier + ) { + const block_id = new Block(blockIdentifier).identifier; + const class_hashes = bigNumberishArrayToHexadecimalStringArray(classHashes); + const contract_addresses = bigNumberishArrayToHexadecimalStringArray(contractAddresses); + + return this.fetchEndpoint('starknet_getStorageProof', { + block_id, + class_hashes, + contract_addresses, + contracts_storage_keys: contractsStorageKeys, + }); + } + + // TODO: New Method add test + public getCompiledCasm(classHash: BigNumberish): Promise { + const class_hash = toHex(classHash); + + return this.fetchEndpoint('starknet_getCompiledCasm', { + class_hash, + }); + } + public getNonceForAddress( contractAddress: BigNumberish, blockIdentifier: BlockIdentifier = this.blockIdentifier @@ -349,22 +403,24 @@ export class RpcChannel { public async waitForTransaction(txHash: BigNumberish, options?: waitForTransactionOptions) { const transactionHash = toHex(txHash); - let { retries } = this; + let retries = options?.retries ?? this.retries; + let lifeCycleRetries = options?.lifeCycleRetries ?? 3; let onchain = false; let isErrorState = false; const retryInterval = options?.retryInterval ?? this.transactionRetryIntervalDefault; - const errorStates: any = options?.errorStates ?? [ - RPC.ETransactionStatus.REJECTED, - // TODO: commented out to preserve the long-standing behavior of "reverted" not being treated as an error by default - // should decide which behavior to keep in the future - // RPC.ETransactionExecutionStatus.REVERTED, - ]; + const errorStates: any = options?.errorStates ?? []; const successStates: any = options?.successStates ?? [ - RPC.ETransactionExecutionStatus.SUCCEEDED, - RPC.ETransactionStatus.ACCEPTED_ON_L2, - RPC.ETransactionStatus.ACCEPTED_ON_L1, + // RPC.ETransactionExecutionStatus.SUCCEEDED, // UDC on SUCCEEDED + pre_confirmed had no proper events to parse UDC + RPC.ETransactionFinalityStatus.ACCEPTED_ON_L2, + RPC.ETransactionFinalityStatus.ACCEPTED_ON_L1, ]; + const errorMessages: Record = { + [RPC.ETransactionStatus.RECEIVED]: SYSTEM_MESSAGES.txEvictedFromMempool, + [RPC.ETransactionStatus.PRE_CONFIRMED]: SYSTEM_MESSAGES.consensusFailed, + [RPC.ETransactionStatus.CANDIDATE]: SYSTEM_MESSAGES.txFailsBlockBuildingValidation, + }; + const txLife: string[] = []; let txStatus: RPC.TransactionStatus; while (!onchain) { // eslint-disable-next-line no-await-in-loop @@ -372,6 +428,7 @@ export class RpcChannel { try { // eslint-disable-next-line no-await-in-loop txStatus = await this.getTransactionStatus(transactionHash); + txLife.push(txStatus.finality_status); const executionStatus = txStatus.execution_status; const finalityStatus = txStatus.finality_status; @@ -400,6 +457,15 @@ export class RpcChannel { throw error; } + if (error instanceof RpcError && error.isType('TXN_HASH_NOT_FOUND')) { + logger.info('txLife: ', txLife); + const errorMessage = errorMessages[txLife.at(-1) as string]; + if (errorMessage && lifeCycleRetries <= 0) { + throw new Error(errorMessage); + } + lifeCycleRetries -= 1; + } + if (retries <= 0) { throw new Error(`waitForTransaction timed-out with retries ${this.retries}`); } @@ -426,7 +492,61 @@ export class RpcChannel { // eslint-disable-next-line no-await-in-loop await wait(retryInterval); } - return txReceipt as RPC.SPEC.TXN_RECEIPT; + return txReceipt as RPC.TXN_RECEIPT; + } + + public async fastWaitForTransaction( + txHash: BigNumberish, + address: string, + initNonceBN: BigNumberish, + options?: fastWaitForTransactionOptions + ): Promise { + const initNonce = BigInt(initNonceBN); + let retries = options?.retries ?? 50; + const retryInterval = options?.retryInterval ?? 500; // 0.5s + const errorStates: string[] = [RPC.ETransactionExecutionStatus.REVERTED]; + const successStates: string[] = [ + RPC.ETransactionFinalityStatus.ACCEPTED_ON_L2, + RPC.ETransactionFinalityStatus.ACCEPTED_ON_L1, + RPC.ETransactionFinalityStatus.PRE_CONFIRMED, + ]; + let txStatus: RPC.TransactionStatus; + const start = new Date().getTime(); + while (retries > 0) { + // eslint-disable-next-line no-await-in-loop + await wait(retryInterval); + + // eslint-disable-next-line no-await-in-loop + txStatus = await this.getTransactionStatus(txHash); + logger.info( + `${retries} ${JSON.stringify(txStatus)} ${(new Date().getTime() - start) / 1000}s.` + ); + const executionStatus = txStatus.execution_status ?? ''; + const finalityStatus = txStatus.finality_status; + if (errorStates.includes(executionStatus)) { + const message = `${executionStatus}: ${finalityStatus}`; + const error = new Error(message) as Error & { response: RPC.TransactionStatus }; + error.response = txStatus; + throw error; + } else if (successStates.includes(finalityStatus)) { + let currentNonce = initNonce; + while (currentNonce === initNonce && retries > 0) { + // eslint-disable-next-line no-await-in-loop + currentNonce = BigInt(await this.getNonceForAddress(address, BlockTag.PRE_CONFIRMED)); + logger.info( + `${retries} Checking new nonce ${currentNonce} ${(new Date().getTime() - start) / 1000}s.` + ); + if (currentNonce !== initNonce) return true; + // eslint-disable-next-line no-await-in-loop + await wait(retryInterval); + retries -= 1; + } + return false; + } + + retries -= 1; + } + return false; } public getStorageAt( @@ -482,7 +602,7 @@ export class RpcChannel { public async getEstimateFee( invocations: AccountInvocations, - { blockIdentifier = this.blockIdentifier, skipValidate = true }: getEstimateFeeBulkOptions + { blockIdentifier = this.blockIdentifier, skipValidate = true }: getEstimateFeeBulkOptions = {} ) { const block_id = new Block(blockIdentifier).identifier; const flags = { @@ -499,191 +619,58 @@ export class RpcChannel { } public async invoke(functionInvocation: Invocation, details: InvocationsDetailsWithNonce) { - let promise; - if (!isV3Tx(details)) { - // V1 - promise = this.fetchEndpoint('starknet_addInvokeTransaction', { - invoke_transaction: { - sender_address: functionInvocation.contractAddress, - calldata: CallData.toHex(functionInvocation.calldata), - type: RPC.ETransactionType.INVOKE, - max_fee: toHex(details.maxFee || 0), - version: RPC.ETransactionVersion.V1, - signature: signatureToHexArray(functionInvocation.signature), - nonce: toHex(details.nonce), - }, - }); - - logger.warn(SYSTEM_MESSAGES.legacyTxWarningMessage, { - version: RPC.ETransactionVersion.V1, - type: RPC.ETransactionType.INVOKE, - }); - } else { - // V3 - promise = this.fetchEndpoint('starknet_addInvokeTransaction', { - invoke_transaction: { - type: RPC.ETransactionType.INVOKE, - sender_address: functionInvocation.contractAddress, - calldata: CallData.toHex(functionInvocation.calldata), - version: RPC.ETransactionVersion.V3, - signature: signatureToHexArray(functionInvocation.signature), - nonce: toHex(details.nonce), - resource_bounds: details.resourceBounds, - tip: toHex(details.tip), - paymaster_data: details.paymasterData.map((it) => toHex(it)), - account_deployment_data: details.accountDeploymentData.map((it) => toHex(it)), - nonce_data_availability_mode: details.nonceDataAvailabilityMode, - fee_data_availability_mode: details.feeDataAvailabilityMode, - }, - }); + const transaction = this.buildTransaction( + { + type: ETransactionType.INVOKE, + ...functionInvocation, + ...details, + }, + 'transaction' + ); - assertX(!(details as any).maxFee, () => { - logger.warn(SYSTEM_MESSAGES.maxFeeInV3, { - type: RPC.ETransactionType.INVOKE, - }); - }); - } + const promise = this.fetchEndpoint('starknet_addInvokeTransaction', { + invoke_transaction: transaction, + }); return this.waitMode ? this.waitForTransaction((await promise).transaction_hash) : promise; } public async declare( - { contract, signature, senderAddress, compiledClassHash }: DeclareContractTransaction, + declareTransaction: DeclareContractTransaction, details: InvocationsDetailsWithNonce ) { - let promise; - if (!isSierra(contract) && !isV3Tx(details)) { - // V1 Cairo 0 - promise = this.fetchEndpoint('starknet_addDeclareTransaction', { - declare_transaction: { - type: RPC.ETransactionType.DECLARE, - contract_class: { - program: contract.program, - entry_points_by_type: contract.entry_points_by_type, - abi: contract.abi, - }, - version: RPC.ETransactionVersion.V1, - max_fee: toHex(details.maxFee || 0), - signature: signatureToHexArray(signature), - sender_address: senderAddress, - nonce: toHex(details.nonce), - }, - }); - - logger.warn(SYSTEM_MESSAGES.legacyTxWarningMessage, { - version: RPC.ETransactionVersion.V1, - type: RPC.ETransactionType.DECLARE, - }); - } else if (isSierra(contract) && !isV3Tx(details)) { - // V2 Cairo1 - promise = this.fetchEndpoint('starknet_addDeclareTransaction', { - declare_transaction: { - type: RPC.ETransactionType.DECLARE, - contract_class: { - sierra_program: decompressProgram(contract.sierra_program), - contract_class_version: contract.contract_class_version, - entry_points_by_type: contract.entry_points_by_type, - abi: contract.abi, - }, - compiled_class_hash: compiledClassHash || '', - version: RPC.ETransactionVersion.V2, - max_fee: toHex(details.maxFee || 0), - signature: signatureToHexArray(signature), - sender_address: senderAddress, - nonce: toHex(details.nonce), - }, - }); - - logger.warn(SYSTEM_MESSAGES.legacyTxWarningMessage, { - version: RPC.ETransactionVersion.V2, - type: RPC.ETransactionType.DECLARE, - }); - } else if (isSierra(contract) && isV3Tx(details)) { - // V3 Cairo1 - promise = this.fetchEndpoint('starknet_addDeclareTransaction', { - declare_transaction: { - type: RPC.ETransactionType.DECLARE, - sender_address: senderAddress, - compiled_class_hash: compiledClassHash || '', - version: RPC.ETransactionVersion.V3, - signature: signatureToHexArray(signature), - nonce: toHex(details.nonce), - contract_class: { - sierra_program: decompressProgram(contract.sierra_program), - contract_class_version: contract.contract_class_version, - entry_points_by_type: contract.entry_points_by_type, - abi: contract.abi, - }, - resource_bounds: details.resourceBounds, - tip: toHex(details.tip), - paymaster_data: details.paymasterData.map((it) => toHex(it)), - account_deployment_data: details.accountDeploymentData.map((it) => toHex(it)), - nonce_data_availability_mode: details.nonceDataAvailabilityMode, - fee_data_availability_mode: details.feeDataAvailabilityMode, - }, - }); + const transaction = this.buildTransaction( + { + type: ETransactionType.DECLARE, + ...declareTransaction, + ...details, + }, + 'transaction' + ); - assertX(!(details as any).maxFee, () => { - logger.warn(SYSTEM_MESSAGES.maxFeeInV3, { - type: RPC.ETransactionType.DECLARE, - }); - }); - } else { - throw Error('declare unspotted parameters'); - } + const promise = this.fetchEndpoint('starknet_addDeclareTransaction', { + declare_transaction: transaction, + }); return this.waitMode ? this.waitForTransaction((await promise).transaction_hash) : promise; } public async deployAccount( - { classHash, constructorCalldata, addressSalt, signature }: DeployAccountContractTransaction, + deployAccountTransaction: DeployAccountContractTransaction, details: InvocationsDetailsWithNonce ) { - let promise; - if (!isV3Tx(details)) { - // v1 - promise = this.fetchEndpoint('starknet_addDeployAccountTransaction', { - deploy_account_transaction: { - constructor_calldata: CallData.toHex(constructorCalldata || []), - class_hash: toHex(classHash), - contract_address_salt: toHex(addressSalt || 0), - type: RPC.ETransactionType.DEPLOY_ACCOUNT, - max_fee: toHex(details.maxFee || 0), - version: RPC.ETransactionVersion.V1, - signature: signatureToHexArray(signature), - nonce: toHex(details.nonce), - }, - }); - - logger.warn(SYSTEM_MESSAGES.legacyTxWarningMessage, { - version: RPC.ETransactionVersion.V1, - type: RPC.ETransactionType.DEPLOY_ACCOUNT, - }); - } else { - // v3 - promise = this.fetchEndpoint('starknet_addDeployAccountTransaction', { - deploy_account_transaction: { - type: RPC.ETransactionType.DEPLOY_ACCOUNT, - version: RPC.ETransactionVersion.V3, - signature: signatureToHexArray(signature), - nonce: toHex(details.nonce), - contract_address_salt: toHex(addressSalt || 0), - constructor_calldata: CallData.toHex(constructorCalldata || []), - class_hash: toHex(classHash), - resource_bounds: details.resourceBounds, - tip: toHex(details.tip), - paymaster_data: details.paymasterData.map((it) => toHex(it)), - nonce_data_availability_mode: details.nonceDataAvailabilityMode, - fee_data_availability_mode: details.feeDataAvailabilityMode, - }, - }); + const transaction = this.buildTransaction( + { + type: ETransactionType.DEPLOY_ACCOUNT, + ...deployAccountTransaction, + ...details, + }, + 'transaction' + ); - assertX(!(details as any).maxFee, () => { - logger.warn(SYSTEM_MESSAGES.maxFeeInV3, { - type: RPC.ETransactionType.DEPLOY_ACCOUNT, - }); - }); - } + const promise = this.fetchEndpoint('starknet_addDeployAccountTransaction', { + deploy_account_transaction: transaction, + }); return this.waitMode ? this.waitForTransaction((await promise).transaction_hash) : promise; } @@ -739,69 +726,54 @@ export class RpcChannel { return this.fetchEndpoint('starknet_getEvents', { filter: eventFilter }); } - public buildTransaction( - invocation: AccountInvocationItem, + // Generic buildTransaction that automatically narrows return type based on input + public buildTransaction( + invocation: T, versionType?: 'fee' | 'transaction' - ): RPC.BaseTransaction { + ): T extends { type: typeof ETransactionType.INVOKE } + ? RPC.INVOKE_TXN_V3 + : T extends { type: typeof ETransactionType.DECLARE } + ? RPC.BROADCASTED_DECLARE_TXN_V3 + : T extends { type: typeof ETransactionType.DEPLOY_ACCOUNT } + ? RPC.DEPLOY_ACCOUNT_TXN_V3 + : never { const defaultVersions = getVersionsByType(versionType); - let details; - - if (!isV3Tx(invocation)) { - // V0,V1,V2 - details = { - signature: signatureToHexArray(invocation.signature), - nonce: toHex(invocation.nonce), - max_fee: toHex(invocation.maxFee || 0), - }; - - logger.warn(SYSTEM_MESSAGES.legacyTxWarningMessage, { - version: invocation.version, - type: invocation.type, - }); - } else { - // V3 - details = { - signature: signatureToHexArray(invocation.signature), - nonce: toHex(invocation.nonce), - resource_bounds: invocation.resourceBounds, - tip: toHex(invocation.tip), - paymaster_data: invocation.paymasterData.map((it) => toHex(it)), - nonce_data_availability_mode: invocation.nonceDataAvailabilityMode, - fee_data_availability_mode: invocation.feeDataAvailabilityMode, - account_deployment_data: invocation.accountDeploymentData.map((it) => toHex(it)), - }; - assertX(!(invocation as any).maxFee, () => { - logger.warn(SYSTEM_MESSAGES.maxFeeInV3, { - type: invocation.type, - versionType, - }); - }); - } + // V0,V1,V2 not supported on RPC 0.9 + assert(isV3Tx(invocation), SYSTEM_MESSAGES.legacyTxRPC08Message); + + // V3 - Add resource bounds validation for transaction building (not fee estimation) + assert( + versionType !== 'transaction' || isRPC08Plus_ResourceBoundsBN(invocation.resourceBounds), + SYSTEM_MESSAGES.SWOldV3 + ); + + const details = { + signature: signatureToHexArray(invocation.signature), + nonce: toHex(invocation.nonce), + resource_bounds: resourceBoundsToHexString(invocation.resourceBounds), + tip: toHex(invocation.tip), + paymaster_data: invocation.paymasterData.map((it) => toHex(it)), + nonce_data_availability_mode: invocation.nonceDataAvailabilityMode, + fee_data_availability_mode: invocation.feeDataAvailabilityMode, + account_deployment_data: invocation.accountDeploymentData.map((it) => toHex(it)), + version: toTransactionVersion(defaultVersions.v3, invocation.version), + }; - if (invocation.type === TransactionType.INVOKE) { - return { - // v0 v1 v3 + if (invocation.type === ETransactionType.INVOKE) { + const btx: RPC.INVOKE_TXN_V3 = { type: RPC.ETransactionType.INVOKE, sender_address: invocation.contractAddress, calldata: CallData.toHex(invocation.calldata), - version: toHex(invocation.version || defaultVersions.v3), ...details, - } as RPC.SPEC.BROADCASTED_INVOKE_TXN; + }; + return btx as any; // This 'as any' is internal to the generic function - the external API is type-safe } - if (invocation.type === TransactionType.DECLARE) { - if (!isSierra(invocation.contract)) { - // Cairo 0 - v1 - return { - type: invocation.type, - contract_class: invocation.contract, - sender_address: invocation.senderAddress, - version: toHex(invocation.version || defaultVersions.v1), - ...details, - } as RPC.SPEC.BROADCASTED_DECLARE_TXN_V1; - } - return { - // Cairo 1 - v2 v3 + if (invocation.type === ETransactionType.DECLARE) { + // Sierra contracts required for DECLARE transactions in RPC 0.9 + assert(isSierra(invocation.contract), 'Declaring non Sierra contract using RPC 0.9'); + + const btx: RPC.BROADCASTED_DECLARE_TXN_V3 = { type: invocation.type, contract_class: { ...invocation.contract, @@ -809,22 +781,21 @@ export class RpcChannel { }, compiled_class_hash: invocation.compiledClassHash || '', sender_address: invocation.senderAddress, - version: toHex(invocation.version || defaultVersions.v3), ...details, - } as RPC.SPEC.BROADCASTED_DECLARE_TXN; + }; + return btx as any; // This 'as any' is internal to the generic function - the external API is type-safe } - if (invocation.type === TransactionType.DEPLOY_ACCOUNT) { + if (invocation.type === ETransactionType.DEPLOY_ACCOUNT) { // eslint-disable-next-line @typescript-eslint/no-unused-vars const { account_deployment_data, ...restDetails } = details; - // v1 v3 - return { + const btx: RPC.DEPLOY_ACCOUNT_TXN_V3 = { type: invocation.type, constructor_calldata: CallData.toHex(invocation.constructorCalldata || []), class_hash: toHex(invocation.classHash), contract_address_salt: toHex(invocation.addressSalt || 0), - version: toHex(invocation.version || defaultVersions.v3) as RPC.SPEC.INVOKE_TXN['version'], ...restDetails, - } as RPC.SPEC.BROADCASTED_DEPLOY_ACCOUNT_TXN; + }; + return btx as any; // This 'as any' is internal to the generic function - the external API is type-safe } throw Error('RPC buildTransaction received unknown TransactionType'); } diff --git a/src/channel/ws/subscription.ts b/src/channel/ws/subscription.ts index c435dc486..466510efc 100644 --- a/src/channel/ws/subscription.ts +++ b/src/channel/ws/subscription.ts @@ -1,7 +1,7 @@ /* eslint-disable no-underscore-dangle */ -import type { SUBSCRIPTION_ID } from '@starknet-io/starknet-types-08'; +import type { SUBSCRIPTION_ID } from '../../types/api'; import { logger } from '../../global/logger'; -import type { WebSocketChannel } from './ws_0_8'; +import type { WebSocketChannel } from './ws_0_9'; import { EventEmitter } from '../../utils/eventEmitter'; type SubscriptionEvents = { @@ -10,6 +10,22 @@ type SubscriptionEvents = { unsubscribe: void; }; +/** + * Options for creating a new Subscription instance + */ +export type SubscriptionOptions = { + /** The containing WebSocketChannel instance */ + channel: WebSocketChannel; + /** The JSON-RPC method used to create this subscription */ + method: string; + /** The parameters used to create this subscription (optional, defaults to empty object) */ + params?: object; + /** The unique identifier for this subscription */ + id: SUBSCRIPTION_ID; + /** The maximum number of events to buffer */ + maxBufferSize: number; +}; + /** * Represents an active WebSocket subscription. * @@ -70,24 +86,14 @@ export class Subscription { /** * @internal - * @param {WebSocketChannel} channel - The WebSocketChannel instance. - * @param {string} method - The RPC method used for the subscription. - * @param {any} params - The parameters for the subscription. - * @param {SUBSCRIPTION_ID} id - The subscription ID. - * @param {number} maxBufferSize - The maximum number of events to buffer. + * @param options - Subscription configuration options */ - constructor( - channel: WebSocketChannel, - method: string, - params: object, - id: SUBSCRIPTION_ID, - maxBufferSize: number - ) { - this.channel = channel; - this.method = method; - this.params = params; - this.id = id; - this.maxBufferSize = maxBufferSize; + constructor(options: SubscriptionOptions) { + this.channel = options.channel; + this.method = options.method; + this.params = options.params ?? {}; + this.id = options.id; + this.maxBufferSize = options.maxBufferSize; } /** diff --git a/src/channel/ws/ws_0_8.ts b/src/channel/ws/ws_0_9.ts similarity index 78% rename from src/channel/ws/ws_0_8.ts rename to src/channel/ws/ws_0_9.ts index 7e9dee8b7..ba40d5e0c 100644 --- a/src/channel/ws/ws_0_8.ts +++ b/src/channel/ws/ws_0_9.ts @@ -1,15 +1,18 @@ /* eslint-disable no-underscore-dangle */ -import type { - BLOCK_HEADER, - EMITTED_EVENT, - NEW_TXN_STATUS, +import { + JRPC, + StarknetEventsEvent, + NewHeadsEvent, + TransactionsStatusEvent, + NewTransactionReceiptsEvent, + TXN_STATUS_WITHOUT_L1, + NewTransactionEvent, SUBSCRIPTION_ID, - TXN_HASH, - TXN_WITH_HASH, -} from '@starknet-io/starknet-types-08'; + TXN_FINALITY_STATUS, + STATUS_ACCEPTED_ON_L1, +} from '../../types/api'; // Default exported RPC 0.9 Types import { BigNumberish, SubscriptionBlockIdentifier } from '../../types'; -import { JRPC } from '../../types/api'; import { WebSocketEvent } from '../../types/api/jsonrpc'; import { EventEmitter } from '../../utils/eventEmitter'; import { TimeoutError, WebSocketNotConnectedError } from '../../utils/errors'; @@ -22,6 +25,42 @@ import { config } from '../../global/config'; import { logger } from '../../global/logger'; import { Subscription } from './subscription'; +// Subscription parameter interfaces for object-based API +export interface SubscribeNewHeadsParams { + blockIdentifier?: SubscriptionBlockIdentifier; +} + +export interface SubscribeEventsParams { + fromAddress?: BigNumberish; + keys?: string[][]; + blockIdentifier?: SubscriptionBlockIdentifier; + finalityStatus?: Exclude; +} + +export interface SubscribeTransactionStatusParams { + transactionHash: BigNumberish; + blockIdentifier?: SubscriptionBlockIdentifier; +} + +export interface SubscribeNewTransactionReceiptsParams { + finalityStatus?: Exclude[]; + senderAddress?: BigNumberish[]; +} + +export interface SubscribeNewTransactionsParams { + finalityStatus?: TXN_STATUS_WITHOUT_L1[]; + senderAddress?: BigNumberish[]; +} + +// Subscription Result types +export type SubscriptionNewHeadsEvent = Subscription; +export type SubscriptionStarknetEventsEvent = Subscription; +export type SubscriptionTransactionStatusEvent = Subscription; +export type SubscriptionNewTransactionReceiptsEvent = Subscription< + NewTransactionReceiptsEvent['result'] +>; +export type SubscriptionNewTransactionEvent = Subscription; + /** * Options for configuring the automatic reconnection behavior of the WebSocketChannel. */ @@ -39,6 +78,11 @@ export type ReconnectOptions = { delay?: number; }; +/** + * The type of the WebSocket implementation. + */ +export type WebSocketModule = { new (nodeUrl: WebSocketOptions['nodeUrl']): WebSocket }; + /** * Options for configuring the WebSocketChannel. */ @@ -57,7 +101,7 @@ export type WebSocketOptions = { * const channel = new WebSocketChannel({ nodeUrl: '...', websocket: WebSocket }); * ``` */ - websocket?: typeof WebSocket; + websocket?: WebSocketModule; /** * The maximum number of events to buffer per subscription when no handler is attached. * @default 1000 @@ -119,7 +163,7 @@ export class WebSocketChannel { public websocket: WebSocket; // Store the WebSocket implementation class to allow for custom implementations. - private WsImplementation: typeof WebSocket; + private WsImplementation: WebSocketModule; // Map of active subscriptions, keyed by their ID. private activeSubscriptions: Map> = new Map(); @@ -322,7 +366,7 @@ export class WebSocketChannel { * console.log('Connected!'); * ``` */ - public async waitForConnection(): Promise { + public async waitForConnection(): Promise { // Wait for the websocket to connect if (this.websocket.readyState !== WebSocket.OPEN) { return new Promise((resolve, reject) => { @@ -356,7 +400,7 @@ export class WebSocketChannel { * Returns a Promise that resolves when the WebSocket connection is closed. * @returns {Promise} A Promise that resolves with the WebSocket's `readyState` or a `CloseEvent` when disconnected. */ - public async waitForDisconnection(): Promise { + public async waitForDisconnection(): Promise { // Wait for the websocket to disconnect if (this.websocket.readyState !== WebSocket.CLOSED) { return new Promise((resolve, reject) => { @@ -540,84 +584,128 @@ export class WebSocketChannel { /** * Subscribes to new block headers. - * @param {SubscriptionBlockIdentifier} [blockIdentifier] - The block to start receiving notifications from. Defaults to 'latest'. + * @param {SubscribeNewHeadsParams} params - The parameters for the subscription. * @returns {Promise>} A Promise that resolves with a `Subscription` object for new block headers. */ public async subscribeNewHeads( - blockIdentifier?: SubscriptionBlockIdentifier - ): Promise> { + params: SubscribeNewHeadsParams = {} + ): Promise { const method = 'starknet_subscribeNewHeads'; - const params = { - block_id: blockIdentifier ? new Block(blockIdentifier).identifier : undefined, + const rpcParams = { + block_id: params.blockIdentifier ? new Block(params.blockIdentifier).identifier : undefined, }; - const subId = await this.sendReceive(method, params); - const subscription = new Subscription(this, method, params, subId, this.maxBufferSize); + const subId = await this.sendReceive(method, rpcParams); + const subscription = new Subscription({ + channel: this, + method, + params: rpcParams, + id: subId, + maxBufferSize: this.maxBufferSize, + }); this.activeSubscriptions.set(subId, subscription); return subscription; } /** * Subscribes to events matching a given filter. - * @param {BigNumberish} [fromAddress] - The contract address to filter by. - * @param {string[][]} [keys] - The event keys to filter by. - * @param {SubscriptionBlockIdentifier} [blockIdentifier] - The block to start receiving notifications from. Defaults to 'latest'. + * @param {SubscribeEventsParams} params - The parameters for the subscription. * @returns {Promise>} A Promise that resolves with a `Subscription` object for the specified events. */ public async subscribeEvents( - fromAddress?: BigNumberish, - keys?: string[][], - blockIdentifier?: SubscriptionBlockIdentifier - ): Promise> { + params: SubscribeEventsParams = {} + ): Promise { const method = 'starknet_subscribeEvents'; - const params = { - from_address: fromAddress !== undefined ? toHex(fromAddress) : undefined, - keys, - block_id: blockIdentifier ? new Block(blockIdentifier).identifier : undefined, + const rpcParams = { + from_address: params.fromAddress !== undefined ? toHex(params.fromAddress) : undefined, + keys: params.keys, + block_id: params.blockIdentifier ? new Block(params.blockIdentifier).identifier : undefined, + finality_status: params.finalityStatus, }; - const subId = await this.sendReceive(method, params); - const subscription = new Subscription(this, method, params, subId, this.maxBufferSize); + const subId = await this.sendReceive(method, rpcParams); + const subscription = new Subscription({ + channel: this, + method, + params: rpcParams, + id: subId, + maxBufferSize: this.maxBufferSize, + }); this.activeSubscriptions.set(subId, subscription); return subscription; } /** * Subscribes to status updates for a specific transaction. - * @param {BigNumberish} transactionHash - The hash of the transaction to monitor. - * @param {SubscriptionBlockIdentifier} [blockIdentifier] - The block context. Not typically required. + * @param {SubscribeTransactionStatusParams} params - The parameters for the subscription. * @returns {Promise>} A Promise that resolves with a `Subscription` object for the transaction's status. */ public async subscribeTransactionStatus( - transactionHash: BigNumberish, - blockIdentifier?: SubscriptionBlockIdentifier - ): Promise> { + params: SubscribeTransactionStatusParams + ): Promise { const method = 'starknet_subscribeTransactionStatus'; - const params = { - transaction_hash: toHex(transactionHash), - block_id: blockIdentifier ? new Block(blockIdentifier).identifier : undefined, + const rpcParams = { + transaction_hash: toHex(params.transactionHash), + block_id: params.blockIdentifier ? new Block(params.blockIdentifier).identifier : undefined, }; - const subId = await this.sendReceive(method, params); - const subscription = new Subscription(this, method, params, subId, this.maxBufferSize); + const subId = await this.sendReceive(method, rpcParams); + const subscription = new Subscription({ + channel: this, + method, + params: rpcParams, + id: subId, + maxBufferSize: this.maxBufferSize, + }); this.activeSubscriptions.set(subId, subscription); return subscription; } /** - * Subscribes to pending transactions. - * @param {boolean} [transactionDetails] - If `true`, the full transaction details are included. Defaults to `false` (hash only). - * @param {BigNumberish[]} [senderAddress] - An array of sender addresses to filter by. - * @returns {Promise>} A Promise that resolves with a `Subscription` object for pending transactions. + * Subscribes to new transaction receipts. + * @param {SubscribeNewTransactionReceiptsParams} params - The parameters for the subscription. + * @returns {Promise>} A Promise that resolves with a `Subscription` object for new transaction receipts. */ - public async subscribePendingTransaction( - transactionDetails?: boolean, - senderAddress?: BigNumberish[] - ): Promise> { - const method = 'starknet_subscribePendingTransactions'; - const params = { - transaction_details: transactionDetails, - sender_address: senderAddress && bigNumberishArrayToHexadecimalStringArray(senderAddress), + public async subscribeNewTransactionReceipts( + params: SubscribeNewTransactionReceiptsParams = {} + ): Promise { + const method = 'starknet_subscribeNewTransactionReceipts'; + const rpcParams = { + finality_status: params.finalityStatus, + sender_address: + params.senderAddress && bigNumberishArrayToHexadecimalStringArray(params.senderAddress), }; - const subId = await this.sendReceive(method, params); - const subscription = new Subscription(this, method, params, subId, this.maxBufferSize); + const subId = await this.sendReceive(method, rpcParams); + const subscription = new Subscription({ + channel: this, + method, + params: rpcParams, + id: subId, + maxBufferSize: this.maxBufferSize, + }); + this.activeSubscriptions.set(subId, subscription); + return subscription; + } + + /** + * Subscribes to new transactions. + * @param {SubscribeNewTransactionsParams} params - The parameters for the subscription. + * @returns {Promise>} A Promise that resolves with a `Subscription` object for new transactions. + */ + public async subscribeNewTransactions( + params: SubscribeNewTransactionsParams = {} + ): Promise { + const method = 'starknet_subscribeNewTransactions'; + const rpcParams = { + finality_status: params.finalityStatus, + sender_address: + params.senderAddress && bigNumberishArrayToHexadecimalStringArray(params.senderAddress), + }; + const subId = await this.sendReceive(method, rpcParams); + const subscription = new Subscription({ + channel: this, + method, + params: rpcParams, + id: subId, + maxBufferSize: this.maxBufferSize, + }); this.activeSubscriptions.set(subId, subscription); return subscription; } diff --git a/src/contract/contractFactory.ts b/src/contract/contractFactory.ts deleted file mode 100644 index def650e20..000000000 --- a/src/contract/contractFactory.ts +++ /dev/null @@ -1,119 +0,0 @@ -import { AccountInterface } from '../account'; -import { logger } from '../global/logger'; -import { - Abi, - ArgsOrCalldata, - CairoAssembly, - CompiledContract, - ContractOptions, - ValidateType, -} from '../types'; -import assert from '../utils/assert'; -import { CallData } from '../utils/calldata'; -import { Contract, getCalldata } from './default'; - -export type ContractFactoryParams = { - compiledContract: CompiledContract; - account: any; - casm?: CairoAssembly; - classHash?: string; - compiledClassHash?: string; - abi?: Abi; - contractOptions?: ContractOptions; -}; - -export class ContractFactory { - compiledContract: CompiledContract; - - account: AccountInterface; - - abi: Abi; - - classHash?: string; - - casm?: CairoAssembly; - - compiledClassHash?: string; - - private CallData: CallData; - - public contractOptions?: ContractOptions; - - /** - * @param params CFParams - * - compiledContract: CompiledContract; - * - account: AccountInterface; - * - casm?: CairoAssembly; - * - classHash?: string; - * - compiledClassHash?: string; - * - abi?: Abi; - */ - constructor(params: ContractFactoryParams) { - this.compiledContract = params.compiledContract; - this.account = params.account; - this.casm = params.casm; - this.abi = params.abi ?? params.compiledContract.abi; - this.classHash = params.classHash; - this.compiledClassHash = params.compiledClassHash; - this.CallData = new CallData(this.abi); - this.contractOptions = params.contractOptions; - } - - /** - * Deploys contract and returns new instance of the Contract - * - * If contract is not declared it will first declare it, and then deploy - */ - public async deploy(...args: ArgsOrCalldata): Promise { - // const { args: param, options = { parseRequest: true } } = args; // splitArgsAndOptions(args); - - const constructorCalldata = getCalldata(args, () => { - if (this.contractOptions?.parseRequest) { - this.CallData.validate(ValidateType.DEPLOY, 'constructor', args); - return this.CallData.compile('constructor', args); - } - logger.warn('Call skipped parsing but provided rawArgs, possible malfunction request'); - return args; - }); - - const { - deploy: { contract_address, transaction_hash }, - } = await this.account.declareAndDeploy({ - contract: this.compiledContract, - casm: this.casm, - classHash: this.classHash, - compiledClassHash: this.compiledClassHash, - constructorCalldata, - salt: this.contractOptions?.addressSalt, - }); - assert(Boolean(contract_address), 'Deployment of the contract failed'); - - const contractInstance = new Contract( - this.compiledContract.abi, - contract_address!, - this.account - ); - contractInstance.deployTransactionHash = transaction_hash; - - return contractInstance; - } - - /** - * Attaches to new Account - * - * @param account - new Account to attach to - */ - connect(account: AccountInterface): ContractFactory { - this.account = account; - return this; - } - - /** - * Attaches current abi and account to the new address - */ - attach(address: string): Contract { - return new Contract(this.abi, address, this.account); - } - - // ethers.js' getDeployTransaction can't be supported as it requires the account or signer to return a signed transaction which is not possible with the current implementation -} diff --git a/src/contract/default.ts b/src/contract/default.ts index 650e28f9a..39287d7ae 100644 --- a/src/contract/default.ts +++ b/src/contract/default.ts @@ -1,7 +1,4 @@ import type { Abi as AbiKanabi, TypedContract as AbiWanTypedContract } from 'abi-wan-kanabi'; - -import { AccountInterface } from '../account'; -import { ProviderInterface, defaultProvider } from '../provider'; import { Abi, AbiEvents, @@ -13,24 +10,35 @@ import { Calldata, ContractFunction, ContractOptions, - EstimateFeeResponse, FunctionAbi, InvokeFunctionResponse, - InvokeOptions, GetTransactionReceiptResponse, ParsedEvents, RawArgs, - Result, + CallResult, ValidateType, type SuccessfulTransactionReceiptResponse, + EstimateFeeResponseOverhead, + ExecuteOptions, + ProviderOrAccount, + isAccount, + WithOptions, + FactoryParams, + UniversalDetails, + DeclareAndDeployContractPayload, + SuccessfulTransactionReceiptResponseHelper, } from '../types'; +import type { AccountInterface } from '../account/interface'; import assert from '../utils/assert'; import { cairo, CallData } from '../utils/calldata'; -import { createAbiParser } from '../utils/calldata/parser'; +import { createAbiParser, ParsingStrategy } from '../utils/calldata/parser'; import { getAbiEvents, parseEvents as parseRawEvents } from '../utils/events/index'; -import { cleanHex } from '../utils/num'; +import { toHex } from '../utils/num'; import { ContractInterface } from './interface'; import { logger } from '../global/logger'; +import { defaultProvider } from '../provider'; +import { getCompiledCalldata } from '../utils/transaction'; +import { extractAbi, parseContract } from '../utils/provider'; export type TypedContractV2 = AbiWanTypedContract & Contract; @@ -39,12 +47,12 @@ export type TypedContractV2 = AbiWanTypedContract */ function buildCall(contract: Contract, functionAbi: FunctionAbi): AsyncContractFunction { return async function (...args: ArgsOrCalldata): Promise { - const options = { ...contract.contractOptions }; + const options = { ...contract.withOptionsProps }; // eslint-disable-next-line no-param-reassign - contract.contractOptions = undefined; + contract.withOptionsProps = undefined; return contract.call(functionAbi.name, args, { - parseRequest: true, - parseResponse: true, + parseRequest: contract.parseRequest, + parseResponse: contract.parseResponse, ...options, }); }; @@ -55,11 +63,11 @@ function buildCall(contract: Contract, functionAbi: FunctionAbi): AsyncContractF */ function buildInvoke(contract: Contract, functionAbi: FunctionAbi): AsyncContractFunction { return async function (...args: ArgsOrCalldata): Promise { - const options = { ...contract.contractOptions }; + const options = { ...contract.withOptionsProps }; // eslint-disable-next-line no-param-reassign - contract.contractOptions = undefined; + contract.withOptionsProps = undefined; return contract.invoke(functionAbi.name, args, { - parseRequest: true, + parseRequest: contract.parseRequest, ...options, }); }; @@ -89,30 +97,28 @@ function buildPopulate(contract: Contract, functionAbi: FunctionAbi): ContractFu */ function buildEstimate(contract: Contract, functionAbi: FunctionAbi): ContractFunction { return function (...args: Array): any { - return contract.estimate(functionAbi.name, args); + const options = { ...contract.withOptionsProps }; + // eslint-disable-next-line no-param-reassign + contract.withOptionsProps = undefined; + return contract.estimate(functionAbi.name, args, options); }; } - -export function getCalldata(args: RawArgs, callback: Function): Calldata { - // Check if Calldata in args or args[0] else compile - if (Array.isArray(args) && '__compiled__' in args) return args as Calldata; - if (Array.isArray(args) && Array.isArray(args[0]) && '__compiled__' in args[0]) - return args[0] as Calldata; - return callback(); -} - export class Contract implements ContractInterface { abi: Abi; address: string; - providerOrAccount: ProviderInterface | AccountInterface; + providerOrAccount: ProviderOrAccount; + + classHash?: string; - deployTransactionHash?: string; + parseRequest: boolean; - protected readonly structs: { [name: string]: AbiStruct }; + parseResponse: boolean; - protected readonly events: AbiEvents; + private structs: { [name: string]: AbiStruct }; + + private events: AbiEvents; readonly functions!: { [name: string]: AsyncContractFunction }; @@ -126,89 +132,109 @@ export class Contract implements ContractInterface { private callData: CallData; - public contractOptions?: ContractOptions; + public withOptionsProps?: WithOptions; + + private parsingStrategy?: ParsingStrategy; /** - * Contract class to handle contract methods - * - * @param abi - Abi of the contract object - * @param address (optional) - address to connect to - * @param providerOrAccount (optional) - Provider or Account to attach to + * @param options + * - abi: Abi of the contract object (required) + * - address: address to connect to (required) + * - providerOrAccount?: Provider or Account to attach to (fallback to defaultProvider) + * - parseRequest?: compile and validate arguments (optional, default true) + * - parseResponse?: Parse elements of the response array and structuring them into response object (optional, default true) + * - parser?: Abi parser (optional, default createAbiParser(options.abi)) */ - constructor( - abi: Abi, - address: string, - providerOrAccount: ProviderInterface | AccountInterface = defaultProvider - ) { - this.address = address && address.toLowerCase(); - this.providerOrAccount = providerOrAccount; - this.callData = new CallData(abi); - this.structs = CallData.getAbiStruct(abi); - this.events = getAbiEvents(abi); - const parser = createAbiParser(abi); + constructor(options: ContractOptions) { + // TODO: REFACTOR: move from legacy format and add support for legacy format + // Must have params + this.parsingStrategy = options.parsingStrategy; + const parser = createAbiParser(options.abi, options.parsingStrategy); this.abi = parser.getLegacyFormat(); + this.address = options.address && options.address.toLowerCase(); + this.providerOrAccount = options.providerOrAccount ?? defaultProvider; - const options = { enumerable: true, value: {}, writable: false }; + // Optional params + this.parseRequest = options.parseRequest ?? true; + this.parseResponse = options.parseResponse ?? true; + this.classHash = options.classHash; + + // Init + this.callData = new CallData(options.abi, options.parsingStrategy); + this.structs = CallData.getAbiStruct(options.abi); + this.events = getAbiEvents(options.abi); + + // Define methods properties + const methodTypes = { enumerable: true, value: {}, writable: false }; Object.defineProperties(this, { functions: { enumerable: true, value: {}, writable: false }, callStatic: { enumerable: true, value: {}, writable: false }, populateTransaction: { enumerable: true, value: {}, writable: false }, estimateFee: { enumerable: true, value: {}, writable: false }, }); + + // Define methods this.abi.forEach((abiElement) => { if (abiElement.type !== 'function') return; - const signature = abiElement.name; - if (!this[signature]) { - Object.defineProperty(this, signature, { - ...options, + const methodSignature = abiElement.name; + if (!this[methodSignature]) { + Object.defineProperty(this, methodSignature, { + ...methodTypes, value: buildDefault(this, abiElement), }); } - if (!this.functions[signature]) { - Object.defineProperty(this.functions, signature, { - ...options, + if (!this.functions[methodSignature]) { + Object.defineProperty(this.functions, methodSignature, { + ...methodTypes, value: buildDefault(this, abiElement), }); } - if (!this.callStatic[signature]) { - Object.defineProperty(this.callStatic, signature, { - ...options, + if (!this.callStatic[methodSignature]) { + Object.defineProperty(this.callStatic, methodSignature, { + ...methodTypes, value: buildCall(this, abiElement), }); } - if (!this.populateTransaction[signature]) { - Object.defineProperty(this.populateTransaction, signature, { - ...options, + if (!this.populateTransaction[methodSignature]) { + Object.defineProperty(this.populateTransaction, methodSignature, { + ...methodTypes, value: buildPopulate(this, abiElement), }); } - if (!this.estimateFee[signature]) { - Object.defineProperty(this.estimateFee, signature, { - ...options, + if (!this.estimateFee[methodSignature]) { + Object.defineProperty(this.estimateFee, methodSignature, { + ...methodTypes, value: buildEstimate(this, abiElement), }); } }); } - public withOptions(options: ContractOptions) { - this.contractOptions = options; + public withOptions(options: WithOptions): this { + this.withOptionsProps = options; return this; } - public attach(address: string): void { + public attach(address: string, abi?: Abi): void { + // TODO: if changing address, probably changing abi also !? Also nonsense method as if you change abi and address, you need to create a new contract instance. this.address = address; + if (abi) { + const parser = createAbiParser(abi, this.parsingStrategy); + this.abi = parser.getLegacyFormat(); + this.callData = new CallData(abi, this.parsingStrategy); + this.structs = CallData.getAbiStruct(abi); + this.events = getAbiEvents(abi); + } } - public connect(providerOrAccount: ProviderInterface | AccountInterface) { - this.providerOrAccount = providerOrAccount; - } - - public async deployed(): Promise { - if (this.deployTransactionHash) { - await this.providerOrAccount.waitForTransaction(this.deployTransactionHash); - this.deployTransactionHash = undefined; + public async isDeployed(): Promise { + try { + await this.providerOrAccount.getClassHashAt(this.address); + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + throw new Error(`Contract not deployed at address ${this.address}: ${errorMessage}`); } + return this; } @@ -221,10 +247,10 @@ export class Contract implements ContractInterface { formatResponse = undefined, blockIdentifier = undefined, }: CallOptions = {} - ): Promise { + ): Promise { assert(this.address !== null, 'contract is not connected to an address'); - const calldata = getCalldata(args, () => { + const calldata = getCompiledCalldata(args, () => { if (parseRequest) { this.callData.validate(ValidateType.CALL, method, args); return this.callData.compile(method, args); @@ -253,14 +279,30 @@ export class Contract implements ContractInterface { }); } - public invoke( + public async invoke( + method: string, + args: ArgsOrCalldata, + options: ExecuteOptions & { waitForTransaction: true } + ): Promise; + public async invoke( + method: string, + args: ArgsOrCalldata, + options: ExecuteOptions & { waitForTransaction: false } + ): Promise; + public async invoke( + method: string, + args?: ArgsOrCalldata, + options?: ExecuteOptions + ): Promise; + public async invoke( method: string, args: ArgsOrCalldata = [], - { parseRequest = true, signature, ...RestInvokeOptions }: InvokeOptions = {} - ): Promise { + options: ExecuteOptions = {} + ): Promise { + const { parseRequest = true, signature, waitForTransaction, ...RestInvokeOptions } = options; assert(this.address !== null, 'contract is not connected to an address'); - const calldata = getCalldata(args, () => { + const calldata = getCompiledCalldata(args, () => { if (parseRequest) { this.callData.validate(ValidateType.INVOKE, method, args); return this.callData.compile(method, args); @@ -274,15 +316,24 @@ export class Contract implements ContractInterface { calldata, entrypoint: method, }; - if ('execute' in this.providerOrAccount) { - return this.providerOrAccount.execute(invocation, { + if (isAccount(this.providerOrAccount)) { + const result: InvokeFunctionResponse = await this.providerOrAccount.execute(invocation, { ...RestInvokeOptions, }); + if (waitForTransaction) { + const result2: GetTransactionReceiptResponse = + await this.providerOrAccount.waitForTransaction(result.transaction_hash); + if (result2.isSuccess()) { + return result2; + } + throw new Error('Transaction failed', { cause: result2 }); + } + return result; } if (!RestInvokeOptions.nonce) - throw new Error(`Nonce is required when invoking a function without an account`); - logger.warn(`Invoking ${method} without an account. This will not work on a public node.`); + throw new Error(`Manual nonce is required when invoking a function without an account`); + logger.warn(`Invoking ${method} without an account.`); return this.providerOrAccount.invokeFunction( { @@ -296,22 +347,26 @@ export class Contract implements ContractInterface { ); } - public async estimate(method: string, args: ArgsOrCalldata = []): Promise { + public async estimate( + method: string, + args: ArgsOrCalldata = [], + estimateDetails: UniversalDetails = {} + ): Promise { assert(this.address !== null, 'contract is not connected to an address'); - if (!getCalldata(args, () => false)) { + if (!getCompiledCalldata(args, () => false)) { this.callData.validate(ValidateType.INVOKE, method, args); } const invocation = this.populate(method, args); - if ('estimateInvokeFee' in this.providerOrAccount) { - return this.providerOrAccount.estimateInvokeFee(invocation); + if (isAccount(this.providerOrAccount)) { + return this.providerOrAccount.estimateInvokeFee(invocation, estimateDetails); } throw Error('Contract must be connected to the account contract to estimate'); } public populate(method: string, args: RawArgs = []): Call { - const calldata: Calldata = getCalldata(args, () => this.callData.compile(method, args)); + const calldata: Calldata = getCompiledCalldata(args, () => this.callData.compile(method, args)); return { contractAddress: this.address, entrypoint: method, @@ -322,9 +377,9 @@ export class Contract implements ContractInterface { // TODO: Demistify what is going on here ??? // TODO: receipt status filtering test and fix this do not look right public parseEvents(receipt: GetTransactionReceiptResponse): ParsedEvents { - let parsed: ParsedEvents; + let parsed: ParsedEvents = [] as unknown as ParsedEvents; receipt.match({ - success: (txR: SuccessfulTransactionReceiptResponse) => { + SUCCEEDED: (txR: SuccessfulTransactionReceiptResponse) => { const emittedEvents = txR.events ?.map((event) => { @@ -337,19 +392,33 @@ export class Contract implements ContractInterface { ...event, }; }) - .filter((event) => cleanHex(event.from_address) === cleanHex(this.address), []) || []; + .filter((event) => toHex(event.from_address) === toHex(this.address), []) || []; // TODO: what data is in this that is cleaned out ? parsed = parseRawEvents( - emittedEvents as any, // TODO: any temp hotfix, fix this + emittedEvents, this.events, this.structs, - CallData.getAbiEnum(this.abi) - ); + CallData.getAbiEnum(this.abi), + this.callData.parser + ) as ParsedEvents; }, _: () => { throw Error('This transaction was not successful.'); }, }); - return parsed!; + + // Add getByPath method to the specific instance (non-enumerable) + Object.defineProperty(parsed, 'getByPath', { + value: (path: string) => { + const event = parsed.find((ev) => Object.keys(ev).some((key) => key.includes(path))); + const eventKey = Object.keys(event || {}).find((key) => key.includes(path)); + return eventKey && event ? event[eventKey] : null; + }, + writable: false, + enumerable: false, + configurable: false, + }); + + return parsed; } public isCairo1(): boolean { @@ -363,4 +432,131 @@ export class Contract implements ContractInterface { public typedv2(tAbi: TAbi): TypedContractV2 { return this as unknown as TypedContractV2; } + + /** + * Factory method to declare and/or deploy a contract creating a new Contract instance + * + * It handles the entire lifecycle: compiles constructor calldata, optionally declares the contract class, + * deploys an instance, and returns a ready-to-use Contract object. + * + * When classHash is provided, it will only deploy the contract without declaring. + * When contract is provided without classHash, it will declare and deploy. + * + * @param params - Factory parameters containing Contract Class details and deployment options + * @returns Promise that resolves to a deployed Contract instance with address and transaction hash + * @throws Error if deployment fails or contract_address is not returned + * @example + * ```typescript + * // Declare and deploy an ERC20 contract + * const contract = await Contract.factory({ + * contract: erc20CompiledContract, + * account: myAccount, + * casm: erc20Casm, + * constructorCalldata: { + * name: 'MyToken', + * symbol: 'MTK', + * decimals: 18, + * initial_supply: { low: 1000000, high: 0 }, + * recipient: myAccount.address + * } + * }); + * + * // Deploy-only mode with existing classHash (ABI will be fetched from network) + * const contract2 = await Contract.factory({ + * classHash: '0x1234...', + * account: myAccount, + * constructorCalldata: { + * name: 'AnotherToken', + * symbol: 'ATK', + * decimals: 18, + * initial_supply: { low: 2000000, high: 0 }, + * recipient: myAccount.address + * } + * }); + * + * // Deploy-only mode with provided ABI (faster, no network call) + * const contract3 = await Contract.factory({ + * classHash: '0x1234...', + * abi: erc20Abi, + * account: myAccount, + * constructorCalldata: { + * name: 'ThirdToken', + * symbol: 'TTK', + * decimals: 18, + * initial_supply: { low: 3000000, high: 0 }, + * recipient: myAccount.address + * } + * }); + * + * console.log('Contract deployed at:', contract.address); + * ```\ + */ + static async factory(params: FactoryParams, details: UniversalDetails = {}): Promise { + const { account, parseRequest = true } = params; + let abi: Abi; + let classHash: string; + let contract_address: string; + + // Check if only deploying (classHash provided and no contract) + if ('classHash' in params && params.classHash && !('contract' in params)) { + // Deploy-only mode: use provided classHash + const deployParams = params as FactoryParams & { classHash: string; abi?: Abi }; + classHash = deployParams.classHash.toString(); + + // If ABI is not provided, fetch it from the network using the classHash + if (!deployParams.abi) { + const contractClass = await account.getClass(classHash); + abi = contractClass.abi; + } else { + abi = deployParams.abi; + } + + // Deploy the contract using the provided classHash + const deployResult = await account.deployContract( + { + classHash, + constructorCalldata: deployParams.constructorCalldata, + salt: deployParams.salt, + unique: deployParams.unique, + abi: parseRequest ? abi : undefined, + }, + details + ); + contract_address = deployResult.contract_address; + } else { + // Declare and deploy mode: original behavior + const declareParams = params as DeclareAndDeployContractPayload & { + account: AccountInterface; + parseRequest?: boolean; + }; + const contract = parseContract(declareParams.contract); + abi = declareParams.abi ? declareParams.abi : extractAbi(contract); + + const { + declare: { class_hash }, + deploy: { contract_address: deployed_address }, + } = await account.declareAndDeploy( + { + ...declareParams, + abi: parseRequest ? abi : undefined, + }, + details + ); + classHash = class_hash.toString(); + contract_address = deployed_address; + } + + // Common contract creation logic + assert(Boolean(contract_address), 'Deployment of the contract failed'); + + return new Contract({ + abi, + address: contract_address, + providerOrAccount: account, + classHash, + parseRequest: params.parseRequest, + parseResponse: params.parseResponse, + parsingStrategy: params.parsingStrategy, + }); + } } diff --git a/src/contract/index.ts b/src/contract/index.ts index 2653b3a05..4a61b9d06 100644 --- a/src/contract/index.ts +++ b/src/contract/index.ts @@ -1,3 +1,2 @@ export * from './default'; export * from './interface'; -export * from './contractFactory'; diff --git a/src/contract/interface.ts b/src/contract/interface.ts index 37935e591..cd217cb69 100644 --- a/src/contract/interface.ts +++ b/src/contract/interface.ts @@ -1,26 +1,28 @@ import type { Abi as AbiKanabi, TypedContract as AbiWanTypedContract } from 'abi-wan-kanabi'; -import { AccountInterface } from '../account'; -import { ProviderInterface } from '../provider'; -import { +import type { Abi, - ArgsOrCalldata, - AsyncContractFunction, BigNumberish, BlockIdentifier, - CallOptions, Calldata, - ContractFunction, ContractVersion, - EstimateFeeResponse, Invocation, InvokeFunctionResponse, - InvokeOptions, - ParsedEvents, RawArgs, - Result, Uint256, } from '../types'; +import type { + ArgsOrCalldata, + AsyncContractFunction, + CallOptions, + CallResult, + ContractFunction, + ExecuteOptions, + ParsedEvents, + ProviderOrAccount, + WithOptions, +} from './types/index.type'; +import type { EstimateFeeResponseOverhead } from '../provider/types/index.type'; import { CairoCustomEnum } from '../utils/calldata/enum/CairoCustomEnum'; import { CairoOption } from '../utils/calldata/enum/CairoOption'; import { CairoResult } from '../utils/calldata/enum/CairoResult'; @@ -38,88 +40,152 @@ declare module 'abi-wan-kanabi' { Enum: CairoCustomEnum; Calldata: RawArgs | Calldata; CallOptions: CallOptions; - InvokeOptions: InvokeOptions; + InvokeOptions: ExecuteOptions; InvokeFunctionResponse: InvokeFunctionResponse; } } type TypedContractV2 = AbiWanTypedContract & ContractInterface; +/** + * Interface for interacting with Starknet smart contracts + * + * Provides methods for calling contract functions, estimating fees, and managing contract state. + * Supports both read-only calls and state-changing invocations. + * + * @remarks + * The interface provides multiple ways to interact with contracts: + * - Direct method calls for convenience + * - Generic call/invoke methods for flexibility + * - Fee estimation and transaction population + * - Event parsing and contract validation + */ export abstract class ContractInterface { + /** + * Contract ABI (Application Binary Interface) + */ public abstract abi: Abi; + /** + * Contract address on Starknet + */ public abstract address: string; - public abstract providerOrAccount: ProviderInterface | AccountInterface; + /** + * Provider for read operations or Account for write operations + */ + public abstract providerOrAccount: ProviderOrAccount; - public abstract deployTransactionHash?: string; + /** + * Optional contract class hash for optimization + */ + public abstract classHash?: string; + /** + * Contract methods that return promises (async operations) + */ readonly functions!: { [name: string]: AsyncContractFunction }; + /** + * Contract methods for read-only calls (state queries) + */ readonly callStatic!: { [name: string]: AsyncContractFunction }; + /** + * Contract methods that return populated transactions for batching + */ readonly populateTransaction!: { [name: string]: ContractFunction }; + /** + * Contract methods for fee estimation + */ readonly estimateFee!: { [name: string]: ContractFunction }; - readonly [key: string]: AsyncContractFunction | any; - /** - * Saves the address of the contract deployed on network that will be used for interaction - * - * @param address - address of the contract + * Dynamic method access - allows calling contract methods directly */ - public abstract attach(address: string): void; + readonly [key: string]: AsyncContractFunction | any; /** - * Attaches to new Provider or Account + * Attach the contract to a different address with optional new ABI * - * @param providerOrAccount - new Provider or Account to attach to + * @param address - New contract address to interact with + * @param abi - Optional new ABI to use (defaults to current ABI) + * @example + * ```typescript + * contract.attach('0x123...', newAbi); + * // Now contract.address === '0x123...' and uses newAbi + * ``` */ - public abstract connect(providerOrAccount: ProviderInterface | AccountInterface): void; + public abstract attach(address: string, abi?: Abi): void; /** - * Resolves when contract is deployed on the network or when no deployment transaction is found + * Verify that a contract is deployed at the current address * - * @returns Promise that resolves when contract is deployed on the network or when no deployment transaction is found - * @throws When deployment fails + * @returns Promise resolving to this contract instance if deployed + * @throws {Error} If no contract is found at the address + * @example + * ```typescript + * try { + * await contract.isDeployed(); + * console.log('Contract is deployed'); + * } catch (error) { + * console.log('Contract not found at address'); + * } + * ``` */ - public abstract deployed(): Promise; + public abstract isDeployed(): Promise; /** - * Calls a method on a contract + * Call a read-only contract method (view function) * - * @param method name of the method - * @param args Array of the arguments for the call - * @param options optional blockIdentifier - * @returns Result of the call as an array with key value pars + * @param method - Name of the contract method to call + * @param args - Method arguments as array or calldata + * @param options - Call options including block identifier and parsing settings + * @returns Parsed result from the contract method + * @example + * ```typescript + * const balance = await contract.call('balanceOf', [userAddress]); + * const name = await contract.call('name', [], { blockIdentifier: 'latest' }); + * ``` */ public abstract call( method: string, args?: ArgsOrCalldata, options?: CallOptions - ): Promise; + ): Promise; /** - * Invokes a method on a contract + * Invoke a state-changing contract method (external function) * - * @param method name of the method - * @param args Array of the arguments for the invoke or Calldata - * @param options - * @returns Add Transaction Response + * @param method - Name of the contract method to invoke + * @param args - Method arguments as array or calldata + * @param options - Execution options including transaction details + * @returns Transaction response with hash + * @example + * ```typescript + * const tx = await contract.invoke('transfer', [recipient, amount]); + * const receipt = await provider.waitForTransaction(tx.transaction_hash); + * ``` */ public abstract invoke( method: string, args?: ArgsOrCalldata, - options?: InvokeOptions + options?: ExecuteOptions ): Promise; /** - * Estimates a method on a contract + * Estimate fee for invoking a contract method * - * @param method name of the method - * @param args Array of the arguments for the call or Calldata - * @param options optional blockIdentifier + * @param method - Name of the contract method to estimate + * @param args - Method arguments as array or calldata + * @param options - Estimation options including block identifier + * @returns Fee estimation details + * @example + * ```typescript + * const feeEstimate = await contract.estimate('transfer', [recipient, amount]); + * console.log('Estimated fee:', feeEstimate.overall_fee); + * ``` */ public abstract estimate( method: string, @@ -127,46 +193,89 @@ export abstract class ContractInterface { options?: { blockIdentifier?: BlockIdentifier; } - ): Promise; + ): Promise; /** - * Calls a method on a contract + * Populate transaction data for a contract method call * - * @param method name of the method - * @param args Array of the arguments for the call or Calldata - * @returns Invocation object + * @param method - Name of the contract method + * @param args - Method arguments as array or calldata + * @returns Invocation object for batching or inspection + * @example + * ```typescript + * const invocation = contract.populate('transfer', [recipient, amount]); + * // Use in account.execute([invocation1, invocation2, ...]) + * ``` */ public abstract populate(method: string, args?: ArgsOrCalldata): Invocation; /** - * Parse contract events of a GetTransactionReceiptResponse received from waitForTransaction. Based on contract's abi + * Parse events from a transaction receipt using the contract's ABI * - * @param receipt transaction receipt - * @returns Events parsed + * @param receipt - Transaction receipt from waitForTransaction + * @returns Array of parsed events with decoded data + * @example + * ```typescript + * const receipt = await provider.waitForTransaction(txHash); + * const events = contract.parseEvents(receipt); + * events.forEach(event => { + * console.log('Event:', event.name, event.data); + * }); + * ``` */ public abstract parseEvents(receipt: GetTransactionReceiptResponse): ParsedEvents; /** - * tells if the contract comes from a Cairo 1 contract + * Check if the contract is implemented in Cairo 1 * - * @returns TRUE if the contract comes from a Cairo1 contract + * @returns True if the contract uses Cairo 1, false for Cairo 0 (legacy) * @example * ```typescript - * const isCairo1: boolean = myContract.isCairo1(); + * if (contract.isCairo1()) { + * console.log('Using Cairo 1 features'); + * } * ``` */ public abstract isCairo1(): boolean; /** - * Retrieves the version of the contract (cairo version & compiler version) + * Get the Cairo and compiler version of the contract + * + * @returns Object containing cairo version and compiler version + * @example + * ```typescript + * const version = await contract.getVersion(); + * console.log(`Cairo ${version.cairo}, Compiler ${version.compiler}`); + * ``` */ public abstract getVersion(): Promise; /** - * Returns a typed instance of ContractV2 based on the supplied ABI. + * Create a typed contract instance with full TypeScript support * - * @param {TAbi} tAbi - The ABI (Abstract Binary Interface) of the ContractV2. - * @return {TypedContractV2} - A typed instance of ContractV2. + * @param tAbi - The typed ABI interface for compile-time type checking + * @returns Typed contract instance with IntelliSense support + * @example + * ```typescript + * const typedContract = contract.typedv2(erc20Abi); + * // Now typedContract.transfer() has full type safety + * ``` */ public abstract typedv2(tAbi: TAbi): TypedContractV2; + + /** + * Set execution options for subsequent contract interactions + * + * @param options - Options to override for contract interactions + * @returns This contract instance with the specified options applied + * @example + * ```typescript + * contract.withOptions({ + * blockIdentifier: 'latest', + * parseResponse: false + * }); + * // Now all subsequent calls use these options + * ``` + */ + public abstract withOptions(options: WithOptions): ContractInterface; } diff --git a/src/contract/types/index.type.ts b/src/contract/types/index.type.ts new file mode 100644 index 000000000..cbf7e41b5 --- /dev/null +++ b/src/contract/types/index.type.ts @@ -0,0 +1,180 @@ +import type { BlockHash, TransactionHash } from '../../types/api'; +import type { CairoEnum } from '../../types/cairoEnum'; +import type { + Abi, + BigNumberish, + BlockNumber, + Calldata, + DeclareAndDeployContractPayload, + ParsedStruct, + RawArgs, + RawArgsArray, + Signature, +} from '../../types/lib'; +import type { UniversalDetails } from '../../account/types/index.type'; +import type { ProviderInterface } from '../../provider'; +import type { AccountInterface } from '../../account/interface'; +import type { ParsingStrategy } from '../../utils/calldata/parser'; + +export type AsyncContractFunction = (...args: ArgsOrCalldataWithOptions) => Promise; +export type ContractFunction = (...args: ArgsOrCalldataWithOptions) => any; + +export type CallResult = + | { + [key: string]: any; + } + | CallResult[] + | bigint + | string + | boolean + | CairoEnum; + +// export type ArgsOrCalldata = RawArgsArray | [Calldata] | Calldata; +// export type ArgsOrCalldataWithOptions = ArgsOrCalldata & ContractOptions; + +// RawParamsOrCalldata as args +export type ArgsOrCalldata = + // params like (va,vb,vc,vd...) as args is [va,vb,vc,vd...] + // params like (x) where x = {a:va,b:vb,c:vc...} as args is [x] + // params like (x) where x = [va,vb,vc...] as args is [[x]] + | RawArgsArray // recursive definition cover all this cases + // [calldata] is [['0x','0x'...]] + | [Calldata] + // calldata is ['0x','0x'...] + | Calldata; + +// RawParamsOrCalldata where each can have an option +export type ArgsOrCalldataWithOptions = + // params like (va,vb,vc,vd..., option) as args is [va,vb,vc,vd..., option] + // params like (x, option) where x = {a:va,b:vb,c:vc...} as args is [x, option] + // params like (x, option) where x = [va,vb,vc...] as args is [[x], option] + // recursive definition cover all this cases + | [...RawArgsArray] + | [...RawArgsArray, ContractOptions] + // used when called compile that return array of calldata + // (calldata, options) as args is [['0x','0x'...], options] + | [Calldata] + | [Calldata, ContractOptions] + // used when separate params compilations + // (c,a,l,l,d,a,t,a, options) as args is ['0x','0x'..., options] + | [...Calldata] + | [...Calldata, ContractOptions]; + +export type CommonContractOptions = { + /** + * compile and validate arguments + * @default true + */ + parseRequest?: boolean; + + /** + * Parse elements of the response array and structuring them into response object + * @default true + */ + parseResponse?: boolean; + + /** + * Custom parsing strategy for request/response processing + */ + parsingStrategy?: ParsingStrategy; +}; + +export type ContractOptions = { + abi: Abi; + address: string; + /** + * Connect account to read and write methods + * Connect provider to read methods + * @default defaultProvider + */ + providerOrAccount?: ProviderOrAccount; + + /** + * Class hash of the contract + */ + classHash?: string; +} & CommonContractOptions; + +export type ExecuteOptions = Pick & { + /** + * Used when invoking with only provider + */ + signature?: Signature; + /** + * Deployer contract salt + */ + salt?: string; + /** + * Wait for transaction to be included in a block + * @default false + */ + waitForTransaction?: boolean; +} & Partial; + +export type CallOptions = CommonContractOptions & { + formatResponse?: FormatResponse; +} & Pick; + +export type WithOptions = ExecuteOptions & CallOptions; + +export type ParsedEvent = { [name: string]: ParsedStruct } & { + block_hash?: BlockHash; + block_number?: BlockNumber; + transaction_hash?: TransactionHash; +}; + +export type ParsedEvents = Array & { + getByPath?(path: string): ParsedStruct | null; +}; + +// TODO: This should be in formatResponse type +/** + * Advance formatting used to get js types data as result + * @description https://starknetjs.com/docs/guides/define_call_message/#formatresponse + * @example + * ```typescript + * // assign custom or existing method to resulting data + * formatResponse: { balance: uint256ToBN }, + * ``` + * @example + * ```typescript + * // define resulting data js types + * const formatAnswer = { id: 'number', description: 'string' }; + * ``` + */ +export type FormatResponse = { [key: string]: any }; + +export type ProviderOrAccount = ProviderInterface | AccountInterface; + +/** + * Type guard to narrow ProviderOrAccount to AccountInterface + * @param providerOrAccount - The object to check + * @returns true if the object is an AccountInterface + */ +export function isAccount( + providerOrAccount: ProviderOrAccount +): providerOrAccount is AccountInterface { + return 'execute' in providerOrAccount; +} + +type FactoryParamsBase = { + account: AccountInterface; + /** + * Parse arguments to calldata. + * optimization when calldata are already validated and compiled. + * @default true + */ + parseRequest?: boolean; +}; + +type DeclareAndDeployParams = FactoryParamsBase & DeclareAndDeployContractPayload; + +type DeployOnlyParams = FactoryParamsBase & { + classHash: BigNumberish; + salt?: string; + unique?: boolean; + constructorCalldata?: RawArgs; + abi?: Abi; +}; + +export type FactoryParams = (DeclareAndDeployParams | DeployOnlyParams) & CommonContractOptions; diff --git a/src/deployer/default.ts b/src/deployer/default.ts new file mode 100644 index 000000000..a277e0f64 --- /dev/null +++ b/src/deployer/default.ts @@ -0,0 +1,106 @@ +import { UDC } from '../global/constants'; +import { + ValidateType, + type BigNumberish, + type DeployContractUDCResponse, + type InvokeTransactionReceiptResponse, + type UniversalDeployerContractPayload, +} from '../types'; +import { CallData } from '../utils/calldata'; +import { starkCurve } from '../utils/ec'; +import { calculateContractAddressFromHash } from '../utils/hash'; +import { toCairoBool, toHex } from '../utils/num'; +import { randomAddress } from '../utils/stark'; +import { getCompiledCalldata } from '../utils/transaction/getCompiledCalldata'; +import type { DeployerInterface } from './interface'; +import type { DeployerCall } from './types/index.type'; + +export class Deployer implements DeployerInterface { + public readonly address: BigNumberish; + + public readonly entryPoint: string; + + constructor(address?: BigNumberish, entryPoint?: string) { + this.address = address ?? UDC.ADDRESS; + this.entryPoint = entryPoint ?? UDC.ENTRYPOINT; + } + + public buildDeployerCall( + payload: UniversalDeployerContractPayload | UniversalDeployerContractPayload[], + address: string + ): DeployerCall { + const params = [].concat(payload as []).map((it) => { + const { + classHash, + salt, + unique = true, // not_from_zero on v.2.0.0 but same function. When false v.1 address != v.2 address + constructorCalldata = [], + abi, + } = it as UniversalDeployerContractPayload; + + const compiledConstructorCallData = getCompiledCalldata(constructorCalldata, () => { + // compile with abi + if (abi) { + const calldataClass = new CallData(abi); + // Convert object based raw js arguments to ...args array + const rawArgs = Object.values(constructorCalldata); + calldataClass.validate(ValidateType.DEPLOY, 'constructor', rawArgs); + return calldataClass.compile('constructor', rawArgs); + } + // compile without abi + return CallData.compile(constructorCalldata); + }); + + const deploySalt = salt ?? randomAddress(); + + return { + call: { + contractAddress: toHex(this.address), + entrypoint: this.entryPoint, + calldata: [ + classHash, + deploySalt, + toCairoBool(unique), + compiledConstructorCallData.length, + ...compiledConstructorCallData, + ], + }, + address: calculateContractAddressFromHash( + unique ? starkCurve.pedersen(address, deploySalt) : deploySalt, + classHash, + compiledConstructorCallData, + unique ? this.address : 0 + ), + }; + }); + + return { + calls: params.map((it) => it.call), + addresses: params.map((it) => it.address), + }; + } + + public parseDeployerEvent( + txReceipt: InvokeTransactionReceiptResponse + ): DeployContractUDCResponse { + if (!txReceipt.events?.length) { + throw new Error('Deployer emitted event is empty'); + } + const event = txReceipt.events.find( + (it: any) => toHex(it.from_address) === toHex(this.address) + ) || { + data: [], + }; + return { + transaction_hash: txReceipt.transaction_hash, + contract_address: event.data[0], + address: event.data[0], + deployer: event.data[1], + unique: event.data[2], + classHash: event.data[3], + calldata_len: event.data[4], + calldata: event.data.slice(5, 5 + parseInt(event.data[4], 16)), + salt: event.data[event.data.length - 1], + }; + } +} diff --git a/src/deployer/index.ts b/src/deployer/index.ts new file mode 100644 index 000000000..c1fb24db8 --- /dev/null +++ b/src/deployer/index.ts @@ -0,0 +1,7 @@ +import { LegacyUDC, UDC } from '../global/constants'; +import { Deployer } from './default'; + +export * from './default'; +export * from './interface'; +export const defaultDeployer = new Deployer(UDC.ADDRESS, UDC.ENTRYPOINT); +export const legacyDeployer = new Deployer(LegacyUDC.ADDRESS, LegacyUDC.ENTRYPOINT); diff --git a/src/deployer/interface.ts b/src/deployer/interface.ts new file mode 100644 index 000000000..007347a0a --- /dev/null +++ b/src/deployer/interface.ts @@ -0,0 +1,38 @@ +import type { + BigNumberish, + DeployContractUDCResponse, + InvokeTransactionReceiptResponse, + UniversalDeployerContractPayload, +} from '../types/index'; +import type { DeployerCall } from './types/index.type'; + +export abstract class DeployerInterface { + /** address of the deployer contract */ + abstract readonly address: BigNumberish; + + /** ascii name of the function that deploy a contract */ + abstract readonly entryPoint: string; + + /** + * Build a Deployer Call with payload and address + * @param {UniversalDeployerContractPayload | UniversalDeployerContractPayload[]} payload the payload data for the deployer Call. Can be a single payload object or an array of payload objects. + * @param {string} address the address to be used in the deployer Call + * @returns {DeployerCall} an object with Calls & addresses + */ + public abstract buildDeployerCall( + payload: UniversalDeployerContractPayload | UniversalDeployerContractPayload[], + address: string + ): DeployerCall; + + /** + * Parse Transaction Receipt Event from a Deployer contract transaction and + * create DeployContractResponse compatible response with addition of the Deployer Event data + * @param {InvokeTransactionReceiptResponse} txReceipt Transaction receipt + * @param {DeployerDefinition} deployer Deployer contract definition + * + * @returns {DeployContractUDCResponse} parsed Deployer event data + */ + public abstract parseDeployerEvent( + txReceipt: InvokeTransactionReceiptResponse + ): DeployContractUDCResponse; +} diff --git a/src/deployer/types/index.type.ts b/src/deployer/types/index.type.ts new file mode 100644 index 000000000..ca6b439f8 --- /dev/null +++ b/src/deployer/types/index.type.ts @@ -0,0 +1,23 @@ +import type { Call } from '../../types'; + +/** + * Interface for Deployer contract payload + */ +export type DeployerCall = { + /** an array of Call */ + calls: Call[]; + /** an array of addresses made of hex string */ + addresses: string[]; +}; + +export type DeployContractUDCResponse = { + contract_address: string; + transaction_hash: string; + address: string; + deployer: string; + unique: string; + classHash: string; + calldata_len: string; + calldata: Array; + salt: string; +}; diff --git a/src/global/constants.ts b/src/global/constants.ts index f11f6f01c..9392c3089 100644 --- a/src/global/constants.ts +++ b/src/global/constants.ts @@ -1,8 +1,9 @@ /* eslint-disable no-underscore-dangle */ -import type { FeeMarginPercentage } from '../types'; -import { ETransactionVersion, RPCSPEC08 } from '../types/api'; +import type { ResourceBoundsOverhead } from '../types'; +import { ETransactionVersion } from '../types/api'; import { ValuesType } from '../types/helpers/valuesType'; import type { LogLevel } from './logger.type'; +import type { TipType } from '../provider/modules/tip'; export { IS_BROWSER } from '../utils/encode'; @@ -10,14 +11,6 @@ export { IS_BROWSER } from '../utils/encode'; * Cairo Felt support storing max 31 character */ export const TEXT_TO_FELT_MAX_LEN = 31; - -/** - * Alternatively use directly from api specification - * types.RPC.ETransactionVersion - * For BN do BigInt(TRANSACTION_VERSION.*) - */ -export const { ETransactionVersion: TRANSACTION_VERSION } = RPCSPEC08; - export const ZERO = 0n; export const MASK_250 = 2n ** 250n - 1n; // 2 ** 250 - 1 export const MASK_31 = 2n ** 31n - 1n; // 2 ** 31 - 1 @@ -31,14 +24,32 @@ export const ADDR_BOUND = 2n ** 251n - MAX_STORAGE_ITEM_SIZE; const range = (min: bigint, max: bigint) => ({ min, max }) as const; export const RANGE_FELT = range(ZERO, PRIME - 1n); -export const RANGE_I128 = range(-(2n ** 127n), 2n ** 127n - 1n); + +// Unsigned integer ranges +export const RANGE_U8 = range(ZERO, 2n ** 8n - 1n); +export const RANGE_U16 = range(ZERO, 2n ** 16n - 1n); +export const RANGE_U32 = range(ZERO, 2n ** 32n - 1n); +export const RANGE_U64 = range(ZERO, 2n ** 64n - 1n); +export const RANGE_U96 = range(ZERO, 2n ** 96n - 1n); export const RANGE_U128 = range(ZERO, 2n ** 128n - 1n); -export const UDC = { +// Signed integer ranges +export const RANGE_I8 = range(-(2n ** 7n), 2n ** 7n - 1n); +export const RANGE_I16 = range(-(2n ** 15n), 2n ** 15n - 1n); +export const RANGE_I32 = range(-(2n ** 31n), 2n ** 31n - 1n); +export const RANGE_I64 = range(-(2n ** 63n), 2n ** 63n - 1n); +export const RANGE_I128 = range(-(2n ** 127n), 2n ** 127n - 1n); + +export const LegacyUDC = { ADDRESS: '0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf', ENTRYPOINT: 'deployContract', } as const; +export const UDC = { + ADDRESS: '0x02ceed65a4bd731034c01113685c831b01c15d7d432f71afb1cf1634b53a2125', + ENTRYPOINT: 'deploy_contract', +} as const; + export const OutsideExecutionCallerAny = '0x414e595f43414c4c4552'; // encodeShortString('ANY_CALLER') export const SNIP9_V1_INTERFACE_ID = '0x68cfd18b92d1907b8ba3cc324900277f5a3622099431ea85dd8089255e4181'; @@ -88,51 +99,62 @@ export { _TransactionHashPrefix as TransactionHashPrefix }; * dot format rpc versions */ const _SupportedRpcVersion = { - '0.7.1': '0.7.1', '0.8.1': '0.8.1', - v0_7_1: '0.7.1', + '0.9.0': '0.9.0', v0_8_1: '0.8.1', + v0_9_0: '0.9.0', } as const; type _SupportedRpcVersion = ValuesType; export { _SupportedRpcVersion as SupportedRpcVersion }; -export type SupportedTransactionVersion = - | typeof ETransactionVersion.V2 - | typeof ETransactionVersion.V3; +export type SupportedTransactionVersion = typeof ETransactionVersion.V3; +export type SupportedCairoVersion = '1'; // Default initial global config export const DEFAULT_GLOBAL_CONFIG: { - legacyMode: boolean; logLevel: LogLevel; rpcVersion: _SupportedRpcVersion; transactionVersion: SupportedTransactionVersion; - feeMarginPercentage: FeeMarginPercentage; + resourceBoundsOverhead: ResourceBoundsOverhead; + defaultTipType: TipType; fetch: any; websocket: any; + buffer: any; + /** + * Custom blake function + * @param uint8Array - The uint8Array to hash + * @returns The hash of the uint8Array + * @example + * ```typescript + * config.set('blake', (uint8Array: Uint8Array) => { + * return blake2s(uint8Array, { dkLen: 32 }); + * }); + * ``` + */ + blake: ((uint8Array: Uint8Array) => Uint8Array) | undefined; } = { - legacyMode: false, - rpcVersion: '0.8.1', - transactionVersion: ETransactionVersion.V3, + rpcVersion: '0.9.0', + transactionVersion: ETransactionVersion.V3, // Starknet 0.14.0 only V3 transactions logLevel: 'INFO', - feeMarginPercentage: { - bounds: { - l1_gas: { - max_amount: 50, - max_price_per_unit: 50, - }, - l1_data_gas: { - max_amount: 50, - max_price_per_unit: 50, - }, - l2_gas: { - max_amount: 50, - max_price_per_unit: 50, - }, + resourceBoundsOverhead: { + l1_gas: { + max_amount: 50, + max_price_per_unit: 50, + }, + l1_data_gas: { + max_amount: 50, + max_price_per_unit: 50, + }, + l2_gas: { + max_amount: 50, + max_price_per_unit: 50, }, - maxFee: 50, }, + defaultTipType: 'recommendedTip', fetch: undefined, websocket: undefined, + buffer: undefined, + blake: undefined, }; export const RPC_DEFAULT_NODES = { @@ -149,11 +171,17 @@ export const PAYMASTER_RPC_NODES = { export const SYSTEM_MESSAGES = { legacyTxWarningMessage: 'You are using a deprecated transaction version (V0,V1,V2)!\nUpdate to the latest V3 transactions!', - legacyTxRPC08Message: 'RPC 0.8 do not support legacy transactions', - SWOldV3: 'RPC 0.7 V3 tx (improper resource bounds) not supported in RPC 0.8', + legacyTxRPC08Message: + 'RPC 0.8+ do not support legacy transactions, use RPC 0.8+ v3 transactions!', + SWOldV3: 'RPC 0.7 V3 tx (improper resource bounds) not supported in RPC 0.8+', channelVersionMismatch: 'Channel specification version is not compatible with the connected node Specification Version', unsupportedSpecVersion: 'The connected node specification version is not supported by this library', maxFeeInV3: 'maxFee is not supported in V3 transactions, use resourceBounds instead', + declareNonSierra: 'Declaring non Sierra (Cairo0)contract using RPC 0.8+', + unsupportedMethodForRpcVersion: 'Unsupported method for RPC version', + txEvictedFromMempool: 'Transaction TTL, evicted from the mempool, try to increase the tip', + consensusFailed: 'Consensus failed to finalize the block proposal', + txFailsBlockBuildingValidation: 'Transaction fails block building validation', }; diff --git a/src/index.ts b/src/index.ts index fe7f3d4ca..4d71e3a96 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,17 +1,15 @@ /** - * Main + * Main Classes */ export * from './wallet'; export * from './account'; +export * from './deployer'; export * from './contract'; export * from './paymaster'; export * from './provider'; export * from './signer'; export * from './channel'; - -// TODO: decide on final export style export * from './types'; -export * as types from './types'; /** * Utils @@ -41,9 +39,7 @@ export * as src5 from './utils/src5'; export * from './utils/resolve'; export * from './utils/batch'; export * from './utils/responseParser'; -export * from './utils/cairoDataTypes/uint256'; -export * from './utils/cairoDataTypes/uint512'; -export * from './utils/cairoDataTypes/fixedArray'; +export * from './utils/cairoDataTypes'; export * from './utils/address'; export * from './utils/calldata'; export * from './utils/calldata/enum'; diff --git a/src/types/paymaster/configuration.ts b/src/paymaster/types/configuration.type.ts similarity index 79% rename from src/types/paymaster/configuration.ts rename to src/paymaster/types/configuration.type.ts index aedec24fc..e1bc5d398 100644 --- a/src/types/paymaster/configuration.ts +++ b/src/paymaster/types/configuration.type.ts @@ -1,4 +1,4 @@ -import { NetworkName } from '../../global/constants'; +import type { NetworkName } from '../../global/constants'; export interface PaymasterOptions extends PaymasterRpcOptions {} diff --git a/src/paymaster/types/index.type.ts b/src/paymaster/types/index.type.ts new file mode 100644 index 000000000..fd2b9bab6 --- /dev/null +++ b/src/paymaster/types/index.type.ts @@ -0,0 +1,2 @@ +export * from './configuration.type'; +export * from './response.type'; diff --git a/src/types/paymaster/response.ts b/src/paymaster/types/response.type.ts similarity index 95% rename from src/types/paymaster/response.ts rename to src/paymaster/types/response.type.ts index 9d0dd5484..3816af4d0 100644 --- a/src/types/paymaster/response.ts +++ b/src/paymaster/types/response.type.ts @@ -3,8 +3,8 @@ * Intersection (sequencer response ∩ (∪ rpc responses)) */ -import { BigNumberish, Call } from '../lib'; -import { OutsideExecutionTypedData, PAYMASTER_API } from '../api'; +import type { BigNumberish, Call } from '../../types/lib'; +import type { OutsideExecutionTypedData, PAYMASTER_API } from '../../types/api'; export type PaymasterFeeEstimate = { gas_token_price_in_strk: BigNumberish; diff --git a/src/provider/extensions/brotherId.ts b/src/provider/extensions/brotherId.ts new file mode 100644 index 000000000..cb91c6ffc --- /dev/null +++ b/src/provider/extensions/brotherId.ts @@ -0,0 +1,273 @@ +import { BigNumberish } from '../../types'; +import { CallData } from '../../utils/calldata'; +import type { ProviderInterface } from '..'; +import { StarknetChainId } from '../../global/constants'; +import { useEncoded, useDecoded } from '../../utils/starknetId'; + +/** + * Validates if a domain is a valid .brother domain + * @param domain - Domain name to validate + * @returns true if the domain is valid + */ +export function isBrotherDomain(domain: string): boolean { + return domain.endsWith('.brother'); +} + +/** + * Encodes a Brother domain name into a bigint value. + * This uses the same encoding logic as Starknet ID. + * @param domain - The domain name (with or without .brother suffix) + * @returns encoded bigint value + * @example + * ```typescript + * const encoded1 = encodeBrotherDomain("myname.brother"); + * const encoded2 = encodeBrotherDomain("myname"); + * // Both return the same bigint value + * ``` + */ +export function encodeBrotherDomain(domain: string): bigint { + const brotherName = domain.endsWith('.brother') ? domain.replace('.brother', '') : domain; + return useEncoded(brotherName); +} + +/** + * Decodes a bigint value into a Brother domain name. + * This uses the same decoding logic as Starknet ID but returns a .brother domain. + * @param encoded - The encoded bigint value + * @returns The decoded domain name with .brother suffix + * @example + * ```typescript + * const domain = decodeBrotherDomain(1234567890n); + * // Returns "example.brother" + * ``` + */ +export function decodeBrotherDomain(encoded: bigint): string { + const decoded = useDecoded([encoded]); + // Replace .stark with .brother + if (decoded.endsWith('.stark')) { + return decoded.replace('.stark', '.brother'); + } + // If no suffix, add .brother + return decoded ? `${decoded}.brother` : decoded; +} + +/** + * Get the Brother ID contract address for the specified network + * @param chainId - The Starknet chain ID + * @returns The Brother ID contract address for the network + */ +export function getBrotherIdContract(chainId: StarknetChainId): string { + switch (chainId) { + case StarknetChainId.SN_MAIN: + return '0x0212f1c57700f5a3913dd11efba540196aad4cf67772f7090c62709dd804fa74'; + default: + return '0x0212f1c57700f5a3913dd11efba540196aad4cf67772f7090c62709dd804fa74'; // Default to mainnet address + } +} + +/** + * Interface representing a Brother domain profile + * @property name - The domain name without .brother suffix + * @property resolver - The address that resolves to this domain + * @property tokenId - The unique identifier of the domain NFT + * @property expiryDate - Unix timestamp when the domain expires + * @property lastTransferTime - Unix timestamp of the last transfer + */ +export interface BrotherProfile { + name: string; + resolver: string; + tokenId: string; + expiryDate: number; + lastTransferTime: number; +} + +/** + * Class providing methods to interact with Brother Identity contracts. + * + * This implementation uses the same domain encoding and decoding logic as StarknetId, + * allowing for consistent handling of domain names between the two systems. + * The encoding/decoding functions (encodeBrotherDomain/decodeBrotherDomain) are direct + * adaptations of StarknetId's useEncoded/useDecoded functions to work with .brother domains. + */ +export class BrotherId { + /** + * Gets the primary Brother domain name for an address + * @param address - The address to get the domain for + * @param BrotherIdContract - Optional contract address + * @returns The domain name with .brother suffix + */ + async getBrotherName(address: BigNumberish, BrotherIdContract?: string) { + return BrotherId.getBrotherName( + // After Mixin, this is ProviderInterface + (this) as ProviderInterface, + address, + BrotherIdContract + ); + } + + /** + * Gets the address associated with a Brother domain name + * @param name - The domain name (with or without .brother suffix) + * @param BrotherIdContract - Optional contract address + * @returns The resolver address for the domain + */ + public async getAddressFromBrotherName( + name: string, + BrotherIdContract?: string + ): Promise { + return BrotherId.getAddressFromBrotherName( + // After Mixin, this is ProviderInterface + (this) as ProviderInterface, + name, + BrotherIdContract + ); + } + + /** + * Gets the complete profile information for a Brother domain + * @param address - The address to get the profile for + * @param BrotherIdContract - Optional contract address + * @returns The complete Brother profile information + */ + async getBrotherProfile(address: BigNumberish, BrotherIdContract?: string) { + return BrotherId.getBrotherProfile( + // After Mixin, this is ProviderInterface + (this) as ProviderInterface, + address, + BrotherIdContract + ); + } + + /** + * Static implementation of getBrotherName + * @param provider - The provider interface + * @param address - The address to get the domain for + * @param BrotherIdContract - Optional contract address + * @returns The domain name with .brother suffix + */ + static async getBrotherName( + provider: ProviderInterface, + address: BigNumberish, + BrotherIdContract?: string + ): Promise { + const chainId = await provider.getChainId(); + const contract = BrotherIdContract ?? getBrotherIdContract(chainId); + + try { + const primaryDomain = await provider.callContract({ + contractAddress: contract, + entrypoint: 'getPrimary', + calldata: CallData.compile({ + user: address, + }), + }); + + if (!primaryDomain[0] || primaryDomain[0] === '0x0') { + throw Error('Brother name not found'); + } + + const encodedDomain = BigInt(primaryDomain[0]); + return decodeBrotherDomain(encodedDomain); + } catch (e) { + if (e instanceof Error && e.message === 'Brother name not found') { + throw e; + } + throw Error('Could not get brother name'); + } + } + + /** + * Static implementation of getAddressFromBrotherName + * @param provider - The provider interface + * @param name - The domain name + * @param BrotherIdContract - Optional contract address + * @returns The resolver address + */ + static async getAddressFromBrotherName( + provider: ProviderInterface, + name: string, + BrotherIdContract?: string + ): Promise { + const brotherName = name.endsWith('.brother') ? name : `${name}.brother`; + + if (!isBrotherDomain(brotherName)) { + throw new Error('Invalid domain, must be a valid .brother domain'); + } + + const chainId = await provider.getChainId(); + const contract = BrotherIdContract ?? getBrotherIdContract(chainId); + + try { + const domainDetails = await provider.callContract({ + contractAddress: contract, + entrypoint: 'get_details_by_domain', + calldata: CallData.compile({ + domain: encodeBrotherDomain(brotherName), + }), + }); + + if (!domainDetails[0] || domainDetails[1] === '0x0') { + throw Error('Could not get address from brother name'); + } + + return domainDetails[1]; // resolver address + } catch { + throw Error('Could not get address from brother name'); + } + } + + /** + * Static implementation of getBrotherProfile + * @param provider - The provider interface + * @param address - The address to get the profile for + * @param BrotherIdContract - Optional contract address + * @returns The complete Brother profile + */ + static async getBrotherProfile( + provider: ProviderInterface, + address: BigNumberish, + BrotherIdContract?: string + ): Promise { + const chainId = await provider.getChainId(); + const contract = BrotherIdContract ?? getBrotherIdContract(chainId); + + try { + const primaryDomain = await provider.callContract({ + contractAddress: contract, + entrypoint: 'getPrimary', + calldata: CallData.compile({ + user: address, + }), + }); + + if (!primaryDomain[0] || primaryDomain[0] === '0x0') { + throw Error('Brother profile not found'); + } + + const encodedDomain = BigInt(primaryDomain[0]); + const decodedDomain = decodeBrotherDomain(encodedDomain); + const domain = decodedDomain.replace('.brother', ''); + + const domainDetails = await provider.callContract({ + contractAddress: contract, + entrypoint: 'get_details_by_domain', + calldata: CallData.compile({ + domain: encodeBrotherDomain(domain), + }), + }); + + return { + name: domain, + resolver: domainDetails[1], + tokenId: domainDetails[2], + expiryDate: parseInt(domainDetails[3], 16), + lastTransferTime: parseInt(domainDetails[4], 16), + }; + } catch (e) { + if (e instanceof Error && e.message === 'Brother profile not found') { + throw e; + } + throw Error('Could not get brother profile'); + } + } +} diff --git a/src/provider/extensions/default.ts b/src/provider/extensions/default.ts index 2b813ab80..83dad0d32 100644 --- a/src/provider/extensions/default.ts +++ b/src/provider/extensions/default.ts @@ -3,5 +3,6 @@ import { Mixin } from 'ts-mixer'; import { RpcProvider as BaseRpcProvider } from '../rpc'; import { StarknetId } from './starknetId'; +import { BrotherId } from './brotherId'; -export class RpcProvider extends Mixin(BaseRpcProvider, StarknetId) {} +export class RpcProvider extends Mixin(BaseRpcProvider, StarknetId, BrotherId) {} diff --git a/src/provider/index.ts b/src/provider/index.ts index c43c2b2ed..97065623c 100644 --- a/src/provider/index.ts +++ b/src/provider/index.ts @@ -4,5 +4,6 @@ export { RpcProvider as Provider } from './extensions/default'; // backward-comp export { LibraryError, RpcError } from '../utils/errors'; export * from './interface'; export * from './extensions/default'; +export * from './modules'; export const defaultProvider = new RpcProvider({ default: true }); diff --git a/src/provider/interface.ts b/src/provider/interface.ts index 9e56714d3..d1a15a8bf 100644 --- a/src/provider/interface.ts +++ b/src/provider/interface.ts @@ -1,4 +1,4 @@ -import { RPC08, RPC07 } from '../channel'; +import { RPC08, RPC09 } from '../channel'; import { StarknetChainId } from '../global/constants'; import type { AccountInvocations, @@ -14,8 +14,8 @@ import type { DeployAccountContractPayload, DeployAccountContractTransaction, DeployContractResponse, - EstimateFeeResponse, - EstimateFeeResponseBulk, + EstimateFeeResponseOverhead, + EstimateFeeResponseBulkOverhead, GetBlockResponse, GetTransactionReceiptResponse, GetTransactionResponse, @@ -24,17 +24,29 @@ import type { InvokeFunctionResponse, Nonce, PendingBlock, - SimulateTransactionResponse, + PreConfirmedStateUpdate, + StateUpdate, StateUpdateResponse, Storage, getContractVersionOptions, getEstimateFeeBulkOptions, getSimulateTransactionOptions, waitForTransactionOptions, + SimulateTransactionOverheadResponse, + RPC, + ContractClassIdentifier, + Invocations, + Signature, + TypedData, } from '../types'; +import { TipAnalysisOptions, TipEstimate } from './modules/tip'; +import { RPCSPEC08, RPCSPEC09 } from '../types/api'; +import { RPCResponseParser } from '../utils/responseParser/rpc'; export abstract class ProviderInterface { - public abstract channel: RPC07.RpcChannel | RPC08.RpcChannel; + public abstract channel: RPC08.RpcChannel | RPC09.RpcChannel; + + public abstract responseParser: RPCResponseParser; /** * Gets the Starknet chain Id @@ -61,7 +73,8 @@ export abstract class ProviderInterface { * @param blockIdentifier block identifier * @returns the block object */ - public abstract getBlock(blockIdentifier?: 'pending'): Promise; + public abstract getBlock(): Promise; + public abstract getBlock(blockIdentifier: 'pre_confirmed'): Promise; public abstract getBlock(blockIdentifier: 'latest'): Promise; public abstract getBlock(blockIdentifier: BlockIdentifier): Promise; @@ -73,7 +86,7 @@ export abstract class ProviderInterface { * @returns Contract class of compiled contract */ public abstract getClassAt( - contractAddress: string, + contractAddress: BigNumberish, blockIdentifier?: BlockIdentifier ): Promise; @@ -83,7 +96,7 @@ export abstract class ProviderInterface { * @param blockIdentifier block identifier * @returns gas price of the block */ - public abstract getL1GasPrice(blockIdentifier: BlockIdentifier): Promise; + public abstract getL1GasPrice(blockIdentifier?: BlockIdentifier): Promise; /** * Get L1 message hash from L2 transaction hash @@ -106,7 +119,7 @@ export abstract class ProviderInterface { * @returns Class hash */ public abstract getClassHashAt( - contractAddress: string, + contractAddress: BigNumberish, blockIdentifier?: BlockIdentifier ): Promise; @@ -116,7 +129,7 @@ export abstract class ProviderInterface { * @param classHash - class hash * @returns Contract class of compiled contract */ - public abstract getClassByHash(classHash: string): Promise; + public abstract getClassByHash(classHash: BigNumberish): Promise; /** * Returns the nonce associated with the given address in the given block @@ -125,7 +138,7 @@ export abstract class ProviderInterface { * @returns the hex nonce */ public abstract getNonceForAddress( - contractAddress: string, + contractAddress: BigNumberish, blockIdentifier?: BlockIdentifier ): Promise; @@ -138,7 +151,7 @@ export abstract class ProviderInterface { * @returns the value of the storage variable */ public abstract getStorageAt( - contractAddress: string, + contractAddress: BigNumberish, key: BigNumberish, blockIdentifier?: BlockIdentifier ): Promise; @@ -180,9 +193,9 @@ export abstract class ProviderInterface { * * @param invocation the invocation object containing: * - contractAddress - the address of the contract - * - entrypoint - the entrypoint of the contract - * - calldata - (defaults to []) the calldata - * - signature - (defaults to []) the signature + * - entrypoint - (optional) the entrypoint of the contract + * - calldata - (optional, defaults to []) the calldata + * - signature - (optional, defaults to []) the signature * @param details - optional details containing: * - nonce - optional nonce * - version - optional version @@ -216,22 +229,30 @@ export abstract class ProviderInterface { * * @param invocation the invocation object containing: * - contractAddress - the address of the contract - * - entrypoint - the entrypoint of the contract - * - calldata - (defaults to []) the calldata - * - signature - (defaults to []) the signature + * - entrypoint - (optional) the entrypoint of the contract + * - calldata - (optional, defaults to []) the calldata + * - signature - (optional, defaults to []) the signature * @param details - optional details containing: * - nonce - optional nonce * - version - optional version * @param blockIdentifier - (optional) block identifier * @param skipValidate - (optional) skip cairo __validate__ method * @returns the estimated fee + * @deprecated Consider using getEstimateFeeBulk for multiple transactions + * @example + * ```typescript + * const feeEstimate = await provider.getInvokeEstimateFee(invocation, details); + * // Equivalent to: + * const [feeEstimate] = await provider.getEstimateFeeBulk([{ type: ETransactionType.INVOKE, ...invocation, ...details }], options); + * ``` + * @alias getEstimateFeeBulk - This method is an alias that calls getEstimateFeeBulk with a single transaction */ public abstract getInvokeEstimateFee( invocation: Invocation, details: InvocationsDetailsWithNonce, blockIdentifier?: BlockIdentifier, skipValidate?: boolean - ): Promise; + ): Promise; /** * Estimates the fee for a given DECLARE transaction @@ -247,13 +268,21 @@ export abstract class ProviderInterface { * @param blockIdentifier - (optional) block identifier * @param skipValidate - (optional) skip cairo __validate__ method * @returns the estimated fee + * @deprecated Consider using getEstimateFeeBulk for multiple transactions + * @example + * ```typescript + * const feeEstimate = await provider.getDeclareEstimateFee(transaction, details); + * // Equivalent to: + * const [feeEstimate] = await provider.getEstimateFeeBulk([{ type: ETransactionType.DECLARE, ...transaction, ...details }], options); + * ``` + * @alias getEstimateFeeBulk - This method is an alias that calls getEstimateFeeBulk with a single transaction */ public abstract getDeclareEstimateFee( transaction: DeclareContractTransaction, details: InvocationsDetailsWithNonce, blockIdentifier?: BlockIdentifier, skipValidate?: boolean - ): Promise; + ): Promise; /** * Estimates the fee for a given DEPLOY_ACCOUNT transaction @@ -270,13 +299,21 @@ export abstract class ProviderInterface { * @param blockIdentifier - (optional) block identifier * @param skipValidate - (optional) skip cairo __validate__ method * @returns the estimated fee + * @deprecated Consider using getEstimateFeeBulk for multiple transactions + * @example + * ```typescript + * const feeEstimate = await provider.getDeployAccountEstimateFee(transaction, details); + * // Equivalent to: + * const [feeEstimate] = await provider.getEstimateFeeBulk([{ type: ETransactionType.DEPLOY_ACCOUNT, ...transaction, ...details }], options); + * ``` + * @alias getEstimateFeeBulk - This method is an alias that calls getEstimateFeeBulk with a single transaction */ public abstract getDeployAccountEstimateFee( transaction: DeployAccountContractTransaction, details: InvocationsDetailsWithNonce, blockIdentifier?: BlockIdentifier, skipValidate?: boolean - ): Promise; + ): Promise; /** * Estimates the fee for a list of INVOKE transaction @@ -289,7 +326,7 @@ export abstract class ProviderInterface { public abstract getEstimateFeeBulk( invocations: AccountInvocations, options?: getEstimateFeeBulkOptions - ): Promise; + ): Promise; /** * Wait for the transaction to be accepted @@ -317,7 +354,7 @@ export abstract class ProviderInterface { public abstract getSimulateTransaction( invocations: AccountInvocations, options?: getSimulateTransactionOptions - ): Promise; + ): Promise; /** * Gets the state changes in a specific block (result of executing the requested block) @@ -327,6 +364,22 @@ export abstract class ProviderInterface { */ public abstract getStateUpdate(blockIdentifier?: BlockIdentifier): Promise; + /** + * Gets the state changes in a specific block (result of executing the requested block) + * Alternative method name for getStateUpdate with specific overloads + * + * @param blockIdentifier - block identifier + * @returns StateUpdateResponse + */ + public abstract getBlockStateUpdate(): Promise; + public abstract getBlockStateUpdate( + blockIdentifier: 'pre_confirmed' + ): Promise; + public abstract getBlockStateUpdate(blockIdentifier: 'latest'): Promise; + public abstract getBlockStateUpdate( + blockIdentifier?: BlockIdentifier + ): Promise; + /** * Gets the contract version from the provided address * @param contractAddress string @@ -336,7 +389,7 @@ export abstract class ProviderInterface { * - (optional) blockIdentifier - block identifier */ public abstract getContractVersion( - contractAddress: string, + contractAddress: BigNumberish, classHash?: undefined, options?: getContractVersionOptions ): Promise; @@ -351,7 +404,271 @@ export abstract class ProviderInterface { */ public abstract getContractVersion( contractAddress: undefined, - classHash: string, + classHash: BigNumberish, options?: getContractVersionOptions ): Promise; + + // Block utility methods + /** + * Get the most recent accepted block hash and number + * @returns Object containing block hash and number + */ + public abstract getBlockLatestAccepted(): Promise<{ block_hash: string; block_number: number }>; + + /** + * Get the most recent accepted block number + * @returns Number of the latest block + */ + public abstract getBlockNumber(): Promise; + + /** + * Get block information with transaction hashes + * @param blockIdentifier - block identifier + * @returns Block with transaction hashes + */ + public abstract getBlockWithTxHashes(blockIdentifier?: BlockIdentifier): Promise; + + /** + * Get block information with full transactions + * @param blockIdentifier - block identifier + * @returns Block with full transactions + */ + public abstract getBlockWithTxs(blockIdentifier?: BlockIdentifier): Promise; + + /** + * Get block information with transaction receipts + * @param blockIdentifier - block identifier + * @returns Block with transaction receipts + */ + public abstract getBlockWithReceipts(blockIdentifier?: BlockIdentifier): Promise; + + /** + * Get transaction traces for all transactions in a block + * @param blockIdentifier - block identifier + * @returns Array of transaction traces + */ + public abstract getBlockTransactionsTraces(blockIdentifier?: BlockIdentifier): Promise; + + /** + * Get the number of transactions in a block + * @param blockIdentifier - block identifier + * @returns Transaction count + */ + public abstract getBlockTransactionCount(blockIdentifier?: BlockIdentifier): Promise; + + /** + * Pause execution until a specified block is created + * @param blockIdentifier - block number or tag + * @param retryInterval - milliseconds between requests (default: 5000) + * @example + * ```typescript + * await provider.waitForBlock(12345); + * await provider.waitForBlock('latest'); + * ``` + */ + public abstract waitForBlock( + blockIdentifier?: BlockIdentifier, + retryInterval?: number + ): Promise; + + // Transaction utility methods + /** + * Gets the transaction information from a tx hash (alias for getTransaction) + * @param txHash - transaction hash + * @returns Transaction information + */ + public abstract getTransactionByHash(txHash: BigNumberish): Promise; + + /** + * Gets transaction by block identifier and index + * @param blockIdentifier - block identifier + * @param index - transaction index in the block + * @returns Transaction information + */ + public abstract getTransactionByBlockIdAndIndex( + blockIdentifier: BlockIdentifier, + index: number + ): Promise; + + /** + * Gets the transaction trace + * @param txHash - transaction hash + * @returns Transaction trace + */ + public abstract getTransactionTrace( + txHash: BigNumberish + ): Promise; + + /** + * Get the status of a transaction + * @param transactionHash - transaction hash + * @returns Transaction status + */ + public abstract getTransactionStatus(transactionHash: BigNumberish): Promise; + + // Provider utility methods + /** + * Direct RPC method call + * @param method - RPC method name + * @param params - method parameters + * @param id - request ID + * @returns RPC response + */ + public abstract fetch(method: string, params?: object, id?: string | number): Promise; + + /** + * Read channel spec version + * @returns Spec version string or undefined if not set + */ + public abstract readSpecVersion(): string | undefined; + + /** + * Get channel spec version + * @returns Promise resolving to spec version + */ + public abstract getSpecVersion(): Promise; + + /** + * Setup channel spec version and return it + * @returns Promise resolving to spec version + */ + public abstract setUpSpecVersion(): Promise; + + // Advanced methods + /** + * Get contract class by hash with optional block identifier + * @param classHash - class hash + * @param blockIdentifier - block identifier + * @returns Contract class + */ + public abstract getClass( + classHash: BigNumberish, + blockIdentifier?: BlockIdentifier + ): Promise; + + /** + * Estimate the fee for a message from L1 + * @param message - L1 message + * @param blockIdentifier - block identifier + * @returns Fee estimate + */ + public abstract estimateMessageFee( + message: RPCSPEC09.L1Message, + blockIdentifier?: BlockIdentifier + ): Promise; + + /** + * Get node synchronization status + * @returns Sync status or false if not syncing + */ + public abstract getSyncingStats(): Promise; + + /** + * Get events matching the given filter + * @param eventFilter - event filter + * @returns Events and pagination info + */ + public abstract getEvents( + eventFilter: RPCSPEC08.EventFilter | RPCSPEC09.EventFilter + ): Promise; + + /** + * Verify in Starknet a signature of a TypedData object or of a given hash. + * @param {BigNumberish | TypedData} message TypedData object to be verified, or message hash to be verified. + * @param {Signature} signature signature of the message. + * @param {BigNumberish} accountAddress address of the account that has signed the message. + * @param {string} [signatureVerificationFunctionName] if account contract with non standard account verification function name. + * @param { okResponse: string[]; nokResponse: string[]; error: string[] } [signatureVerificationResponse] if account contract with non standard response of verification function. + * @returns + * ```typescript + * const myTypedMessage: TypedMessage = .... ; + * const messageHash = typedData.getMessageHash(myTypedMessage,accountAddress); + * const sign: WeierstrassSignatureType = ec.starkCurve.sign(messageHash, privateKey); + * const accountAddress = "0x43b7240d227aa2fb8434350b3321c40ac1b88c7067982549e7609870621b535"; + * const result1 = await myRpcProvider.verifyMessageInStarknet(myTypedMessage, sign, accountAddress); + * const result2 = await myRpcProvider.verifyMessageInStarknet(messageHash, sign, accountAddress); + * // result1 = result2 = true + * ``` + */ + public abstract verifyMessageInStarknet( + message: BigNumberish | TypedData, + signature: Signature, + accountAddress: BigNumberish, + signatureVerificationFunctionName?: string, + signatureVerificationResponse?: { + okResponse: string[]; + nokResponse: string[]; + error: string[]; + } + ): Promise; + + /** + * Test if class is already declared + * @param contractClassIdentifier - contract class identifier + * @param blockIdentifier - block identifier + * @returns true if class is declared + */ + public abstract isClassDeclared( + contractClassIdentifier: ContractClassIdentifier, + blockIdentifier?: BlockIdentifier + ): Promise; + + /** + * Build bulk invocations with auto-detect declared class + * @param invocations - array of invocations + * @returns Prepared invocations + */ + public abstract prepareInvocations(invocations: Invocations): Promise; + + /** + * Get L1 messages status for a transaction + * @param transactionHash - L1 transaction hash + * @returns L1 message status + */ + public abstract getL1MessagesStatus( + transactionHash: BigNumberish + ): Promise; + + /** + * Get Merkle paths in state tries + * @param classHashes - class hashes + * @param contractAddresses - contract addresses + * @param contractsStorageKeys - storage keys + * @param blockIdentifier - block identifier + * @returns Storage proof + */ + public abstract getStorageProof( + classHashes: BigNumberish[], + contractAddresses: BigNumberish[], + contractsStorageKeys: RPC.CONTRACT_STORAGE_KEYS[], + blockIdentifier?: BlockIdentifier + ): Promise; + + /** + * Get compiled CASM contract class + * @param classHash - class hash + * @returns Compiled CASM contract class + */ + public abstract getCompiledCasm( + classHash: BigNumberish + ): Promise; + + /** + * Get transaction tip estimation based on network analysis + * @param blockIdentifier - block identifier to analyze from + * @param options - tip analysis options + * @returns Tip estimation with statistics + * @example + * ```typescript + * const tipEstimate = await provider.getEstimateTip('latest', { + * maxBlocks: 10, + * minTxsNecessary: 5 + * }); + * console.log('Recommended tip:', tipEstimate.recommendedTip); + * ``` + */ + public abstract getEstimateTip( + blockIdentifier?: BlockIdentifier, + options?: TipAnalysisOptions + ): Promise; } diff --git a/src/provider/modules/getGasPrices.ts b/src/provider/modules/getGasPrices.ts new file mode 100644 index 000000000..20c611f3a --- /dev/null +++ b/src/provider/modules/getGasPrices.ts @@ -0,0 +1,14 @@ +import type { RpcChannel } from '../../channel'; +import type { BlockIdentifier, BlockWithTxHashes, GasPrices } from '../../types'; + +export async function getGasPrices( + channel: RpcChannel, + blockIdentifier: BlockIdentifier = channel.blockIdentifier +): Promise { + const bl = (await channel.getBlockWithTxHashes(blockIdentifier)) as BlockWithTxHashes; + return { + l1DataGasPrice: BigInt(bl.l1_data_gas_price.price_in_fri), + l1GasPrice: BigInt(bl.l1_gas_price.price_in_fri), + l2GasPrice: BigInt(bl.l2_gas_price.price_in_fri), + } as GasPrices; +} diff --git a/src/provider/modules/index.ts b/src/provider/modules/index.ts new file mode 100644 index 000000000..be1bf3d02 --- /dev/null +++ b/src/provider/modules/index.ts @@ -0,0 +1,3 @@ +export * from './tip'; +export * from './verifyMessageInStarknet'; +export * from './getGasPrices'; diff --git a/src/provider/modules/tip.ts b/src/provider/modules/tip.ts new file mode 100644 index 000000000..fb6dd4d3f --- /dev/null +++ b/src/provider/modules/tip.ts @@ -0,0 +1,501 @@ +import { RANGE_FELT } from '../../global/constants'; +import { logger } from '../../global/logger'; +import type { ProviderInterface } from '..'; +import { BlockTag, type BlockIdentifier, type RPC } from '../../types'; +import type { BlockWithTxs } from '../../types/api'; +import assert from '../../utils/assert'; +import { LibraryError } from '../../utils/errors'; +import { isNumber, isString } from '../../utils/typed'; + +/** + * Result of provider.getTipStatsFromBlocks(). + * @param {bigint} minTip - minimum tip encountered in the analyzed blocks. + * @param {bigint} maxTip - maximum tip encountered in the analyzed blocks. + * @param {bigint} averageTip - average tip encountered in the analyzed blocks. + * @param {bigint} medianTip - median (middle value) tip encountered in the analyzed blocks. + * @param {bigint} modeTip - mode (most frequent) tip encountered in the analyzed blocks. + * @param {bigint} recommendedTip - suggested tip amount (median tip) for optimal inclusion probability. + * @param {bigint} p90Tip - 90th percentile tip (90% of tips are below this value). + * @param {bigint} p95Tip - 95th percentile tip (95% of tips are below this value). + * @param {object} metrics - Optional performance metrics for the analysis. + */ +export type TipEstimate = { + minTip: bigint; + maxTip: bigint; + averageTip: bigint; + medianTip: bigint; + modeTip: bigint; + recommendedTip: bigint; + p90Tip: bigint; + p95Tip: bigint; + metrics?: { + blocksAnalyzed: number; + transactionsTipsFound: bigint[]; + }; +}; + +export type TipType = Exclude; + +/** + * Options for customizing tip analysis behavior. + */ +export type TipAnalysisOptions = { + /** + * Maximum number of blocks to analyze going backwards from the starting block. + * @default 3 + */ + maxBlocks?: number; + /** + * Minimum number of transactions required to generate reliable statistics. + * @default 10 + */ + minTxsNecessary?: number; + /** + * Whether to include transactions with zero tips in the analysis. + * @default true + */ + includeZeroTips?: boolean; +}; + +/** + * Type guard to check if a transaction is a V3 transaction with a tip. + * Includes INVOKE, DECLARE, and DEPLOY_ACCOUNT transaction types. + */ +function isV3TransactionWithTip(tx: RPC.TXN_WITH_HASH): tx is RPC.TXN_WITH_HASH & { tip: string } { + return ( + tx.version === '0x3' && + 'tip' in tx && + isString(tx.tip) && + (tx.type === 'INVOKE' || tx.type === 'DECLARE' || tx.type === 'DEPLOY_ACCOUNT') + ); +} + +/** + * Determines if the provider has batching enabled by checking for batchClient. + * @param provider RPC provider to check + * @returns true if batching is enabled, false otherwise + */ +function isBatchingEnabled(provider: ProviderInterface): boolean { + // Type assertion needed because batchClient is a private property in RPC channel classes + // This checks if the channel has a batchClient property to determine if batching is enabled + const channel = provider.channel as unknown as { batchClient?: unknown }; + return !!channel.batchClient; +} + +/** + * Extracts tip values from V3 transactions in a block. + * @param blockData Block data containing transactions + * @param includeZeroTips Whether to include transactions with zero tips + * @returns Array of tip values as bigints + */ +function extractTipsFromBlock(blockData: BlockWithTxs, includeZeroTips: boolean = true): bigint[] { + return blockData.transactions + .filter(isV3TransactionWithTip) + .map((tx) => BigInt(tx.tip)) + .filter((tip) => includeZeroTips || tip > 0n); +} + +/** + * Creates a TipEstimate object with all zero values for insufficient data cases. + * @param blocksAnalyzed Number of blocks that were analyzed + * @param transactionsTipsFound Array of transaction tips found + * @returns TipEstimate object with all zero values + */ +function createZeroTipEstimate( + blocksAnalyzed: number, + transactionsTipsFound: bigint[] +): TipEstimate { + return { + minTip: 0n, + maxTip: 0n, + averageTip: 0n, + medianTip: 0n, + modeTip: 0n, + recommendedTip: 0n, + p90Tip: 0n, + p95Tip: 0n, + metrics: { + blocksAnalyzed, + transactionsTipsFound, + }, + }; +} + +/** + * Calculates a specific percentile from a sorted array. + * @param sortedArray Sorted array of values + * @param percentile Percentile to calculate (0-100) + * @returns The percentile value + */ +function calculatePercentile(sortedArray: bigint[], percentile: number): bigint { + const index = (percentile / 100) * (sortedArray.length - 1); + const lower = Math.floor(index); + const upper = Math.ceil(index); + + if (lower === upper) { + return sortedArray[lower]; + } + + // Interpolate between the two values + const weight = index - lower; + const lowerValue = sortedArray[lower]; + const upperValue = sortedArray[upper]; + + // For bigint interpolation, we need to handle the fractional part carefully + const diff = upperValue - lowerValue; + const weightedDiff = (diff * BigInt(Math.round(weight * 1000))) / 1000n; + + return lowerValue + weightedDiff; +} + +/** + * Calculates tip statistics from collected tip values. + * @param tips Array of tip values + * @returns TipEstimate object with min, max, average, median, mode, percentiles, and recommended tip + */ +function calculateTipStats(tips: bigint[]): TipEstimate { + assert(tips.length > 0, 'Cannot calculate statistics from empty tip array'); + + const minTip = tips.reduce((min, tip) => (tip < min ? tip : min), RANGE_FELT.max); + const maxTip = tips.reduce((max, tip) => (tip > max ? tip : max), 0n); + const sumTip = tips.reduce((sum, tip) => sum + tip, 0n); + const averageTip = sumTip / BigInt(tips.length); + + // Calculate median tip (middle value when sorted) + const sortedTips = [...tips].sort((a, b) => { + if (a < b) return -1; + if (a > b) return 1; + return 0; + }); + const midIndex = Math.floor(sortedTips.length / 2); + let medianTip: bigint; + if (sortedTips.length % 2 === 0) { + medianTip = (sortedTips[midIndex - 1] + sortedTips[midIndex]) / 2n; + } else { + medianTip = sortedTips[midIndex]; + } + + // Calculate mode tip (most frequently occurring value) + const tipCounts = new Map(); + tips.forEach((tip) => { + tipCounts.set(tip, (tipCounts.get(tip) || 0) + 1); + }); + + const { modeTip } = Array.from(tipCounts.entries()).reduce( + (acc, [tip, count]) => { + if (count > acc.maxCount || (count === acc.maxCount && tip < acc.modeTip)) { + return { maxCount: count, modeTip: tip }; + } + return acc; + }, + { maxCount: 0, modeTip: 0n } + ); + + // Calculate percentiles + const p90Tip = calculatePercentile(sortedTips, 90); + const p95Tip = calculatePercentile(sortedTips, 95); + + // Use median tip directly as recommended tip + const recommendedTip = medianTip; + + return { minTip, maxTip, averageTip, medianTip, modeTip, recommendedTip, p90Tip, p95Tip }; +} + +/** + * Determines the starting block number for analysis. + * @param provider RPC provider for blockchain communication + * @param blockIdentifier Block identifier to start from + * @returns Block number to start analysis from + */ +async function getStartingBlockNumber( + provider: ProviderInterface, + blockIdentifier: BlockIdentifier +): Promise { + try { + const blockData = (await provider.getBlockWithTxs(blockIdentifier)) as BlockWithTxs; + + if (isNumber(blockData.block_number)) { + return blockData.block_number; + } + + // If block_number is undefined, fall back to latest accepted block number + const latestBlock = await provider.getBlockLatestAccepted(); + return latestBlock.block_number; + } catch (error) { + throw new LibraryError( + `Failed to determine starting block number: ${error instanceof Error ? error.message : 'Unknown error'}` + ); + } +} + +/** + * Fetches block data with error handling. + * @param provider RPC provider for blockchain communication + * @param blockNumber Block number to fetch + * @returns Block data or null if failed + */ +async function fetchBlockSafely( + provider: ProviderInterface, + blockNumber: number +): Promise { + try { + return (await provider.getBlockWithTxs(blockNumber)) as BlockWithTxs; + } catch (error) { + logger.warn(`Failed to fetch block ${blockNumber}:`, error); + return null; + } +} + +/** + * Generates an array of block numbers to analyze. + * @param startingBlockNumber Starting block number + * @param maxBlocks Maximum number of blocks to analyze + * @returns Array of block numbers in descending order + */ +function generateBlockNumbers(startingBlockNumber: number, maxBlocks: number): number[] { + const oldestBlockNumber = Math.max(0, startingBlockNumber - maxBlocks + 1); + const blockCount = startingBlockNumber - oldestBlockNumber + 1; + + return Array.from({ length: blockCount }, (_, index) => startingBlockNumber - index); +} + +/** + * Fetches multiple blocks in parallel (uses batching if provider supports it). + * @param provider RPC provider for blockchain communication + * @param blockNumbers Array of block numbers to fetch + * @returns Array of BlockWithTxs data (nulls for failed fetches) + */ +async function fetchBlocksInParallel( + provider: ProviderInterface, + blockNumbers: number[] +): Promise<(BlockWithTxs | null)[]> { + const fetchPromises = blockNumbers.map(async (blockNumber) => { + try { + return (await provider.getBlockWithTxs(blockNumber)) as BlockWithTxs; + } catch (error) { + logger.warn(`Failed to fetch block ${blockNumber} in parallel:`, error); + return null; + } + }); + + return Promise.all(fetchPromises); +} + +/** + * Analyzes tip statistics from recent blocks using parallel requests. + * This version fetches all blocks simultaneously, which is more efficient + * when using a provider with batching enabled. + * + * @param provider RPC provider for blockchain communication + * @param blockIdentifier Starting block for analysis + * @param options Configuration options for the analysis + * @returns Promise resolving to TipEstimate object (returns zero values if insufficient data) + */ +async function getTipStatsParallel( + provider: ProviderInterface, + blockIdentifier: BlockIdentifier, + options: TipAnalysisOptions +): Promise { + const { maxBlocks = 3, minTxsNecessary = 10, includeZeroTips = true } = options; + + try { + // Determine the starting block number + const startingBlockNumber = await getStartingBlockNumber(provider, blockIdentifier); + const blockNumbers = generateBlockNumbers(startingBlockNumber, maxBlocks); + + // Fetch all blocks in parallel (automatically batched if provider supports it) + const blocks = await fetchBlocksInParallel(provider, blockNumbers); + + // Extract tips from all successfully fetched blocks + const allTips: bigint[] = blocks + .filter((blockData) => blockData !== null) + // @ts-ignore - seems to be needed only for docs, check again after the doc dependencies are updated + .flatMap((blockData) => extractTipsFromBlock(blockData, includeZeroTips)); + + const analyzedBlocks = blocks.filter((b) => b !== null).length; + + // Handle insufficient transaction data + if (allTips.length < minTxsNecessary) { + logger.error( + `Insufficient transaction data: found ${allTips.length} V3 transactions with tips in ${analyzedBlocks} blocks ` + + `(block range: ${Math.max(0, startingBlockNumber - maxBlocks + 1)}-${startingBlockNumber}). ` + + `Required: ${minTxsNecessary} transactions. Consider reducing minTxsNecessary or increasing maxBlocks.` + ); + return createZeroTipEstimate(analyzedBlocks, allTips); + } + + const tipStats = calculateTipStats(allTips); + return { + ...tipStats, + metrics: { + blocksAnalyzed: analyzedBlocks, + transactionsTipsFound: allTips, + }, + }; + } catch (error) { + throw new LibraryError( + `Failed to analyze tip statistics (parallel): ${error instanceof Error ? error.message : 'Unknown error'}` + ); + } +} + +/** + * Analyzes tip statistics from recent blocks using sequential requests with early exit. + * This version processes blocks one by one and can exit early when enough + * transactions are found, which may be more efficient when batching is not available. + * + * @param provider RPC provider for blockchain communication + * @param blockIdentifier Starting block for analysis + * @param options Configuration options for the analysis + * @returns Promise resolving to TipEstimate object (returns zero values if insufficient data) + */ +async function getTipStatsSequential( + provider: ProviderInterface, + blockIdentifier: BlockIdentifier, + options: TipAnalysisOptions +): Promise { + const { maxBlocks = 3, minTxsNecessary = 10, includeZeroTips = true } = options; + + try { + // Determine the starting block number + const startingBlockNumber = await getStartingBlockNumber(provider, blockIdentifier); + const blockNumbers = generateBlockNumbers(startingBlockNumber, maxBlocks); + + const allTips: bigint[] = []; + let blocksAnalyzed = 0; + + // Process blocks sequentially to avoid overwhelming the RPC and enable early exit + // eslint-disable-next-line no-restricted-syntax + for (const blockNumber of blockNumbers) { + // eslint-disable-next-line no-await-in-loop + const blockData = await fetchBlockSafely(provider, blockNumber); + + if (blockData) { + blocksAnalyzed += 1; + const tips = extractTipsFromBlock(blockData, includeZeroTips); + allTips.push(...tips); + + // Early exit if we have enough transactions + if (allTips.length >= minTxsNecessary) { + break; + } + } + } + + // Handle insufficient transaction data + if (allTips.length < minTxsNecessary) { + logger.error( + `Insufficient transaction data: found ${allTips.length} V3 transactions with tips in ${blocksAnalyzed} blocks ` + + `(block range: ${Math.max(0, startingBlockNumber - maxBlocks + 1)}-${startingBlockNumber}). ` + + `Required: ${minTxsNecessary} transactions. Consider reducing minTxsNecessary or increasing maxBlocks.` + ); + return createZeroTipEstimate(blocksAnalyzed, allTips); + } + + const tipStats = calculateTipStats(allTips); + return { + ...tipStats, + metrics: { + blocksAnalyzed, + transactionsTipsFound: allTips, + }, + }; + } catch (error) { + throw new LibraryError( + `Failed to analyze tip statistics (sequential): ${error instanceof Error ? error.message : 'Unknown error'}` + ); + } +} + +/** + * Analyzes tip statistics from recent blocks to help determine optimal tip amounts. + * + * This function examines V3 invoke transactions across multiple recent blocks to calculate + * minimum, maximum, and average tip amounts. This data can be used to determine an + * appropriate tip for new transactions. + * + * **Performance Notes:** + * - Automatically detects if your provider has batching enabled + * - When batching is enabled, all block requests are made in parallel and automatically + * batched into a single HTTP request for maximum efficiency + * - When batching is not enabled, requests are made sequentially with early exit capability + * + * @param provider - RPC provider for blockchain communication + * @param blockIdentifier - Starting block for analysis (goes backwards from this block) + * @param options - Configuration options for the analysis + * @returns Promise resolving to TipEstimate object + * + * @throws {Error} When invalid parameters are provided + * @throws {LibraryError} When RPC calls fail, data is invalid, or insufficient transaction data is found + * + * @example + * ```typescript + * import { RpcProvider } from 'starknet'; + * + * // Create provider with batching for optimal performance + * const provider = new RpcProvider({ + * nodeUrl: 'your_node_url', + * batch: 50 // 50ms batch interval - automatically detected and used + * }); + * + * // Basic usage - automatically uses best strategy + * const tipStats = await getTipStatsFromBlocks(provider, 'latest'); + * console.log(`Recommended tip (median): ${tipStats.recommendedTip}`); + * console.log(`90th percentile tip: ${tipStats.p90Tip}`); + * console.log(`95th percentile tip: ${tipStats.p95Tip}`); + * + * // Advanced usage with custom options + * const tipStats = await getTipStatsFromBlocks( + * provider, + * 'latest', + * { + * maxBlocks: 10, + * minTxsNecessary: 5, + * includeZeroTips: true + * } + * ); + * + * // Check if we have sufficient data + * if (tipStats.recommendedTip === 0n) { + * console.log('Insufficient transaction data for reliable tip estimation'); + * } else { + * console.log(`Recommended tip: ${tipStats.recommendedTip}`); + * console.log(`Average tip: ${tipStats.averageTip}`); + * console.log(`Median tip: ${tipStats.medianTip}`); + * console.log(`Mode tip: ${tipStats.modeTip}`); + * console.log(`Min tip: ${tipStats.minTip}, Max tip: ${tipStats.maxTip}`); + * console.log(`P90 tip: ${tipStats.p90Tip} (90% of tips are below this)`); + * console.log(`P95 tip: ${tipStats.p95Tip} (95% of tips are below this)`); + * + * // Access performance metrics if available + * if (tipStats.metrics) { + * console.log(`Analyzed ${tipStats.metrics.transactionsFound} transactions`); + * console.log(`Across ${tipStats.metrics.blocksAnalyzed} blocks`); + * } + * } + * + * // Using specific block number + * const blockNumber = 650000; + * const historicalTips = await getTipStatsFromBlocks(provider, blockNumber); + * ``` + */ +export async function getTipStatsFromBlocks( + provider: ProviderInterface, + blockIdentifier: BlockIdentifier = BlockTag.LATEST, + options: TipAnalysisOptions = {} +): Promise { + const { maxBlocks = 3, minTxsNecessary = 10 } = options; + + // Input validation + assert(Number.isInteger(maxBlocks), 'maxBlocks parameter must be an integer'); + assert(maxBlocks >= 1, 'maxBlocks parameter must be greater than or equal to 1'); + assert(maxBlocks <= 100, 'maxBlocks parameter must be less than or equal to 100 for performance'); + assert(Number.isInteger(minTxsNecessary), 'minTxsNecessary parameter must be an integer'); + assert(minTxsNecessary >= 1, 'minTxsNecessary parameter must be greater than or equal to 1'); + + // Automatically choose the best strategy based on batching capability + if (isBatchingEnabled(provider)) { + return getTipStatsParallel(provider, blockIdentifier, options); + } + return getTipStatsSequential(provider, blockIdentifier, options); +} diff --git a/src/provider/modules/verifyMessageInStarknet.ts b/src/provider/modules/verifyMessageInStarknet.ts new file mode 100644 index 000000000..703d1df20 --- /dev/null +++ b/src/provider/modules/verifyMessageInStarknet.ts @@ -0,0 +1,109 @@ +import type { ProviderInterface } from '..'; +import type { BigNumberish, Signature, TypedData } from '../../types'; +import { isBigNumberish, toBigInt, toHex } from '../../utils/num'; +import { CallData } from '../../utils/calldata'; +import { formatSignature } from '../../utils/stark'; +import { getMessageHash, validateTypedData } from '../../utils/typedData'; + +/** + * Verify in Starknet a signature of a TypedData object or of a given hash. + * @param {ProviderInterface} provider - The provider to use for the verification. + * @param {BigNumberish | TypedData} message TypedData object to be verified, or message hash to be verified. + * @param {Signature} signature signature of the message. + * @param {BigNumberish} accountAddress address of the account that has signed the message. + * @param {string} [signatureVerificationFunctionName] if account contract with non standard account verification function name. + * @param { okResponse: string[]; nokResponse: string[]; error: string[] } [signatureVerificationResponse] if account contract with non standard response of verification function. + * @returns + * ```typescript + * const myTypedMessage: TypedMessage = .... ; + * const messageHash = typedData.getMessageHash(myTypedMessage,accountAddress); + * const sign: WeierstrassSignatureType = ec.starkCurve.sign(messageHash, privateKey); + * const accountAddress = "0x43b7240d227aa2fb8434350b3321c40ac1b88c7067982549e7609870621b535"; + * const result1 = await myRpcProvider.verifyMessageInStarknet(myTypedMessage, sign, accountAddress); + * const result2 = await myRpcProvider.verifyMessageInStarknet(messageHash, sign, accountAddress); + * // result1 = result2 = true + * ``` + */ +export async function verifyMessageInStarknet( + provider: ProviderInterface, + message: BigNumberish | TypedData, + signature: Signature, + accountAddress: BigNumberish, + signatureVerificationFunctionName?: string, + signatureVerificationResponse?: { okResponse: string[]; nokResponse: string[]; error: string[] } +): Promise { + const isTypedData = validateTypedData(message); + if (!isBigNumberish(message) && !isTypedData) { + throw new Error('message has a wrong format.'); + } + if (!isBigNumberish(accountAddress)) { + throw new Error('accountAddress shall be a BigNumberish'); + } + const messageHash = isTypedData ? getMessageHash(message, accountAddress) : toHex(message); + // HOTFIX: Accounts should conform to SNIP-6 + // (https://github.com/starknet-io/SNIPs/blob/f6998f779ee2157d5e1dea36042b08062093b3c5/SNIPS/snip-6.md?plain=1#L61), + // but they don't always conform. Also, the SNIP doesn't standardize the response if the signature isn't valid. + const knownSigVerificationFName = signatureVerificationFunctionName + ? [signatureVerificationFunctionName] + : ['isValidSignature', 'is_valid_signature']; + const knownSignatureResponse = signatureVerificationResponse || { + okResponse: [ + // any non-nok response is true + ], + nokResponse: [ + '0x0', // Devnet + '0x00', // OpenZeppelin 0.7.0 to 0.9.0 invalid signature + ], + error: [ + 'argent/invalid-signature', + '0x617267656e742f696e76616c69642d7369676e6174757265', // ArgentX 0.3.0 to 0.3.1 + 'is invalid, with respect to the public key', + '0x697320696e76616c6964', // OpenZeppelin until 0.6.1, Braavos 0.0.11 + 'INVALID_SIG', + '0x494e56414c49445f534947', // Braavos 1.0.0 + ], + }; + let error: any; + + // eslint-disable-next-line no-restricted-syntax + for (const SigVerificationFName of knownSigVerificationFName) { + try { + // eslint-disable-next-line no-await-in-loop + const resp = await provider.callContract({ + contractAddress: toHex(accountAddress), + entrypoint: SigVerificationFName, + calldata: CallData.compile({ + hash: toBigInt(messageHash).toString(), + signature: formatSignature(signature), + }), + }); + // Response NOK Signature + if (knownSignatureResponse.nokResponse.includes(resp[0].toString())) { + return false; + } + // Response OK Signature + // Empty okResponse assume all non-nok responses are valid signatures + // OpenZeppelin 0.7.0 to 0.9.0, ArgentX 0.3.0 to 0.3.1 & Braavos Cairo 0.0.11 to 1.0.0 valid signature + if ( + knownSignatureResponse.okResponse.length === 0 || + knownSignatureResponse.okResponse.includes(resp[0].toString()) + ) { + return true; + } + throw Error('signatureVerificationResponse Error: response is not part of known responses'); + } catch (err) { + // Known NOK Errors + if ( + knownSignatureResponse.error.some((errMessage) => + (err as Error).message.includes(errMessage) + ) + ) { + return false; + } + // Unknown Error + error = err; + } + } + + throw Error(`Signature verification Error: ${error}`); +} diff --git a/src/provider/rpc.ts b/src/provider/rpc.ts index 459a7411f..bdd0e0a4d 100644 --- a/src/provider/rpc.ts +++ b/src/provider/rpc.ts @@ -1,4 +1,4 @@ -import { RPC07, RPC08 } from '../channel'; +import { RPC08, RPC09 } from '../channel'; import { config } from '../global/config'; import { SupportedRpcVersion } from '../global/constants'; import { logger } from '../global/logger'; @@ -14,6 +14,8 @@ import { ContractVersion, DeclareContractTransaction, DeployAccountContractTransaction, + type fastWaitForTransactionOptions, + type GasPrices, GetBlockResponse, getContractVersionOptions, getEstimateFeeBulkOptions, @@ -24,47 +26,42 @@ import { Invocations, InvocationsDetailsWithNonce, PendingBlock, - PendingStateUpdate, + PreConfirmedStateUpdate, RPC, RpcProviderOptions, type Signature, StateUpdate, StateUpdateResponse, - TransactionType, type TypedData, waitForTransactionOptions, } from '../types'; +import { ETransactionType, RPCSPEC08, RPCSPEC09 } from '../types/api'; import assert from '../utils/assert'; -import { CallData } from '../utils/calldata'; import { getAbiContractVersion } from '../utils/calldata/cairo'; import { extractContractHashes, isSierra } from '../utils/contract'; import { LibraryError } from '../utils/errors'; import { solidityUint256PackedKeccak256 } from '../utils/hash'; -import { isBigNumberish, toBigInt, toHex } from '../utils/num'; +import { toHex } from '../utils/num'; import { wait } from '../utils/provider'; import { isSupportedSpecVersion, isVersion } from '../utils/resolve'; import { RPCResponseParser } from '../utils/responseParser/rpc'; -import { formatSignature } from '../utils/stark'; -import { ReceiptTx } from '../utils/transactionReceipt/transactionReceipt'; -import { getMessageHash, validateTypedData } from '../utils/typedData'; +import { getTipStatsFromBlocks, TipAnalysisOptions, TipEstimate } from './modules/tip'; +import { createTransactionReceipt } from '../utils/transactionReceipt/transactionReceipt'; import { ProviderInterface } from './interface'; import type { DeclaredTransaction, DeployedAccountTransaction, - EventFilter, - EVENTS_CHUNK, - FEE_ESTIMATE, InvokedTransaction, L1_HANDLER_TXN, - L1Message, - TRANSACTION_TRACE, TransactionWithHash, } from './types/spec.type'; +import { verifyMessageInStarknet } from './modules/verifyMessageInStarknet'; +import { getGasPrices } from './modules'; export class RpcProvider implements ProviderInterface { public responseParser: RPCResponseParser; - public channel: RPC07.RpcChannel | RPC08.RpcChannel; + public channel: RPC08.RpcChannel | RPC09.RpcChannel; constructor(optionsOrProvider?: RpcProviderOptions | ProviderInterface | RpcProvider) { if (optionsOrProvider && 'channel' in optionsOrProvider) { @@ -74,22 +71,22 @@ export class RpcProvider implements ProviderInterface { ? optionsOrProvider.responseParser : new RPCResponseParser(); } else { - if (optionsOrProvider && optionsOrProvider.specVersion) { - if (isVersion('0.8', optionsOrProvider.specVersion)) { - this.channel = new RPC08.RpcChannel({ ...optionsOrProvider, waitMode: false }); - } else if (isVersion('0.7', optionsOrProvider.specVersion)) { - this.channel = new RPC07.RpcChannel({ ...optionsOrProvider, waitMode: false }); - } else - throw new Error(`unsupported channel for spec version: ${optionsOrProvider.specVersion}`); + const options = optionsOrProvider as RpcProviderOptions | undefined; + if (options && options.specVersion) { + if (isVersion('0.8', options.specVersion)) { + this.channel = new RPC08.RpcChannel({ ...options, waitMode: false }); + } else if (isVersion('0.9', options.specVersion)) { + this.channel = new RPC09.RpcChannel({ ...options, waitMode: false }); + } else throw new Error(`unsupported channel for spec version: ${options.specVersion}`); } else if (isVersion('0.8', config.get('rpcVersion'))) { // default channel when unspecified - this.channel = new RPC08.RpcChannel({ ...optionsOrProvider, waitMode: false }); - } else if (isVersion('0.7', config.get('rpcVersion'))) { + this.channel = new RPC08.RpcChannel({ ...options, waitMode: false }); + } else if (isVersion('0.9', config.get('rpcVersion'))) { // default channel when unspecified - this.channel = new RPC07.RpcChannel({ ...optionsOrProvider, waitMode: false }); + this.channel = new RPC09.RpcChannel({ ...options, waitMode: false }); } else throw new Error('unable to define spec version for channel'); - this.responseParser = new RPCResponseParser(optionsOrProvider?.feeMarginPercentage); + this.responseParser = new RPCResponseParser(options?.resourceBoundsOverhead); } } @@ -102,7 +99,7 @@ export class RpcProvider implements ProviderInterface { this: { new (...args: ConstructorParameters): T }, optionsOrProvider?: RpcProviderOptions ): Promise { - const channel = new RPC07.RpcChannel({ ...optionsOrProvider }); + const channel = new RPC08.RpcChannel({ ...optionsOrProvider }); const spec = await channel.getSpecVersion(); // Optimistic Warning in case of the patch version @@ -110,16 +107,16 @@ export class RpcProvider implements ProviderInterface { logger.warn(`Using incompatible node spec version ${spec}`); } - if (isVersion('0.7', spec)) { + if (isVersion('0.8', spec)) { return new this({ ...optionsOrProvider, - specVersion: SupportedRpcVersion.v0_7_1, + specVersion: SupportedRpcVersion.v0_8_1, }) as T; } - if (isVersion('0.8', spec)) { + if (isVersion('0.9', spec)) { return new this({ ...optionsOrProvider, - specVersion: SupportedRpcVersion.v0_8_1, + specVersion: SupportedRpcVersion.v0_9_0, }) as T; } @@ -136,23 +133,14 @@ export class RpcProvider implements ProviderInterface { return this.channel.getChainId(); } - /** - * read channel spec version - */ public readSpecVersion() { return this.channel.readSpecVersion(); } - /** - * get channel spec version - */ public async getSpecVersion() { return this.channel.getSpecVersion(); } - /** - * setup channel spec version and return it - */ public setUpSpecVersion() { return this.channel.setUpSpecVersion(); } @@ -165,27 +153,19 @@ export class RpcProvider implements ProviderInterface { } public async getBlock(): Promise; - public async getBlock(blockIdentifier: 'pending'): Promise; + public async getBlock(blockIdentifier: 'pre_confirmed'): Promise; public async getBlock(blockIdentifier: 'latest'): Promise; - public async getBlock(blockIdentifier?: BlockIdentifier): Promise; + public async getBlock(blockIdentifier: BlockIdentifier): Promise; public async getBlock(blockIdentifier?: BlockIdentifier) { return this.channel .getBlockWithTxHashes(blockIdentifier) .then(this.responseParser.parseGetBlockResponse); } - /** - * Get the most recent accepted block hash and number - */ public async getBlockLatestAccepted() { return this.channel.getBlockLatestAccepted(); } - /** - * Get the most recent accepted block number - * redundant use getBlockLatestAccepted(); - * @returns Number of the latest block - */ public async getBlockNumber() { return this.channel.getBlockNumber(); } @@ -198,25 +178,15 @@ export class RpcProvider implements ProviderInterface { return this.channel.getBlockWithTxs(blockIdentifier); } - /** - * Pause the execution of the script until a specified block is created. - * @param {BlockIdentifier} blockIdentifier bloc number (BigNumberish) or 'pending' or 'latest'. - * Use of 'latest" or of a block already created will generate no pause. - * @param {number} [retryInterval] number of milliseconds between 2 requests to the node - * @example - * ```typescript - * await myProvider.waitForBlock(); - * // wait the creation of the pending block - * ``` - */ public async waitForBlock( - blockIdentifier: BlockIdentifier = 'pending', + blockIdentifier: BlockIdentifier = BlockTag.LATEST, retryInterval: number = 5000 ) { if (blockIdentifier === BlockTag.LATEST) return; + if (blockIdentifier === 'pending') return; // For RPC 0.8.1 const currentBlock = await this.getBlockNumber(); const targetBlock = - blockIdentifier === BlockTag.PENDING + blockIdentifier === BlockTag.PRE_CONFIRMED ? currentBlock + 1 : Number(toHex(blockIdentifier as BigNumberish)); if (targetBlock <= currentBlock) return; @@ -245,6 +215,24 @@ export class RpcProvider implements ProviderInterface { .then(this.responseParser.parseL1GasPriceResponse); } + /** + * Get the gas prices related to a block. + * @param {BlockIdentifier} [blockIdentifier = this.identifier] - Optional. Can be 'pending', 'latest' or a block number (an integer type). + * @returns {Promise} an object with l1DataGasPrice, l1GasPrice, l2GasPrice properties (all bigint type). + * @example + * ```ts + * const result = await myProvider.getGasPrices(); + * // result = { l1DataGasPrice: 3039n, l1GasPrice: 55590341542890n, l2GasPrice: 8441845008n } + * ``` + */ + public async getGasPrices( + blockIdentifier: BlockIdentifier = this.channel.blockIdentifier + ): Promise { + if (this.channel instanceof RPC09.RpcChannel) + return getGasPrices(this.channel, blockIdentifier); + throw new LibraryError('Unsupported method for RPC version'); + } + public async getL1MessageHash(l2TxHash: BigNumberish): Promise { const transaction = (await this.channel.getTransactionByHash(l2TxHash)) as TransactionWithHash; assert(transaction.type === 'L1_HANDLER', 'This L2 transaction is not a L1 message.'); @@ -267,8 +255,10 @@ export class RpcProvider implements ProviderInterface { public getStateUpdate = this.getBlockStateUpdate; - public async getBlockStateUpdate(): Promise; - public async getBlockStateUpdate(blockIdentifier: 'pending'): Promise; + public async getBlockStateUpdate(): Promise; + public async getBlockStateUpdate( + blockIdentifier: 'pre_confirmed' + ): Promise; public async getBlockStateUpdate(blockIdentifier: 'latest'): Promise; public async getBlockStateUpdate(blockIdentifier?: BlockIdentifier): Promise; public async getBlockStateUpdate(blockIdentifier?: BlockIdentifier) { @@ -299,27 +289,19 @@ export class RpcProvider implements ProviderInterface { const txReceiptWoHelper = await this.channel.getTransactionReceipt(txHash); const txReceiptWoHelperModified = this.responseParser.parseTransactionReceipt(txReceiptWoHelper); - return new ReceiptTx(txReceiptWoHelperModified); + return createTransactionReceipt(txReceiptWoHelperModified); } - public async getTransactionTrace(txHash: BigNumberish): Promise { + public async getTransactionTrace( + txHash: BigNumberish + ): Promise { return this.channel.getTransactionTrace(txHash); } - /** - * Get the status of a transaction - */ public async getTransactionStatus(transactionHash: BigNumberish) { return this.channel.getTransactionStatus(transactionHash); } - /** - * @param invocations AccountInvocations - * @param options blockIdentifier and flags to skip validation and fee charge
- * - blockIdentifier
- * - skipValidate (default false)
- * - skipFeeCharge (default true)
- */ public async getSimulateTransaction( invocations: AccountInvocations, options?: getSimulateTransactionOptions @@ -339,7 +321,38 @@ export class RpcProvider implements ProviderInterface { options )) as GetTxReceiptResponseWithoutHelper; - return new ReceiptTx(receiptWoHelper) as GetTransactionReceiptResponse; + return createTransactionReceipt(receiptWoHelper); + } + + /** + * Wait up until a new transaction is possible with same the account. + * This method is fast, but Events and transaction report are not yet + * available. Useful for gaming activity. + * - only rpc 0.9 and onwards. + * @param {BigNumberish} txHash - transaction hash + * @param {string} address - address of the account + * @param {BigNumberish} initNonce - initial nonce of the account (before the transaction). + * @param {fastWaitForTransactionOptions} [options={retries: 50, retryInterval: 500}] - options to scan the network for the next possible transaction. `retries` is the number of times to retry. + * @returns {Promise} Returns true if the next transaction is possible, + * false if the timeout has been reached, + * throw an error in case of provider communication. + */ + public async fastWaitForTransaction( + txHash: BigNumberish, + address: string, + initNonce: BigNumberish, + options?: fastWaitForTransactionOptions + ): Promise { + if (this.channel instanceof RPC09.RpcChannel) { + const isSuccess = await this.channel.fastWaitForTransaction( + txHash, + address, + initNonce, + options + ); + return isSuccess; + } + throw new Error('Unsupported channel type'); } public async getStorageAt( @@ -410,22 +423,16 @@ export class RpcProvider implements ProviderInterface { public async getInvokeEstimateFee( invocation: Invocation, - invocationDetails: InvocationsDetailsWithNonce, + details: InvocationsDetailsWithNonce, blockIdentifier?: BlockIdentifier, skipValidate?: boolean ) { - return this.channel - .getEstimateFee( - [ - { - type: TransactionType.INVOKE, - ...invocation, - ...invocationDetails, - }, - ], + return ( + await this.getEstimateFeeBulk( + [{ type: ETransactionType.INVOKE, ...invocation, ...details }], { blockIdentifier, skipValidate } ) - .then((r) => this.responseParser.parseFeeEstimateResponse(r)); + )[0]; // Return the first (and only) estimate } public async getDeclareEstimateFee( @@ -434,18 +441,12 @@ export class RpcProvider implements ProviderInterface { blockIdentifier?: BlockIdentifier, skipValidate?: boolean ) { - return this.channel - .getEstimateFee( - [ - { - type: TransactionType.DECLARE, - ...invocation, - ...details, - }, - ], + return ( + await this.getEstimateFeeBulk( + [{ type: ETransactionType.DECLARE, ...invocation, ...details }], { blockIdentifier, skipValidate } ) - .then((r) => this.responseParser.parseFeeEstimateResponse(r)); + )[0]; // Return the first (and only) estimate } public async getDeployAccountEstimateFee( @@ -454,23 +455,17 @@ export class RpcProvider implements ProviderInterface { blockIdentifier?: BlockIdentifier, skipValidate?: boolean ) { - return this.channel - .getEstimateFee( - [ - { - type: TransactionType.DEPLOY_ACCOUNT, - ...invocation, - ...details, - }, - ], + return ( + await this.getEstimateFeeBulk( + [{ type: ETransactionType.DEPLOY_ACCOUNT, ...invocation, ...details }], { blockIdentifier, skipValidate } ) - .then((r) => this.responseParser.parseFeeEstimateResponse(r)); + )[0]; // Return the first (and only) estimate } public async getEstimateFeeBulk( invocations: AccountInvocations, - options: getEstimateFeeBulkOptions + options?: getEstimateFeeBulkOptions ) { return this.channel .getEstimateFee(invocations, options) @@ -502,51 +497,29 @@ export class RpcProvider implements ProviderInterface { return this.channel.callContract(call, blockIdentifier); } - /** - * NEW: Estimate the fee for a message from L1 - * @param message Message From L1 - */ public async estimateMessageFee( - message: L1Message, + message: RPCSPEC09.L1Message, // same as spec08.L1Message blockIdentifier?: BlockIdentifier - ): Promise { + ): Promise { return this.channel.estimateMessageFee(message, blockIdentifier); } - /** - * Returns an object about the sync status, or false if the node is not synching - * @returns Object with the stats data - */ public async getSyncingStats() { return this.channel.getSyncingStats(); } - /** - * Returns all events matching the given filter - * @returns events and the pagination of the events - */ - public async getEvents(eventFilter: EventFilter): Promise { - return this.channel.getEvents(eventFilter); + public async getEvents( + eventFilter: RPCSPEC08.EventFilter | RPCSPEC09.EventFilter + ): Promise { + if (this.channel instanceof RPC08.RpcChannel) { + return this.channel.getEvents(eventFilter as RPCSPEC08.EventFilter); + } + if (this.channel instanceof RPC09.RpcChannel) { + return this.channel.getEvents(eventFilter as RPCSPEC09.EventFilter); + } + throw new Error('Unsupported channel type'); } - /** - * Verify in Starknet a signature of a TypedData object or of a given hash. - * @param {BigNumberish | TypedData} message TypedData object to be verified, or message hash to be verified. - * @param {Signature} signature signature of the message. - * @param {BigNumberish} accountAddress address of the account that has signed the message. - * @param {string} [signatureVerificationFunctionName] if account contract with non standard account verification function name. - * @param { okResponse: string[]; nokResponse: string[]; error: string[] } [signatureVerificationResponse] if account contract with non standard response of verification function. - * @returns - * ```typescript - * const myTypedMessage: TypedMessage = .... ; - * const messageHash = typedData.getMessageHash(myTypedMessage,accountAddress); - * const sign: WeierstrassSignatureType = ec.starkCurve.sign(messageHash, privateKey); - * const accountAddress = "0x43b7240d227aa2fb8434350b3321c40ac1b88c7067982549e7609870621b535"; - * const result1 = myRpcProvider.verifyMessageInStarknet(myTypedMessage, sign, accountAddress); - * const result2 = myRpcProvider.verifyMessageInStarknet(messageHash, sign, accountAddress); - * // result1 = result2 = true - * ``` - */ public async verifyMessageInStarknet( message: BigNumberish | TypedData, signature: Signature, @@ -554,95 +527,26 @@ export class RpcProvider implements ProviderInterface { signatureVerificationFunctionName?: string, signatureVerificationResponse?: { okResponse: string[]; nokResponse: string[]; error: string[] } ): Promise { - const isTypedData = validateTypedData(message); - if (!isBigNumberish(message) && !isTypedData) { - throw new Error('message has a wrong format.'); - } - if (!isBigNumberish(accountAddress)) { - throw new Error('accountAddress shall be a BigNumberish'); - } - const messageHash = isTypedData ? getMessageHash(message, accountAddress) : toHex(message); - // HOTFIX: Accounts should conform to SNIP-6 - // (https://github.com/starknet-io/SNIPs/blob/f6998f779ee2157d5e1dea36042b08062093b3c5/SNIPS/snip-6.md?plain=1#L61), - // but they don't always conform. Also, the SNIP doesn't standardize the response if the signature isn't valid. - const knownSigVerificationFName = signatureVerificationFunctionName - ? [signatureVerificationFunctionName] - : ['isValidSignature', 'is_valid_signature']; - const knownSignatureResponse = signatureVerificationResponse || { - okResponse: [ - // any non-nok response is true - ], - nokResponse: [ - '0x0', // Devnet - '0x00', // OpenZeppelin 0.7.0 to 0.9.0 invalid signature - ], - error: [ - 'argent/invalid-signature', - '0x617267656e742f696e76616c69642d7369676e6174757265', // ArgentX 0.3.0 to 0.3.1 - 'is invalid, with respect to the public key', - '0x697320696e76616c6964', // OpenZeppelin until 0.6.1, Braavos 0.0.11 - 'INVALID_SIG', - '0x494e56414c49445f534947', // Braavos 1.0.0 - ], - }; - let error: any; - - // eslint-disable-next-line no-restricted-syntax - for (const SigVerificationFName of knownSigVerificationFName) { - try { - // eslint-disable-next-line no-await-in-loop - const resp = await this.callContract({ - contractAddress: toHex(accountAddress), - entrypoint: SigVerificationFName, - calldata: CallData.compile({ - hash: toBigInt(messageHash).toString(), - signature: formatSignature(signature), - }), - }); - // Response NOK Signature - if (knownSignatureResponse.nokResponse.includes(resp[0].toString())) { - return false; - } - // Response OK Signature - // Empty okResponse assume all non-nok responses are valid signatures - // OpenZeppelin 0.7.0 to 0.9.0, ArgentX 0.3.0 to 0.3.1 & Braavos Cairo 0.0.11 to 1.0.0 valid signature - if ( - knownSignatureResponse.okResponse.length === 0 || - knownSignatureResponse.okResponse.includes(resp[0].toString()) - ) { - return true; - } - throw Error('signatureVerificationResponse Error: response is not part of known responses'); - } catch (err) { - // Known NOK Errors - if ( - knownSignatureResponse.error.some((errMessage) => - (err as Error).message.includes(errMessage) - ) - ) { - return false; - } - // Unknown Error - error = err; - } - } - - throw Error(`Signature verification Error: ${error}`); + return verifyMessageInStarknet( + this, + message, + signature, + accountAddress, + signatureVerificationFunctionName, + signatureVerificationResponse + ); } - /** - * Test if class is already declared from ContractClassIdentifier - * Helper method using getClass - * @param ContractClassIdentifier - * @param blockIdentifier - */ public async isClassDeclared( contractClassIdentifier: ContractClassIdentifier, blockIdentifier?: BlockIdentifier ) { let classHash: string; if (!contractClassIdentifier.classHash && 'contract' in contractClassIdentifier) { - const hashes = extractContractHashes(contractClassIdentifier); + const hashes = extractContractHashes( + contractClassIdentifier, + await this.channel.setUpSpecVersion() + ); classHash = hashes.classHash; } else if (contractClassIdentifier.classHash) { classHash = contractClassIdentifier.classHash; @@ -661,18 +565,12 @@ export class RpcProvider implements ProviderInterface { } } - /** - * Build bulk invocations with auto-detect declared class - * 1. Test if class is declared if not declare it preventing already declared class error and not declared class errors - * 2. Order declarations first - * @param invocations - */ public async prepareInvocations(invocations: Invocations) { const bulk: Invocations = []; // Build new ordered array // eslint-disable-next-line no-restricted-syntax for (const invocation of invocations) { - if (invocation.type === TransactionType.DECLARE) { + if (invocation.type === ETransactionType.DECLARE) { // Test if already declared // eslint-disable-next-line no-await-in-loop const isDeclared = await this.isClassDeclared( @@ -688,46 +586,34 @@ export class RpcProvider implements ProviderInterface { return bulk; } - /** - * Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses for all L1 -> L2 messages sent by the l1 transaction, ordered by the l1 tx sending order - */ - public async getL1MessagesStatus(transactionHash: BigNumberish): Promise { - if (this.channel instanceof RPC08.RpcChannel) { - return this.channel.getMessagesStatus(transactionHash); - } - - throw new LibraryError('Unsupported method for RPC version'); + public async getL1MessagesStatus( + transactionHash: BigNumberish + ): Promise { + return this.channel.getMessagesStatus(transactionHash); } - /** - * Get merkle paths in one of the state tries: global state, classes, individual contract - */ public async getStorageProof( classHashes: BigNumberish[], contractAddresses: BigNumberish[], contractsStorageKeys: RPC.CONTRACT_STORAGE_KEYS[], blockIdentifier?: BlockIdentifier ): Promise { - if (this.channel instanceof RPC08.RpcChannel) { - return this.channel.getStorageProof( - classHashes, - contractAddresses, - contractsStorageKeys, - blockIdentifier - ); - } - - throw new LibraryError('Unsupported method for RPC version'); + return this.channel.getStorageProof( + classHashes, + contractAddresses, + contractsStorageKeys, + blockIdentifier + ); } - /** - * Get the contract class definition in the given block associated with the given hash - */ public async getCompiledCasm(classHash: BigNumberish): Promise { - if (this.channel instanceof RPC08.RpcChannel) { - return this.channel.getCompiledCasm(classHash); - } + return this.channel.getCompiledCasm(classHash); + } - throw new LibraryError('Unsupported method for RPC version'); + public async getEstimateTip( + blockIdentifier?: BlockIdentifier, + options: TipAnalysisOptions = {} + ): Promise { + return getTipStatsFromBlocks(this, blockIdentifier, options); } } diff --git a/src/provider/types/configuration.type.ts b/src/provider/types/configuration.type.ts index f36327337..391376d6d 100644 --- a/src/provider/types/configuration.type.ts +++ b/src/provider/types/configuration.type.ts @@ -1,18 +1,22 @@ import { NetworkName, StarknetChainId, SupportedRpcVersion } from '../../global/constants'; -import { BlockIdentifier } from '../../types/lib'; +import { BlockIdentifier, waitForTransactionOptions } from '../../types/lib'; import { ResourceBoundsOverhead } from './spec.type'; export interface ProviderOptions extends RpcProviderOptions {} -export type FeeMarginPercentage = { - bounds: ResourceBoundsOverhead; // V3 tx - maxFee: number; // V legacy tx -}; - export type RpcProviderOptions = { nodeUrl?: string | NetworkName; - retries?: number; + /** + * Define the number of retries for waitForTransaction + */ + retries?: waitForTransactionOptions['retries']; + /** + * Define the time interval between retries in milliseconds + */ transactionRetryIntervalFallback?: number; + /** + * Define the headers + */ headers?: object; blockIdentifier?: BlockIdentifier; chainId?: StarknetChainId; @@ -20,6 +24,6 @@ export type RpcProviderOptions = { default?: boolean; waitMode?: boolean; baseFetch?: WindowOrWorkerGlobalScope['fetch']; - feeMarginPercentage?: FeeMarginPercentage; + resourceBoundsOverhead?: ResourceBoundsOverhead | false; batch?: false | number; }; diff --git a/src/provider/types/gasPrice.type.ts b/src/provider/types/gasPrice.type.ts new file mode 100644 index 000000000..bdd4087b1 --- /dev/null +++ b/src/provider/types/gasPrice.type.ts @@ -0,0 +1,11 @@ +/** + * Result of provider.getGasPrices(). + * @param {bigint} l1DataGasPrice - price in fri of the layer 1 data gas price. + * @param {bigint} l1GasPrice - price in fri of the layer 1 gas price. + * @param {bigint} l2GasPrice - price in fri of the layer 2 gas price. + */ +export type GasPrices = { + l1DataGasPrice: bigint; + l1GasPrice: bigint; + l2GasPrice: bigint; +}; diff --git a/src/provider/types/index.type.ts b/src/provider/types/index.type.ts index af164dd55..63a33707b 100644 --- a/src/provider/types/index.type.ts +++ b/src/provider/types/index.type.ts @@ -1,5 +1,6 @@ export * from './configuration.type'; export * from './response.type'; +export * from './gasPrice.type'; // TODO: resolve what types to export on top level // TODO: option to add StableProvider that use provider types and Provider that use normal types, than export Stable under some namespace diff --git a/src/provider/types/response.type.ts b/src/provider/types/response.type.ts index 974c2028a..21795232d 100644 --- a/src/provider/types/response.type.ts +++ b/src/provider/types/response.type.ts @@ -5,12 +5,13 @@ import { BLOCK_WITH_TX_HASHES, - BlockWithTxHashes, IsReverted, IsSucceeded, IsType, - PENDING_BLOCK_WITH_TX_HASHES, -} from '@starknet-io/starknet-types-08'; + RPCSPEC08, + TransactionReceipt, +} from '../../types/api'; + import { CompiledSierra, LegacyContractClass } from '../../types/lib'; import { FELT, @@ -20,16 +21,16 @@ import { STATE_UPDATE, DeclaredTransaction, InvokedTransaction, - ResourceBounds, - SimulateTransaction, TransactionWithHash, Simplify, + ResourceBoundsBN, + TransactionTrace, + BlockWithTxHashes, + PRE_CONFIRMED_STATE_UPDATE, } from './spec.type'; -import { TransactionReceipt } from '../../types/api'; - export type Block = Simplify; -export type PendingBlock = Simplify; +export type PendingBlock = Simplify; export type GetBlockResponse = Simplify; export type GetTxReceiptResponseWithoutHelper = TransactionReceipt; @@ -44,22 +45,16 @@ export type L1HandlerTransactionReceiptResponse = IsType; +export type EstimateFeeResponseBulkOverhead = Array; export type InvokeFunctionResponse = InvokedTransaction; @@ -74,15 +69,18 @@ export type Nonce = string; // export type { SIMULATION_FLAG }; export type SimulationFlags = Array; -export type SimulatedTransaction = SimulateTransaction & { - suggestedMaxFee: bigint; - resourceBounds: ResourceBounds; -}; +export type SimulateTransactionOverhead = { + transaction_trace: TransactionTrace; +} & EstimateFeeResponseOverhead; -export type SimulateTransactionResponse = SimulatedTransaction[]; +export type SimulateTransactionOverheadResponse = SimulateTransactionOverhead[]; -export type StateUpdateResponse = StateUpdate | PendingStateUpdate; +export type PreConfirmedStateUpdate = PRE_CONFIRMED_STATE_UPDATE; export type StateUpdate = STATE_UPDATE; +export type StateUpdateResponse = StateUpdate | PreConfirmedStateUpdate; +/** + * PreConfirmedStateUpdate but left old name + */ export type PendingStateUpdate = PENDING_STATE_UPDATE; /** diff --git a/src/provider/types/spec.type.ts b/src/provider/types/spec.type.ts index 26c6c831a..6c6a9aec7 100644 --- a/src/provider/types/spec.type.ts +++ b/src/provider/types/spec.type.ts @@ -1,9 +1,7 @@ // this file aims to unify the RPC specification types used by the common Provider class -import * as RPCSPEC07 from '@starknet-io/starknet-types-07'; -import * as RPCSPEC08 from '@starknet-io/starknet-types-08'; - import { SimpleOneOf } from '../../types/helpers'; +import { RPCSPEC09, RPCSPEC08 } from '../../types/api'; // taken from type-fest export type Simplify = { [K in keyof T]: T[K] } & {}; @@ -54,30 +52,31 @@ type Merge = Simplify< >; // Default exports for both RPCs -export type ETransactionVersion = RPCSPEC08.ETransactionVersion; -export const { ETransactionVersion } = RPCSPEC08; +export type ETransactionVersion = RPCSPEC09.ETransactionVersion; +export const { ETransactionVersion } = RPCSPEC09; -export type ETransactionVersion2 = RPCSPEC08.ETransactionVersion2; -export const { ETransactionVersion2 } = RPCSPEC08; +export type ETransactionVersion2 = RPCSPEC09.ETransactionVersion2; +export const { ETransactionVersion2 } = RPCSPEC09; -export type ETransactionVersion3 = RPCSPEC08.ETransactionVersion3; -export const { ETransactionVersion3 } = RPCSPEC08; +export type ETransactionVersion3 = RPCSPEC09.ETransactionVersion3; +export const { ETransactionVersion3 } = RPCSPEC09; // MERGES -export type BLOCK_HASH = Merge; -export type BLOCK_NUMBER = Merge; -export type FELT = Merge; -export type TXN_HASH = Merge; +export type BLOCK_HASH = Merge; +export type BLOCK_NUMBER = Merge; +export type FELT = Merge; +export type TXN_HASH = Merge; -export type PRICE_UNIT = Merge; -export type RESOURCE_PRICE = Merge; -export type SIMULATION_FLAG = Merge; +export type PRICE_UNIT = Merge; +export type RESOURCE_PRICE = Merge; +export type SIMULATION_FLAG = Merge; -export type STATE_UPDATE = Merge; +export type STATE_UPDATE = Merge; export type PENDING_STATE_UPDATE = Merge< RPCSPEC08.PENDING_STATE_UPDATE, - RPCSPEC07.SPEC.PENDING_STATE_UPDATE + RPCSPEC09.PRE_CONFIRMED_STATE_UPDATE >; +export type PRE_CONFIRMED_STATE_UPDATE = RPCSPEC09.PRE_CONFIRMED_STATE_UPDATE; // TODO: Can we remove all of this ? /* export type INVOKE_TXN_RECEIPT = IsInBlock>; @@ -101,103 +100,124 @@ export type PENDING_L1_HANDLER_TXN_RECEIPT = RPCSPEC08.IsPending< >; // -export type BlockWithTxHashes = Merge; -export type ContractClassPayload = Merge; +export type BlockWithTxHashes = Merge; +export type ContractClassPayload = Merge; export type DeclaredTransaction = Merge< RPCSPEC08.DeclaredTransaction, - RPCSPEC07.DeclaredTransaction + RPCSPEC09.DeclaredTransaction >; -export type InvokedTransaction = Merge; +export type InvokedTransaction = Merge; export type DeployedAccountTransaction = Merge< RPCSPEC08.DeployedAccountTransaction, - RPCSPEC07.DeployedAccountTransaction + RPCSPEC09.DeployedAccountTransaction >; -export type L1Message = Merge; -export type EventFilter = RPCSPEC08.EventFilter; export type L1_HANDLER_TXN = RPCSPEC08.L1_HANDLER_TXN; export type EDataAvailabilityMode = RPCSPEC08.EDataAvailabilityMode; export const { EDataAvailabilityMode } = RPCSPEC08; export type EDAMode = RPCSPEC08.EDAMode; export const { EDAMode } = RPCSPEC08; -export type EmittedEvent = Merge; -export type Event = Merge; +export type EmittedEvent = Merge; +export type Event = Merge; export type PendingReceipt = Merge< RPCSPEC08.TransactionReceiptPendingBlock, - RPCSPEC07.PendingReceipt + RPCSPEC09.TransactionReceiptPreConfirmedBlock +>; +export type Receipt = Merge< + RPCSPEC08.TransactionReceiptProductionBlock, + RPCSPEC09.TransactionReceiptProductionBlock >; -export type Receipt = Merge; -// One of -export type FeeEstimate = SimpleOneOf; +/** + * original response from estimate fee without parsing + */ +export type FeeEstimate = Merge; +export type ApiEstimateFeeResponse = FeeEstimate[]; // 0.8 and 0.9 -export function isRPC08_FeeEstimate(entry: FeeEstimate): entry is RPCSPEC08.FEE_ESTIMATE { - return 'l1_data_gas_consumed' in entry; +export function isRPC08Plus_ResourceBounds( + entry: ResourceBounds +): entry is RPCSPEC08.ResourceBounds { + return 'l1_data_gas' in entry; } -// One of -export type ResourceBounds = Simplify< - SimpleOneOf ->; - -export function isRPC08_ResourceBounds(entry: ResourceBounds): entry is RPCSPEC08.ResourceBounds { +export function isRPC08Plus_ResourceBoundsBN(entry: ResourceBoundsBN): entry is ResourceBoundsBN { return 'l1_data_gas' in entry; } +export type ResourceBounds = Merge; // same sa rpc0.8 + +export type EventFilter = RPCSPEC09.EventFilter; + /** - * overhead percentage on estimate fee + * Represents percentage overhead for each resource bound + * numerical 50 means 50% overhead */ -export type ResourceBoundsOverhead = ResourceBoundsOverheadRPC08 | ResourceBoundsOverheadRPC07; +export type ResourceBoundsOverhead = { + [K in keyof ResourceBounds]: ResourceBounds[K] extends object + ? { + [P in keyof ResourceBounds[K]]: number; + } + : number; +}; /** - * percentage overhead on estimated fee + * Resource bounds in big number format */ -export type ResourceBoundsOverheadRPC08 = { - l1_gas: { - max_amount: number; - max_price_per_unit: number; - }; - l2_gas: { - max_amount: number; - max_price_per_unit: number; - }; - l1_data_gas: { - max_amount: number; - max_price_per_unit: number; - }; +export type ResourceBoundsBN = { + [K in keyof ResourceBounds]: ResourceBounds[K] extends object + ? { + [P in keyof ResourceBounds[K]]: bigint; + } + : number; }; -export type ResourceBoundsOverheadRPC07 = { - l1_gas: { - max_amount: number; - max_price_per_unit: number; - }; -}; +export type SimulateTransaction = SimpleOneOf< + RPCSPEC09.SimulateTransaction, + RPCSPEC08.SimulateTransaction +>; +export type SimulateTransactionResponse = SimpleOneOf< + RPCSPEC09.SimulateTransactionResponse, + RPCSPEC08.SimulateTransactionResponse +>; -// TODO: ja mislin da types-js rpc 0.7 ima krivu definiciju za transaction trace -export type SimulateTransaction = RPCSPEC08.SimulateTransaction; +export type TransactionTrace = SimpleOneOf< + RPCSPEC09.TRANSACTION_TRACE, + RPCSPEC08.TRANSACTION_TRACE +>; export type TransactionWithHash = Merge< RPCSPEC08.TransactionWithHash, - RPCSPEC07.TransactionWithHash + RPCSPEC09.TransactionWithHash >; -export type TransactionReceipt = Merge; +export type TransactionReceipt = Merge; export type Methods = RPCSPEC08.Methods; -export type TXN_STATUS = Merge; +export type TXN_STATUS = Merge; export type TXN_EXECUTION_STATUS = Merge< RPCSPEC08.TXN_EXECUTION_STATUS, - RPCSPEC07.SPEC.TXN_EXECUTION_STATUS + RPCSPEC09.TXN_EXECUTION_STATUS >; -export type TransactionStatus = Merge; +export type TransactionStatus = Merge; export type ETransactionStatus = RPCSPEC08.ETransactionStatus; export const { ETransactionStatus } = RPCSPEC08; export type ETransactionExecutionStatus = RPCSPEC08.ETransactionExecutionStatus; export const { ETransactionExecutionStatus } = RPCSPEC08; -export type TRANSACTION_TRACE = Merge< - RPCSPEC08.TRANSACTION_TRACE, - RPCSPEC07.SPEC.TRANSACTION_TRACE ->; -export type FEE_ESTIMATE = Merge; -export type EVENTS_CHUNK = Merge; +// export type TRANSACTION_TRACE = Merge; +export type FEE_ESTIMATE = Merge; +export type EVENTS_CHUNK = Merge; + +export type TransactionType = RPCSPEC09.ETransactionType; +export const { ETransactionType: TransactionType } = RPCSPEC09; + +export type BlockStatus = RPCSPEC09.EBlockStatus; +export const { EBlockStatus: BlockStatus } = RPCSPEC09; + +export type TransactionFinalityStatus = RPCSPEC09.ETransactionFinalityStatus; +export const { ETransactionFinalityStatus: TransactionFinalityStatus } = RPCSPEC09; + +export type TransactionExecutionStatus = RPCSPEC09.ETransactionExecutionStatus; +export const { ETransactionExecutionStatus: TransactionExecutionStatus } = RPCSPEC09; + +export type BlockTag = RPCSPEC09.EBlockTag; +export const { EBlockTag: BlockTag } = RPCSPEC09; diff --git a/src/signer/default.ts b/src/signer/default.ts index 1915c8274..7aff64849 100644 --- a/src/signer/default.ts +++ b/src/signer/default.ts @@ -5,14 +5,11 @@ import { InvocationsSignerDetails, Signature, TypedData, - V2DeclareSignerDetails, - V2DeployAccountSignerDetails, - V2InvocationsSignerDetails, V3DeclareSignerDetails, V3DeployAccountSignerDetails, V3InvocationsSignerDetails, } from '../types'; -import { ETransactionVersion2, ETransactionVersion3 } from '../types/api'; +import { ETransactionVersion3 } from '../types/api'; import { CallData } from '../utils/calldata'; import { starkCurve } from '../utils/ec'; import { buf2hex } from '../utils/encode'; @@ -51,15 +48,7 @@ export class Signer implements SignerInterface { let msgHash; // TODO: How to do generic union discriminator for all like this - if (Object.values(ETransactionVersion2).includes(details.version as any)) { - const det = details as V2InvocationsSignerDetails; - msgHash = calculateInvokeTransactionHash({ - ...det, - senderAddress: det.walletAddress, - compiledCalldata, - version: det.version, - }); - } else if (Object.values(ETransactionVersion3).includes(details.version as any)) { + if (Object.values(ETransactionVersion3).includes(details.version as any)) { const det = details as V3InvocationsSignerDetails; msgHash = calculateInvokeTransactionHash({ ...det, @@ -83,15 +72,7 @@ export class Signer implements SignerInterface { /* const version = BigInt(details.version).toString(); */ let msgHash; - if (Object.values(ETransactionVersion2).includes(details.version as any)) { - const det = details as V2DeployAccountSignerDetails; - msgHash = calculateDeployAccountTransactionHash({ - ...det, - salt: det.addressSalt, - constructorCalldata: compiledConstructorCalldata, - version: det.version, - }); - } else if (Object.values(ETransactionVersion3).includes(details.version as any)) { + if (Object.values(ETransactionVersion3).includes(details.version as any)) { const det = details as V3DeployAccountSignerDetails; msgHash = calculateDeployAccountTransactionHash({ ...det, @@ -114,13 +95,7 @@ export class Signer implements SignerInterface { ): Promise { let msgHash; - if (Object.values(ETransactionVersion2).includes(details.version as any)) { - const det = details as V2DeclareSignerDetails; - msgHash = calculateDeclareTransactionHash({ - ...det, - version: det.version, - }); - } else if (Object.values(ETransactionVersion3).includes(details.version as any)) { + if (Object.values(ETransactionVersion3).includes(details.version as any)) { const det = details as V3DeclareSignerDetails; msgHash = calculateDeclareTransactionHash({ ...det, diff --git a/src/signer/ethSigner.ts b/src/signer/ethSigner.ts index d54dcd23e..ff3dd72c1 100644 --- a/src/signer/ethSigner.ts +++ b/src/signer/ethSigner.ts @@ -10,14 +10,11 @@ import { Signature, TypedData, Uint256, - V2DeclareSignerDetails, - V2DeployAccountSignerDetails, - V2InvocationsSignerDetails, V3DeclareSignerDetails, V3DeployAccountSignerDetails, V3InvocationsSignerDetails, } from '../types'; -import { ETransactionVersion2, ETransactionVersion3 } from '../types/api'; +import { ETransactionVersion3 } from '../types/api'; import { CallData } from '../utils/calldata'; import { addHexPrefix, buf2hex, removeHexPrefix, sanitizeHex } from '../utils/encode'; import { ethRandomPrivateKey } from '../utils/eth'; @@ -72,16 +69,7 @@ export class EthSigner implements SignerInterface { const compiledCalldata = getExecuteCalldata(transactions, details.cairoVersion); let msgHash; - // TODO: How to do generic union discriminator for all like this - if (Object.values(ETransactionVersion2).includes(details.version as any)) { - const det = details as V2InvocationsSignerDetails; - msgHash = calculateInvokeTransactionHash({ - ...det, - senderAddress: det.walletAddress, - compiledCalldata, - version: det.version, - }); - } else if (Object.values(ETransactionVersion3).includes(details.version as any)) { + if (Object.values(ETransactionVersion3).includes(details.version as any)) { const det = details as V3InvocationsSignerDetails; msgHash = calculateInvokeTransactionHash({ ...det, @@ -108,15 +96,7 @@ export class EthSigner implements SignerInterface { /* const version = BigInt(details.version).toString(); */ let msgHash; - if (Object.values(ETransactionVersion2).includes(details.version as any)) { - const det = details as V2DeployAccountSignerDetails; - msgHash = calculateDeployAccountTransactionHash({ - ...det, - salt: det.addressSalt, - constructorCalldata: compiledConstructorCalldata, - version: det.version, - }); - } else if (Object.values(ETransactionVersion3).includes(details.version as any)) { + if (Object.values(ETransactionVersion3).includes(details.version as any)) { const det = details as V3DeployAccountSignerDetails; msgHash = calculateDeployAccountTransactionHash({ ...det, @@ -142,13 +122,7 @@ export class EthSigner implements SignerInterface { ): Promise { let msgHash; - if (Object.values(ETransactionVersion2).includes(details.version as any)) { - const det = details as V2DeclareSignerDetails; - msgHash = calculateDeclareTransactionHash({ - ...det, - version: det.version, - }); - } else if (Object.values(ETransactionVersion3).includes(details.version as any)) { + if (Object.values(ETransactionVersion3).includes(details.version as any)) { const det = details as V3DeclareSignerDetails; msgHash = calculateDeclareTransactionHash({ ...det, diff --git a/src/signer/interface.ts b/src/signer/interface.ts index 68e94501e..4eae0fdac 100644 --- a/src/signer/interface.ts +++ b/src/signer/interface.ts @@ -11,7 +11,7 @@ export abstract class SignerInterface { /** * Method to get the public key of the signer * - * @returns {string} hex-string + * @returns {Promise} hex-string public key * @example * ```typescript * const mySigner = new Signer("0x123"); @@ -25,50 +25,68 @@ export abstract class SignerInterface { * Signs a JSON object for off-chain usage with the private key and returns the signature. * This adds a message prefix so it can't be interchanged with transactions * - * @param {TypedData} typedData JSON object to be signed - * @param {string} accountAddress Hex string of the account's address + * @param {TypedData} typedData - JSON object to be signed + * @param {string} accountAddress - Hex string of the account's address * @returns {Promise} the signature of the message * @example * ```typescript * const mySigner = new Signer("0x123"); - * const myTypedData: TypedData = { - * domain: {name: "Example DApp", - * chainId: constants.StarknetChainId.SN_SEPOLIA, - * version: "0.0.3"}, - * types: {StarkNetDomain: [ - * { name: "name", type: "string" }, - * { name: "chainId", type: "felt" }, - * { name: "version", type: "string" }], - * Message: [{ name: "message", type: "felt" }]}, - * primaryType: "Message", message: {message: "1234"}}; - * const result = await mySigner.signMessage(myTypedData,"0x5d08a4e9188429da4e993c9bf25aafe5cd491ee2b501505d4d059f0c938f82d"); + * const myTypedData: TypedData = { + * domain: { + * name: "Example DApp", + * chainId: constants.StarknetChainId.SN_SEPOLIA, + * version: "0.0.3" + * }, + * types: { + * StarkNetDomain: [ + * { name: "name", type: "string" }, + * { name: "chainId", type: "felt" }, + * { name: "version", type: "string" } + * ], + * Message: [{ name: "message", type: "felt" }] + * }, + * primaryType: "Message", + * message: { message: "1234" } + * }; + * const result = await mySigner.signMessage(myTypedData, "0x5d08a4e9188429da4e993c9bf25aafe5cd491ee2b501505d4d059f0c938f82d"); * // result = Signature {r: 684915484701699003335398790608214855489903651271362390249153620883122231253n, * // s: 1399150959912500412309102776989465580949387575375484933432871778355496929189n, recovery: 1} * ``` - */ public abstract signMessage(typedData: TypedData, accountAddress: string): Promise; /** - * Signs transactions with the private key and returns the signature + * Signs INVOKE transactions with the private key and returns the signature * - * @param {Call[]} transactions array of Call objects - * @param {InvocationsSignerDetails} transactionsDetail InvocationsSignerDetails object + * @param {Call[]} transactions - Array of Call objects representing the transactions + * @param {InvocationsSignerDetails} transactionsDetail - Transaction details including V3 fields * @returns {Promise} the signature of the transaction + * @remarks Only supports V3 transactions. V0, V1, and V2 transactions will throw an error. * @example * ```typescript * const mySigner = new Signer("0x123"); * const calls: Call[] = [{ - * contractAddress: "0x1234567890123456789012345678901234567890", - * entrypoint: "functionName", - * calldata: [1, 2, 3] + * contractAddress: "0x1234567890123456789012345678901234567890", + * entrypoint: "transfer", + * calldata: ["0xRecipient", "1000", "0"] * }]; * const transactionsDetail: InvocationsSignerDetails = { - * walletAddress: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e', - * chainId: constants.StarknetChainId.SN_MAIN, - * cairoVersion: "1", - * maxFee: '0x1234567890abcdef', - * version: "0x0", nonce: 1}; + * walletAddress: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e', + * chainId: constants.StarknetChainId.SN_MAIN, + * cairoVersion: "1", + * version: "0x3", + * nonce: 1, + * resourceBounds: { + * l1_gas: { amount: "0x1000", price: "0x20" }, + * l2_gas: { amount: "0x200", price: "0x5" }, + * l1_data_gas: { amount: "0x500", price: "0x10" } + * }, + * tip: 0, + * paymasterData: [], + * accountDeploymentData: [], + * nonceDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, + * feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1 + * }; * const result = await mySigner.signTransaction(calls, transactionsDetail); * // result = Signature {r: 304910226421970384958146916800275294114105560641204815169249090836676768876n, * // s: 1072798866000813654190523783606274062837012608648308896325315895472901074693n, recovery: 0} @@ -82,21 +100,31 @@ export abstract class SignerInterface { /** * Signs a DEPLOY_ACCOUNT transaction with the private key and returns the signature * - * @param {DeployAccountSignerDetails} transaction to deploy an account contract + * @param {DeployAccountSignerDetails} transaction - Transaction details to deploy an account contract * @returns {Promise} the signature of the transaction to deploy an account + * @remarks Only supports V3 transactions. V0, V1, and V2 transactions will throw an error. * @example * ```typescript * const mySigner = new Signer("0x123"); * const myDeployAcc: DeployAccountSignerDetails = { * contractAddress: "0x65a822fbee1ae79e898688b5a4282dc79e0042cbed12f6169937fddb4c26641", - * version: "0x2", chainId: constants.StarknetChainId.SN_SEPOLIA, + * version: "0x3", + * chainId: constants.StarknetChainId.SN_SEPOLIA, * classHash: "0x5f3614e8671257aff9ac38e929c74d65b02d460ae966cd826c9f04a7fa8e0d4", - * constructorCalldata: [1, 2],addressSalt: 1234, - * nonce: 45, maxFee: 10 ** 15, tip: 0, paymasterData: [],accountDeploymentData: [], + * constructorCalldata: ["0x123", "0x456"], + * addressSalt: "0x789", + * nonce: 0, + * resourceBounds: { + * l1_gas: { amount: "0x1000", price: "0x20" }, + * l2_gas: { amount: "0x200", price: "0x5" }, + * l1_data_gas: { amount: "0x500", price: "0x10" } + * }, + * tip: 0, + * paymasterData: [], + * accountDeploymentData: [], * nonceDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - * feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - * resourceBounds: stark.estimateFeeToBounds(constants.ZERO), - * } + * feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1 + * }; * const result = await mySigner.signDeployAccountTransaction(myDeployAcc); * // result = Signature {r: 2871311234341436528393212130310036951068553852419934781736214693308640202748n, * // s: 1746271646048888422437132495446973163454853863041370993384284773665861377605n, recovery: 1} @@ -109,20 +137,30 @@ export abstract class SignerInterface { /** * Signs a DECLARE transaction with the private key and returns the signature * - * @param {DeclareSignerDetails} transaction to declare a class + * @param {DeclareSignerDetails} transaction - Transaction details to declare a contract class * @returns {Promise} the signature of the transaction to declare a class + * @remarks Only supports V3 transactions. V0, V1, and V2 transactions will throw an error. * @example * ```typescript * const mySigner = new Signer("0x123"); * const myDeclare: DeclareSignerDetails = { - * version: "0x2", chainId: constants.StarknetChainId.SN_SEPOLIA, + * version: "0x3", + * chainId: constants.StarknetChainId.SN_SEPOLIA, * senderAddress: "0x65a822fbee1ae79e898688b5a4282dc79e0042cbed12f6169937fddb4c26641", * classHash: "0x5f3614e8671257aff9ac38e929c74d65b02d460ae966cd826c9f04a7fa8e0d4", - * nonce: 45, maxFee: 10 ** 15, tip: 0, paymasterData: [], accountDeploymentData: [], + * compiledClassHash: "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", + * nonce: 45, + * resourceBounds: { + * l1_gas: { amount: "0x1000", price: "0x20" }, + * l2_gas: { amount: "0x200", price: "0x5" }, + * l1_data_gas: { amount: "0x500", price: "0x10" } + * }, + * tip: 0, + * paymasterData: [], + * accountDeploymentData: [], * nonceDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - * feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - * resourceBounds: stark.estimateFeeToBounds(constants.ZERO), -} + * feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1 + * }; * const result = await mySigner.signDeclareTransaction(myDeclare); * // result = Signature {r: 2432056944313955951711774394836075930010416436707488863728289188289211995670n, * // s: 3407649393310177489888603098175002856596469926897298636282244411990343146307n, recovery: 1} diff --git a/src/signer/ledgerSigner111.ts b/src/signer/ledgerSigner111.ts index e4c88ed2d..474f7912e 100644 --- a/src/signer/ledgerSigner111.ts +++ b/src/signer/ledgerSigner111.ts @@ -1,13 +1,10 @@ /* eslint no-underscore-dangle: ["error", { "allowAfterThis": true }] */ import type { InvocationsSignerDetails, - V2InvocationsSignerDetails, V3InvocationsSignerDetails, DeployAccountSignerDetails, - V2DeployAccountSignerDetails, V3DeployAccountSignerDetails, DeclareSignerDetails, - V2DeclareSignerDetails, V3DeclareSignerDetails, TypedData, Call, @@ -16,6 +13,7 @@ import type { } from '../types'; import assert from '../utils/assert'; import { CallData } from '../utils/calldata'; +import Buffer from '../utils/connect/buffer'; import type { SignerInterface } from './interface'; import { MASK_31 } from '../global/constants'; import { getMessageHash } from '../utils/typedData'; @@ -29,7 +27,7 @@ import { intDAM } from '../utils/stark'; import { addHexPrefix, buf2hex, concatenateArrayBuffer, removeHexPrefix } from '../utils/encode'; import { hexToBytes, stringToSha256ToArrayBuff4, toHex } from '../utils/num'; import { starkCurve } from '../utils/ec'; -import { ETransactionVersion2, ETransactionVersion3 } from '../types/api'; +import { ETransactionVersion3 } from '../types/api'; // import type _Transport from '@ledgerhq/hw-transport'; // NOTE: the preceding line was substituted because of the '@ledgerhq/hw-transport' module bug listed in @@ -201,16 +199,7 @@ export class LedgerSigner111 = any> implement const compiledCalldata = getExecuteCalldata(transactions, transactionsDetail.cairoVersion); let msgHash; - // TODO: How to do generic union discriminator for all like this - if (Object.values(ETransactionVersion2).includes(transactionsDetail.version as any)) { - const det = transactionsDetail as V2InvocationsSignerDetails; - msgHash = calculateInvokeTransactionHash({ - ...det, - senderAddress: det.walletAddress, - compiledCalldata, - version: det.version, - }); - } else if (Object.values(ETransactionVersion3).includes(transactionsDetail.version as any)) { + if (Object.values(ETransactionVersion3).includes(transactionsDetail.version as any)) { const det = transactionsDetail as V3InvocationsSignerDetails; msgHash = calculateInvokeTransactionHash({ ...det, @@ -246,15 +235,7 @@ export class LedgerSigner111 = any> implement /* const version = BigInt(details.version).toString(); */ let msgHash; - if (Object.values(ETransactionVersion2).includes(details.version as any)) { - const det = details as V2DeployAccountSignerDetails; - msgHash = calculateDeployAccountTransactionHash({ - ...det, - salt: det.addressSalt, - constructorCalldata: compiledConstructorCalldata, - version: det.version, - }); - } else if (Object.values(ETransactionVersion3).includes(details.version as any)) { + if (Object.values(ETransactionVersion3).includes(details.version as any)) { const det = details as V3DeployAccountSignerDetails; msgHash = calculateDeployAccountTransactionHash({ ...det, @@ -288,13 +269,7 @@ export class LedgerSigner111 = any> implement details: DeclareSignerDetails ): Promise { let msgHash; - if (Object.values(ETransactionVersion2).includes(details.version as any)) { - const det = details as V2DeclareSignerDetails; - msgHash = calculateDeclareTransactionHash({ - ...det, - version: det.version, - }); - } else if (Object.values(ETransactionVersion3).includes(details.version as any)) { + if (Object.values(ETransactionVersion3).includes(details.version as any)) { const det = details as V3DeclareSignerDetails; msgHash = calculateDeclareTransactionHash({ ...det, diff --git a/src/signer/ledgerSigner221.ts b/src/signer/ledgerSigner221.ts index 7cfd73eca..747c1cc58 100644 --- a/src/signer/ledgerSigner221.ts +++ b/src/signer/ledgerSigner221.ts @@ -3,7 +3,6 @@ /* eslint no-underscore-dangle: ["error", { "allowAfterThis": true }] */ import type { InvocationsSignerDetails, - V2InvocationsSignerDetails, Call, Signature, Calldata, @@ -11,11 +10,11 @@ import type { V3InvocationsSignerDetails, LedgerPathCalculation, DeployAccountSignerDetails, - V2DeployAccountSignerDetails, V3DeployAccountSignerDetails, } from '../types'; import assert from '../utils/assert'; import { CallData } from '../utils/calldata'; +import Buffer from '../utils/connect/buffer'; import type { SignerInterface } from './interface'; import { HARDENING_4BYTES, HARDENING_BYTE } from '../global/constants'; import { getExecuteCalldata } from '../utils/transaction'; @@ -28,12 +27,7 @@ import { intDAM } from '../utils/stark'; import { addHexPrefix, buf2hex, concatenateArrayBuffer, removeHexPrefix } from '../utils/encode'; import { hexToBytes, stringToSha256ToArrayBuff4, toBigInt, toHex } from '../utils/num'; import { starkCurve } from '../utils/ec'; -import { - EDAMode, - EDataAvailabilityMode, - ETransactionVersion2, - ETransactionVersion3, -} from '../types/api'; +import { EDAMode, EDataAvailabilityMode, ETransactionVersion3 } from '../types/api'; import { addAddressPadding } from '../utils/address'; import { encodeResourceBoundsL1, @@ -122,22 +116,6 @@ export class LedgerSigner221 = any> transactionsDetail: InvocationsSignerDetails ): Promise { const compiledCalldata = getExecuteCalldata(transactions, transactionsDetail.cairoVersion); - // TODO: How to do generic union discriminator for all like this - if (Object.values(ETransactionVersion2).includes(transactionsDetail.version as any)) { - const det = transactionsDetail as V2InvocationsSignerDetails; - const msgHash = calculateInvokeTransactionHash({ - ...det, - senderAddress: det.walletAddress, - compiledCalldata, - version: det.version, - }); - const ledgerResponse = await this.signTxV1(det, transactions); - assert( - toBigInt(msgHash) === ledgerResponse.hash, - 'The V1 transaction hash calculated by Starknet.js is different from the one calculated by the Ledger.' - ); // probably non compatibility with Cairo 0 - return ledgerResponse.signature; - } if (Object.values(ETransactionVersion3).includes(transactionsDetail.version as any)) { const det = transactionsDetail as V3InvocationsSignerDetails; const msgHash = calculateInvokeTransactionHash({ @@ -176,21 +154,6 @@ export class LedgerSigner221 = any> const compiledConstructorCalldata = CallData.compile(details.constructorCalldata); let msgHash; - if (Object.values(ETransactionVersion2).includes(details.version as any)) { - const det = details as V2DeployAccountSignerDetails; - msgHash = calculateDeployAccountTransactionHash({ - ...det, - salt: det.addressSalt, - constructorCalldata: compiledConstructorCalldata, - version: det.version, - }); - const ledgerResponse = await this.signDeployAccountV1(det); - assert( - toBigInt(msgHash) === ledgerResponse.hash, - 'The transaction hash calculated by Starknet.js is different from the one calculated by the Ledger.' - ); // probably non compatibility with Cairo 0 - return ledgerResponse.signature; - } if (Object.values(ETransactionVersion3).includes(details.version as any)) { const det = details as V3DeployAccountSignerDetails; msgHash = calculateDeployAccountTransactionHash({ @@ -262,71 +225,6 @@ export class LedgerSigner221 = any> return calldatas; } - /** - * Ask the Ledger Nano to display and sign a Starknet V1 transaction. - * @param {V2InvocationsSignerDetails} txDetails All the details needed for a txV1. - * @param {Call[]} calls array of Starknet invocations - * @returns an object including the transaction Hash and the signature - * @example - * ```typescript - * const calls: Call[] = [{contractAddress: "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7", - * entrypoint: "transfer", - * calldata:["0x11f5fc2a92ac03434a7937fe982f5e5293b65ad438a989c5b78fb8f04a12016", - * "0x9184e72a000", "0x0"]}]; - * const txDet: V2InvocationsSignerDetails = { - * walletAddress: txDetails.accountAddress, - * chainId: constants.StarknetChainId.SN_MAIN, - * cairoVersion: "1", maxFee: txDetails.max_fee, - * nonce: txDetails.nonce, version: "0x1" - * }; - * const res = await myLedgerSigner.signTxV1(txDet, calls); - * // res = {hash: - * // signature: - * // } - * ``` - */ - public async signTxV1( - txDetails: V2InvocationsSignerDetails, - calls: Call[] - ): Promise<{ hash: bigint; signature: Signature }> { - // APDU 0 for path - await this._transporter.send(Number('0x5a'), 4, 0, 0, Buffer.from(this.pathBuffer)); - /* APDU 1 = - accountAddress (32 bytes) + - max_fee (32 bytes) + - chain_id (32 bytes) + - nonce (32 bytes) - */ - const accountAddressBuf: Uint8Array = this.convertBnToLedger(txDetails.walletAddress); - const maxFeeBuf: Uint8Array = this.convertBnToLedger(txDetails.maxFee); - const chainIdBuf: Uint8Array = this.convertBnToLedger(txDetails.chainId); - const nonceBuf: Uint8Array = this.convertBnToLedger(txDetails.nonce); - const dataBuf: Uint8Array = concatenateArrayBuffer([ - accountAddressBuf, - maxFeeBuf, - chainIdBuf, - nonceBuf, - ]); - await this._transporter.send(Number('0x5a'), 4, 1, 0, Buffer.from(dataBuf)); - // APDU 2 = Nb of calls - const nbCallsBuf: Uint8Array = this.convertBnToLedger(calls.length); - await this._transporter.send(Number('0x5a'), 4, 2, 0, Buffer.from(nbCallsBuf)); - // APDU 3 = Calls - let respSign: Uint8Array = new Uint8Array(0); - // eslint-disable-next-line no-restricted-syntax - for (const call of calls) { - const calldatas: Uint8Array[] = this.encodeCall(call); - await this._transporter.send(Number('0x5a'), 4, 3, 0, Buffer.from(calldatas[0])); - if (calldatas.length > 1) { - calldatas.slice(1).forEach(async (part: Uint8Array) => { - await this._transporter.send(Number('0x5a'), 4, 3, 1, Buffer.from(part)); - }); - } - respSign = await this._transporter.send(Number('0x5a'), 4, 3, 2); - } - return this.decodeSignatureLedger(respSign); - } - /** * Ask to the Ledger Nano to display and sign a Starknet V3 transaction. * @param {V3InvocationsSignerDetails} txDetails All the details needed for a txV3. @@ -432,88 +330,6 @@ export class LedgerSigner221 = any> return this.decodeSignatureLedger(respSign); } - /** - * Ask the Ledger Nano to display and sign a Starknet V1 account deployment. - * @param {V2DeployAccountSignerDetails} deployAccountDetail All the details needed for a V1 deploy account. - * @returns an object including the transaction Hash and the signature - * @example - * ```typescript - * const deployData: V2DeployAccountSignerDetails = - * { - * tip: 0, paymasterData: [], accountDeploymentData: [], - * nonceDataAvailabilityMode: 'L1', feeDataAvailabilityMode: 'L1', - * resourceBounds: { - * l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - * l1_gas: { max_amount: '0x0', max_price_per_unit: '0x0' } - * }, - * classHash: '0x540d7f5ec7ecf317e68d48564934cb99259781b1ee3cedbbc37ec5337f8e688', - * constructorCalldata: [ - * '89832696000889662999767022750851886674077821293893187900664573372145410755' - * ], - * contractAddress: '0x32c60fba64eb96831d064bbb2319375b7b7381543abe66da872e4344bcd72a0', - * addressSalt: '0x0032d7efe2a9232f9b463e7206c68fdea4aeb13fec0cb308c6ba1d197d5922c3', - * chainId: '0x534e5f5345504f4c4941', maxFee: 55050000000000n, - * version: '0x1', nonce: 0n - *} - * const res = await myLedgerSigner.signDeployAccountV1(deployData); - * // res = {hash: - * // signature: - * // } - * ``` - */ - public async signDeployAccountV1( - deployAccountDetail: V2DeployAccountSignerDetails - ): Promise<{ hash: bigint; signature: Signature }> { - // APDU 0 for path - await this._transporter.send(Number('0x5a'), 6, 0, 0, Buffer.from(this.pathBuffer)); - /* APDU 1 = - contract_address (32 bytes) + - class_hash (32 bytes) + - contract_address_salt (32 bytes) + - chain_id (32 bytes) + - nonce (32 bytes) - */ - const accountAddressBuf: Uint8Array = this.convertBnToLedger( - deployAccountDetail.contractAddress - ); - const classHashBuf: Uint8Array = this.convertBnToLedger(deployAccountDetail.classHash); - const saltBuf: Uint8Array = this.convertBnToLedger(deployAccountDetail.addressSalt); - const chainIdBuf: Uint8Array = this.convertBnToLedger(deployAccountDetail.chainId); - const nonceBuf: Uint8Array = this.convertBnToLedger(deployAccountDetail.nonce); - const dataBuf: Uint8Array = concatenateArrayBuffer([ - accountAddressBuf, - classHashBuf, - saltBuf, - chainIdBuf, - nonceBuf, - ]); - await this._transporter.send(Number('0x5a'), 6, 1, 0, Buffer.from(dataBuf)); - // APDU 2 = Nb of calls - const maxFreeBuf: Uint8Array = this.convertBnToLedger(deployAccountDetail.maxFee); - await this._transporter.send(Number('0x5a'), 6, 2, 0, Buffer.from(maxFreeBuf)); - // APDU 3 = constructor length - const compiledConstructor = CallData.compile(deployAccountDetail.constructorCalldata); - const constructorLengthBuf: Uint8Array = this.convertBnToLedger(compiledConstructor.length); - await this._transporter.send(Number('0x5a'), 6, 3, 0, Buffer.from(constructorLengthBuf)); - // APDU 4 = constructor - const constructorBuf = concatenateArrayBuffer( - compiledConstructor.map((parameter: string): Uint8Array => { - const a = this.convertBnToLedger(parameter); - return a; - }) - ); - const constructorChunks: Uint8Array[] = []; - const chunkSize = 7 * 32; // 224 bytes - for (let i = 0; i < constructorBuf.length; i += chunkSize) - constructorChunks.push(constructorBuf.subarray(i, i + chunkSize)); - let respSign: Uint8Array = new Uint8Array(0); - // eslint-disable-next-line no-restricted-syntax - for (const chunk of constructorChunks) { - respSign = await this._transporter.send(Number('0x5a'), 6, 4, 0, Buffer.from(chunk)); - } - return this.decodeSignatureLedger(respSign); - } - /** *Ask the Ledger Nano to display and sign a Starknet V3 account deployment. * @param {V3DeployAccountSignerDetails} deployAccountDetail All the details needed for a V3 deploy account. diff --git a/src/signer/ledgerSigner231.ts b/src/signer/ledgerSigner231.ts index a55112ae7..818160a71 100644 --- a/src/signer/ledgerSigner231.ts +++ b/src/signer/ledgerSigner231.ts @@ -3,18 +3,17 @@ /* eslint no-underscore-dangle: ["error", { "allowAfterThis": true }] */ import { - isRPC08_ResourceBounds, + isRPC08Plus_ResourceBoundsBN, type BigNumberish, type Call, type Calldata, type LedgerPathCalculation, type Signature, - type V2DeployAccountSignerDetails, - type V2InvocationsSignerDetails, type V3DeployAccountSignerDetails, type V3InvocationsSignerDetails, } from '../types'; import { CallData } from '../utils/calldata'; +import Buffer from '../utils/connect/buffer'; import type { SignerInterface } from './interface'; import { getSelector } from '../utils/hash'; import { concatenateArrayBuffer } from '../utils/encode'; @@ -28,7 +27,6 @@ import { encodeResourceBoundsL2, hashDAMode, } from '../utils/hash/transactionHash/v3'; -import type { RPCSPEC08 } from '../types/api'; import { intDAM } from '../utils/stark'; /** @@ -71,71 +69,6 @@ export class LedgerSigner231 = any> super(transport, accountID, eip2645application, pathFunction); } - /** - * Ask the Ledger Nano to display and sign a Starknet V1 transaction. - * @param {V2InvocationsSignerDetails} txDetails All the details needed for a txV1. - * @param {Call[]} calls array of Starknet invocations - * @returns an object including the transaction Hash and the signature - * @example - * ```typescript - * const calls: Call[] = [{contractAddress: "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7", - * entrypoint: "transfer", - * calldata:["0x11f5fc2a92ac03434a7937fe982f5e5293b65ad438a989c5b78fb8f04a12016", - * "0x9184e72a000", "0x0"]}]; - * const txDet: V2InvocationsSignerDetails = { - * walletAddress: txDetails.accountAddress, - * chainId: constants.StarknetChainId.SN_MAIN, - * cairoVersion: "1", maxFee: txDetails.max_fee, - * nonce: txDetails.nonce, version: "0x1" - * }; - * const res = await myLedgerSigner.signTxV1(txDet, calls); - * // res = {hash: - * // signature: - * // } - * ``` - */ - public async signTxV1( - txDetails: V2InvocationsSignerDetails, - calls: Call[] - ): Promise<{ hash: bigint; signature: Signature }> { - // APDU 0 for path - await this._transporter.send(Number('0x5a'), 4, 0, 0, Buffer.from(this.pathBuffer)); - /* APDU 1 = - accountAddress (32 bytes) + - max_fee (32 bytes) + - chain_id (32 bytes) + - nonce (32 bytes) - */ - const accountAddressBuf: Uint8Array = this.convertBnToLedger(txDetails.walletAddress); - const maxFeeBuf: Uint8Array = this.convertBnToLedger(txDetails.maxFee); - const chainIdBuf: Uint8Array = this.convertBnToLedger(txDetails.chainId); - const nonceBuf: Uint8Array = this.convertBnToLedger(txDetails.nonce); - const dataBuf: Uint8Array = concatenateArrayBuffer([ - accountAddressBuf, - maxFeeBuf, - chainIdBuf, - nonceBuf, - ]); - await this._transporter.send(Number('0x5a'), 4, 1, 0, Buffer.from(dataBuf)); - // APDU 2 = Nb of calls - const nbCallsBuf: Uint8Array = this.convertBnToLedger(calls.length); - await this._transporter.send(Number('0x5a'), 4, 2, 0, Buffer.from(nbCallsBuf)); - // APDU 3 = Calls - let respSign: Uint8Array = new Uint8Array(0); - // eslint-disable-next-line no-restricted-syntax - for (const call of calls) { - const calldatas: Uint8Array[] = this.encodeCall(call); - respSign = await this._transporter.send(Number('0x5a'), 4, 3, 0, Buffer.from(calldatas[0])); - if (calldatas.length > 1) { - // eslint-disable-next-line @typescript-eslint/no-loop-func - calldatas.slice(1).forEach(async (part: Uint8Array) => { - respSign = await this._transporter.send(Number('0x5a'), 4, 3, 1, Buffer.from(part)); - }); - } - } - return this.decodeSignatureLedger(respSign); - } - /** * Ask to the Ledger Nano to display and sign a Starknet V3 transaction (Rpc 0.7 & Rpc 0.8). * @param {V3InvocationsSignerDetails} txDetails All the details needed for a txV3. @@ -199,12 +132,12 @@ export class LedgerSigner231 = any> await this._transporter.send(Number('0x5a'), 3, 1, 0, Buffer.from(dataBuf)); // APDU 2 = fees - if (isRPC08_ResourceBounds(txDetails.resourceBounds)) { + if (isRPC08Plus_ResourceBoundsBN(txDetails.resourceBounds)) { const tipBuf = this.convertBnToLedger(txDetails.tip); const l1_gasBuf = this.convertBnToLedger(encodeResourceBoundsL1(txDetails.resourceBounds)); const l2_gasBuf = this.convertBnToLedger(encodeResourceBoundsL2(txDetails.resourceBounds)); const l1_data_gasBuf = this.convertBnToLedger( - encodeDataResourceBoundsL1(txDetails.resourceBounds as RPCSPEC08.ResourceBounds) + encodeDataResourceBoundsL1(txDetails.resourceBounds) ); const feeBuf: Uint8Array = concatenateArrayBuffer([ tipBuf, @@ -213,13 +146,6 @@ export class LedgerSigner231 = any> l1_data_gasBuf, ]); await this._transporter.send(Number('0x5a'), 3, 2, 0, Buffer.from(feeBuf)); - } else { - // Rpc0.7 - const tipBuf = this.convertBnToLedger(txDetails.tip); - const l1_gasBuf = this.convertBnToLedger(encodeResourceBoundsL1(txDetails.resourceBounds)); - const l2_gasBuf = this.convertBnToLedger(encodeResourceBoundsL2(txDetails.resourceBounds)); - const feeBuf: Uint8Array = concatenateArrayBuffer([tipBuf, l1_gasBuf, l2_gasBuf]); - await this._transporter.send(Number('0x5a'), 3, 2, 0, Buffer.from(feeBuf)); } // APDU 3 = paymaster data @@ -259,88 +185,6 @@ export class LedgerSigner231 = any> return this.decodeSignatureLedger(respSign); } - /** - * Ask the Ledger Nano to display and sign a Starknet V1 account deployment. - * @param {V2DeployAccountSignerDetails} deployAccountDetail All the details needed for a V1 deploy account. - * @returns an object including the transaction Hash and the signature - * @example - * ```typescript - * const deployData: V2DeployAccountSignerDetails = - * { - * tip: 0, paymasterData: [], accountDeploymentData: [], - * nonceDataAvailabilityMode: 'L1', feeDataAvailabilityMode: 'L1', - * resourceBounds: { - * l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - * l1_gas: { max_amount: '0x0', max_price_per_unit: '0x0' } - * }, - * classHash: '0x540d7f5ec7ecf317e68d48564934cb99259781b1ee3cedbbc37ec5337f8e688', - * constructorCalldata: [ - * '89832696000889662999767022750851886674077821293893187900664573372145410755' - * ], - * contractAddress: '0x32c60fba64eb96831d064bbb2319375b7b7381543abe66da872e4344bcd72a0', - * addressSalt: '0x0032d7efe2a9232f9b463e7206c68fdea4aeb13fec0cb308c6ba1d197d5922c3', - * chainId: '0x534e5f5345504f4c4941', maxFee: 55050000000000n, - * version: '0x1', nonce: 0n - *} - * const res = await myLedgerSigner.signDeployAccountV1(deployData); - * // res = {hash: - * // signature: - * // } - * ``` - */ - public async signDeployAccountV1( - deployAccountDetail: V2DeployAccountSignerDetails - ): Promise<{ hash: bigint; signature: Signature }> { - // APDU 0 for path - await this._transporter.send(Number('0x5a'), 6, 0, 0, Buffer.from(this.pathBuffer)); - /* APDU 1 = - contract_address (32 bytes) + - class_hash (32 bytes) + - contract_address_salt (32 bytes) + - max_fee (32 bytes) + - chain_id (32 bytes) + - nonce (32 bytes) - */ - const accountAddressBuf: Uint8Array = this.convertBnToLedger( - deployAccountDetail.contractAddress - ); - const classHashBuf: Uint8Array = this.convertBnToLedger(deployAccountDetail.classHash); - const saltBuf: Uint8Array = this.convertBnToLedger(deployAccountDetail.addressSalt); - const maxFeeBuf: Uint8Array = this.convertBnToLedger(deployAccountDetail.maxFee); - const chainIdBuf: Uint8Array = this.convertBnToLedger(deployAccountDetail.chainId); - const nonceBuf: Uint8Array = this.convertBnToLedger(deployAccountDetail.nonce); - const dataBuf: Uint8Array = concatenateArrayBuffer([ - accountAddressBuf, - classHashBuf, - saltBuf, - maxFeeBuf, - chainIdBuf, - nonceBuf, - ]); - await this._transporter.send(Number('0x5a'), 6, 1, 0, Buffer.from(dataBuf)); - // APDU 2 = constructor length - const compiledConstructor = CallData.compile(deployAccountDetail.constructorCalldata); - const constructorLengthBuf: Uint8Array = this.convertBnToLedger(compiledConstructor.length); - await this._transporter.send(Number('0x5a'), 6, 2, 0, Buffer.from(constructorLengthBuf)); - // APDU 3 = constructor - const constructorBuf = concatenateArrayBuffer( - compiledConstructor.map((parameter: string): Uint8Array => { - const a = this.convertBnToLedger(parameter); - return a; - }) - ); - const constructorChunks: Uint8Array[] = []; - const chunkSize = 7 * 32; // 224 bytes - for (let i = 0; i < constructorBuf.length; i += chunkSize) - constructorChunks.push(constructorBuf.subarray(i, i + chunkSize)); - let respSign: Uint8Array = new Uint8Array(0); - // eslint-disable-next-line no-restricted-syntax - for (const chunk of constructorChunks) { - respSign = await this._transporter.send(Number('0x5a'), 6, 3, 0, Buffer.from(chunk)); - } - return this.decodeSignatureLedger(respSign); - } - /** *Ask the Ledger Nano to display and sign a Starknet V3 account deployment (Rpc 0.7 & Rpc 0.8). * @param {V3DeployAccountSignerDetails} deployAccountDetail All the details needed for a V3 deploy account. @@ -406,7 +250,7 @@ export class LedgerSigner231 = any> ]); await this._transporter.send(Number('0x5a'), 5, 1, 0, Buffer.from(dataBuf)); // APDU 2 = fees - if (isRPC08_ResourceBounds(deployAccountDetail.resourceBounds)) { + if (isRPC08Plus_ResourceBoundsBN(deployAccountDetail.resourceBounds)) { const tipBuf = this.convertBnToLedger(deployAccountDetail.tip); const l1_gasBuf = this.convertBnToLedger( encodeResourceBoundsL1(deployAccountDetail.resourceBounds) @@ -415,7 +259,7 @@ export class LedgerSigner231 = any> encodeResourceBoundsL2(deployAccountDetail.resourceBounds) ); const l1_data_gasBuf = this.convertBnToLedger( - encodeDataResourceBoundsL1(deployAccountDetail.resourceBounds as RPCSPEC08.ResourceBounds) + encodeDataResourceBoundsL1(deployAccountDetail.resourceBounds) ); const feeBuf: Uint8Array = concatenateArrayBuffer([ tipBuf, @@ -424,17 +268,6 @@ export class LedgerSigner231 = any> l1_data_gasBuf, ]); await this._transporter.send(Number('0x5a'), 5, 2, 0, Buffer.from(feeBuf)); - } else { - // Rpc0.7 - const tipBuf = this.convertBnToLedger(deployAccountDetail.tip); - const l1_gasBuf = this.convertBnToLedger( - encodeResourceBoundsL1(deployAccountDetail.resourceBounds) - ); - const l2_gasBuf = this.convertBnToLedger( - encodeResourceBoundsL2(deployAccountDetail.resourceBounds) - ); - const feeBuf: Uint8Array = concatenateArrayBuffer([tipBuf, l1_gasBuf, l2_gasBuf]); - await this._transporter.send(Number('0x5a'), 5, 2, 0, Buffer.from(feeBuf)); } // APDU 3 = paymaster data const paymasterBuf = concatenateArrayBuffer( diff --git a/src/types/account.ts b/src/types/account.ts deleted file mode 100644 index c12c93c06..000000000 --- a/src/types/account.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { EDataAvailabilityMode, ETransactionVersion, PAYMASTER_API } from './api'; -import { - AllowArray, - BigNumberish, - BlockIdentifier, - Call, - DeclareContractPayload, - DeployAccountContractPayload, - TransactionType, - UniversalDeployerContractPayload, - V3TransactionDetails, -} from './lib'; -import { - DeclareTransactionReceiptResponse, - EstimateFeeResponse, -} from '../provider/types/index.type'; -import { ResourceBounds } from '../provider/types/spec.type'; -import { FeeMode, PaymasterTimeBounds } from './paymaster'; - -export interface EstimateFee extends EstimateFeeResponse {} - -export type UniversalSuggestedFee = { - maxFee: BigNumberish; - resourceBounds: ResourceBounds; -}; - -export type EstimateFeeBulk = Array; - -// TODO: This is too wide generic with optional params -export type AccountInvocationsFactoryDetails = { - versions: Array<`${ETransactionVersion}`>; - nonce?: BigNumberish; - blockIdentifier?: BlockIdentifier; - skipValidate?: boolean; -} & Partial; - -export interface UniversalDetails { - nonce?: BigNumberish; - blockIdentifier?: BlockIdentifier; - /** - * Max fee to pay for V2 transaction - */ - maxFee?: BigNumberish; // ignored on estimate - tip?: BigNumberish; - paymasterData?: BigNumberish[]; - accountDeploymentData?: BigNumberish[]; - nonceDataAvailabilityMode?: EDataAvailabilityMode; - feeDataAvailabilityMode?: EDataAvailabilityMode; - version?: BigNumberish; - resourceBounds?: ResourceBounds; // ignored on estimate - skipValidate?: boolean; // ignored on non-estimate -} - -export interface PaymasterDetails { - feeMode: FeeMode; - deploymentData?: PAYMASTER_API.AccountDeploymentData; - timeBounds?: PaymasterTimeBounds; -} - -export interface EstimateFeeDetails extends UniversalDetails {} - -export interface DeployContractResponse { - contract_address: string; - transaction_hash: string; -} - -export type MultiDeployContractResponse = { - contract_address: Array; - transaction_hash: string; -}; - -export type DeployContractUDCResponse = { - contract_address: string; - transaction_hash: string; - address: string; - deployer: string; - unique: string; - classHash: string; - calldata_len: string; - calldata: Array; - salt: string; -}; - -export type DeclareDeployUDCResponse = { - declare: { - class_hash: BigNumberish; - } & Partial; - deploy: DeployContractUDCResponse; -}; - -export type SimulateTransactionDetails = { - nonce?: BigNumberish; - blockIdentifier?: BlockIdentifier; - skipValidate?: boolean; - skipExecute?: boolean; -} & Partial; - -export type EstimateFeeAction = - | { - type: typeof TransactionType.INVOKE; - payload: AllowArray; - } - | { - type: typeof TransactionType.DECLARE; - payload: DeclareContractPayload; - } - | { - type: typeof TransactionType.DEPLOY_ACCOUNT; - payload: DeployAccountContractPayload; - } - | { - type: typeof TransactionType.DEPLOY; - payload: UniversalDeployerContractPayload; - }; - -export type StarkProfile = { - name?: string; - profilePicture?: string; - discord?: string; - twitter?: string; - github?: string; - proofOfPersonhood?: boolean; -}; diff --git a/src/types/api/index.ts b/src/types/api/index.ts index f46fabab7..020d6fa39 100644 --- a/src/types/api/index.ts +++ b/src/types/api/index.ts @@ -1,9 +1,12 @@ export * as JRPC from './jsonrpc'; -export * as RPCSPEC07 from '@starknet-io/starknet-types-07'; export * as RPCSPEC08 from '@starknet-io/starknet-types-08'; +export * as RPCSPEC09 from '@starknet-io/starknet-types-09'; export { PAYMASTER_API } from '@starknet-io/starknet-types-08'; -export * from '@starknet-io/starknet-types-08'; -// TODO: Should this be default export type as RPCSPEC07 & RPCSPEC08 are sued only in channel rest of the code do not know what rpc version it works with and it can be both. -// export * from '../../provider/types/spec.type'; +// Default export +// alias for "export * from '@starknet-io/starknet-types-09';" which is done within ./rpc.ts +// the extra level avoids a rollup issue that injects namespace merger JS code into the published .d.ts file +// +// eslint-disable-next-line +export * from './rpc'; diff --git a/src/types/api/jsonrpc/index.ts b/src/types/api/jsonrpc.ts similarity index 100% rename from src/types/api/jsonrpc/index.ts rename to src/types/api/jsonrpc.ts diff --git a/src/types/api/rpc.ts b/src/types/api/rpc.ts new file mode 100644 index 000000000..524c805bb --- /dev/null +++ b/src/types/api/rpc.ts @@ -0,0 +1,2 @@ +// see explanation in ./index.ts +export * from '@starknet-io/starknet-types-09'; diff --git a/src/types/calldata.ts b/src/types/calldata.ts index 2a5f32ab5..9e5494208 100644 --- a/src/types/calldata.ts +++ b/src/types/calldata.ts @@ -13,6 +13,7 @@ export const Uint = { u16: 'core::integer::u16', u32: 'core::integer::u32', u64: 'core::integer::u64', + u96: 'core::integer::u96', u128: 'core::integer::u128', u256: 'core::integer::u256', // This one is struct u512: 'core::integer::u512', // This one is struct @@ -20,6 +21,16 @@ export const Uint = { export type Uint = ValuesType; +export const Int = { + i8: 'core::integer::i8', + i16: 'core::integer::i16', + i32: 'core::integer::i32', + i64: 'core::integer::i64', + i128: 'core::integer::i128', +} as const; + +export type Int = ValuesType; + export const Literal = { ClassHash: 'core::starknet::class_hash::ClassHash', ContractAddress: 'core::starknet::contract_address::ContractAddress', diff --git a/src/types/contract.ts b/src/types/contract.ts deleted file mode 100644 index 8b292c5f7..000000000 --- a/src/types/contract.ts +++ /dev/null @@ -1,99 +0,0 @@ -import { BlockHash, TransactionHash } from '@starknet-io/starknet-types-07'; -import { CairoEnum } from './cairoEnum'; -import { - BlockIdentifier, - BlockNumber, - Calldata, - ParsedStruct, - RawArgsArray, - Signature, -} from './lib'; -import { UniversalDetails } from './account'; - -export type AsyncContractFunction = (...args: ArgsOrCalldataWithOptions) => Promise; -export type ContractFunction = (...args: ArgsOrCalldataWithOptions) => any; - -export type Result = - | { - [key: string]: any; - } - | Result[] - | bigint - | string - | boolean - | CairoEnum; - -// export type ArgsOrCalldata = RawArgsArray | [Calldata] | Calldata; -// export type ArgsOrCalldataWithOptions = ArgsOrCalldata & ContractOptions; - -// RawParamsOrCalldata as args -export type ArgsOrCalldata = - // params like (va,vb,vc,vd...) as args is [va,vb,vc,vd...] - // params like (x) where x = {a:va,b:vb,c:vc...} as args is [x] - // params like (x) where x = [va,vb,vc...] as args is [[x]] - | RawArgsArray // recursive definition cover all this cases - // [calldata] is [['0x','0x'...]] - | [Calldata] - // calldata is ['0x','0x'...] - | Calldata; - -// RawParamsOrCalldata where each can have an option -export type ArgsOrCalldataWithOptions = - // params like (va,vb,vc,vd..., option) as args is [va,vb,vc,vd..., option] - // params like (x, option) where x = {a:va,b:vb,c:vc...} as args is [x, option] - // params like (x, option) where x = [va,vb,vc...] as args is [[x], option] - // recursive definition cover all this cases - | [...RawArgsArray] - | [...RawArgsArray, ContractOptions] - // used when called compile that return array of calldata - // (calldata, options) as args is [['0x','0x'...], options] - | [Calldata] - | [Calldata, ContractOptions] - // used when separate params compilations - // (c,a,l,l,d,a,t,a, options) as args is ['0x','0x'..., options] - | [...Calldata] - | [...Calldata, ContractOptions]; - -export type ContractOptions = { - blockIdentifier?: BlockIdentifier; - /** - * compile and validate arguments - */ - parseRequest?: boolean; - /** - * Parse elements of the response array and structuring them into response object - */ - parseResponse?: boolean; - /** - * Advance formatting used to get js types data as result - * @description https://starknetjs.com/docs/guides/define_call_message/#formatresponse - * @example - * ```typescript - * // assign custom or existing method to resulting data - * formatResponse: { balance: uint256ToBN }, - * ``` - * @example - * ```typescript - * // define resulting data js types - * const formatAnswer = { id: 'number', description: 'string' }; - * ``` - */ - formatResponse?: { [key: string]: any }; - signature?: Signature; - addressSalt?: string; -} & Partial; - -export type CallOptions = Pick< - ContractOptions, - 'blockIdentifier' | 'parseRequest' | 'parseResponse' | 'formatResponse' ->; - -export type InvokeOptions = ContractOptions; - -export type ParsedEvent = { [name: string]: ParsedStruct } & { - block_hash?: BlockHash; - block_number?: BlockNumber; - transaction_hash?: TransactionHash; -}; - -export type ParsedEvents = Array; diff --git a/src/types/errors.ts b/src/types/errors.ts index 9cae7e019..680003199 100644 --- a/src/types/errors.ts +++ b/src/types/errors.ts @@ -1,5 +1,5 @@ -import * as Errors from '@starknet-io/starknet-types-08'; -import { PAYMASTER_API } from '@starknet-io/starknet-types-08'; +import { PAYMASTER_API } from './api'; +import * as Errors from './api'; // NOTE: generated with scripts/generateRpcErrorMap.js export type RPC_ERROR_SET = { @@ -31,10 +31,13 @@ export type RPC_ERROR_SET = { UNSUPPORTED_TX_VERSION: Errors.UNSUPPORTED_TX_VERSION; UNSUPPORTED_CONTRACT_CLASS_VERSION: Errors.UNSUPPORTED_CONTRACT_CLASS_VERSION; UNEXPECTED_ERROR: Errors.UNEXPECTED_ERROR; + REPLACEMENT_TRANSACTION_UNDERPRICED: Errors.REPLACEMENT_TRANSACTION_UNDERPRICED; + FEE_BELOW_MINIMUM: Errors.FEE_BELOW_MINIMUM; INVALID_SUBSCRIPTION_ID: Errors.INVALID_SUBSCRIPTION_ID; TOO_MANY_ADDRESSES_IN_FILTER: Errors.TOO_MANY_ADDRESSES_IN_FILTER; TOO_MANY_BLOCKS_BACK: Errors.TOO_MANY_BLOCKS_BACK; COMPILATION_ERROR: Errors.COMPILATION_ERROR; + // INVALID_ADDRESS: PAYMASTER_API.INVALID_ADDRESS; TOKEN_NOT_SUPPORTED: PAYMASTER_API.TOKEN_NOT_SUPPORTED; INVALID_SIGNATURE: PAYMASTER_API.INVALID_SIGNATURE; diff --git a/src/types/index.ts b/src/types/index.ts index f8ee84cbc..b11f0791e 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -1,14 +1,22 @@ export * from './lib'; export * from '../provider/types/index.type'; -export * from './account'; +export * from '../account/types/index.type'; export * from './cairoEnum'; export * from './calldata'; -export * from './contract'; +export * from '../contract/types/index.type'; export * from './errors'; export * from './outsideExecution'; export * from './signer'; export * from '../utils/transactionReceipt/transactionReceipt.type'; export * from './typedData'; -export * from './paymaster'; +export * from '../paymaster/types/index.type'; +export * from '../deployer/types/index.type'; export * as RPC from './api'; + +// ensures a Buffer type is available for development environments without Node.js types +declare global { + interface Buffer + // @ts-ignore - docs + extends Uint8Array {} +} diff --git a/src/types/lib/contract/abi.ts b/src/types/lib/contract/abi.ts index 29c40b586..d03b56058 100644 --- a/src/types/lib/contract/abi.ts +++ b/src/types/lib/contract/abi.ts @@ -1,4 +1,6 @@ -import type { ENUM_EVENT, EVENT_FIELD, STRUCT_EVENT } from '@starknet-io/starknet-types-07'; +// TODO: Inherit from RPC 0.9 with addition to Legacy + +import { CONTRACT } from '../../api'; /** ABI */ export type Abi = ReadonlyArray; @@ -59,12 +61,12 @@ export type AbiEvent = CairoEvent | LegacyEvent; // CairoEvent is CairoEventDefinition type if we have a leaf (end of the arborescence for an event), otherwise a new node level is created. Only for Cairo 1 export type CairoEvent = CairoEventDefinition | AbiEvents; -export type CairoEventDefinition = STRUCT_EVENT & { +export type CairoEventDefinition = CONTRACT.STRUCT_EVENT & { name: string; type: 'event'; }; -export type CairoEventVariant = ENUM_EVENT & { +export type CairoEventVariant = CONTRACT.ENUM_EVENT & { name: string; type: string; }; @@ -72,6 +74,6 @@ export type CairoEventVariant = ENUM_EVENT & { export type LegacyEvent = { name: string; type: 'event'; - data: EVENT_FIELD[]; - keys: EVENT_FIELD[]; + data: CONTRACT.EVENT_FIELD[]; + keys: CONTRACT.EVENT_FIELD[]; }; diff --git a/src/types/lib/contract/sierra.ts b/src/types/lib/contract/sierra.ts index 930745420..9856314df 100644 --- a/src/types/lib/contract/sierra.ts +++ b/src/types/lib/contract/sierra.ts @@ -1,7 +1,7 @@ import { Abi } from './abi'; import { EntryPointsByType } from './legacy'; -/** SYSTEM TYPES */ +/** Cairo Assembly .casm */ export type CairoAssembly = { prime: string; compiler_version: string; @@ -31,10 +31,14 @@ export type CompiledSierra = { * * CompressedCompiledSierra */ -export type SierraContractClass = Omit & { +export type SierraContractClass = Omit< + CompiledSierra, + 'abi' | 'sierra_program' | 'sierra_program_debug_info' +> & { sierra_program: string; abi: string; }; + export type CompiledSierraCasm = CairoAssembly; /** SUBTYPES */ diff --git a/src/types/lib/index.ts b/src/types/lib/index.ts index b66e979ea..47495ec14 100644 --- a/src/types/lib/index.ts +++ b/src/types/lib/index.ts @@ -1,11 +1,14 @@ -import { SUBSCRIPTION_BLOCK_TAG } from '@starknet-io/starknet-types-08'; import { StarknetChainId } from '../../global/constants'; import { weierstrass } from '../../utils/ec'; -import { EDataAvailabilityMode } from '../api'; +import { EDataAvailabilityMode, ETransactionType, SUBSCRIPTION_BLOCK_ID } from '../api'; import { CairoEnum } from '../cairoEnum'; -import { CompiledContract, CompiledSierraCasm, ContractClass } from './contract'; -import { ValuesType } from '../helpers/valuesType'; -import { ResourceBounds } from '../../provider/types/spec.type'; +import { Abi, AbiEntry, CompiledContract, CompiledSierraCasm, ContractClass } from './contract'; +import { + BlockTag, + ResourceBoundsBN, + TransactionExecutionStatus, + TransactionFinalityStatus, +} from '../../provider/types/spec.type'; export type WeierstrassSignatureType = weierstrass.SignatureType; export type ArraySignatureType = string[]; @@ -26,6 +29,17 @@ export type ByteArray = { */ export type Calldata = string[] & { readonly __compiled__?: true }; +/** + * "Abi Entry type" + * @example + * 'core::bytes_31::bytes31' + * 'core::bool' + * 'core::felt' + * 'core::uint256' + * 'core::uint512' + */ +export type AbiEntryType = AbiEntry['type']; + /** * Represents an integer in the range [0, 2^256) */ @@ -79,6 +93,7 @@ export type UniversalDeployerContractPayload = { salt?: string; unique?: boolean; constructorCalldata?: RawArgs; + abi?: Abi; // TODO: check chain of usage in Account }; export type DeployAccountContractPayload = { @@ -95,13 +110,45 @@ export type DeployAccountContractTransaction = Omit< signature?: Signature; }; -export type DeclareContractPayload = { - contract: CompiledContract | string; +/** + * Base payload for declaring a contract on Starknet + */ +type BaseDeclareContractPayload = { + /** The compiled contract (JSON object) or path to compiled contract file */ + contract: CompiledContract | string; // TODO: check if description is ok + /** + * Class hash of the contract. Optional optimization - if not provided, + * it will be computed from the contract + */ classHash?: string; - casm?: CompiledSierraCasm; +}; + +/** + * Declare contract with CASM code + */ +type DeclareWithCasm = BaseDeclareContractPayload & { + /** Compiled Sierra Assembly (CASM) code */ + casm: CompiledSierraCasm; + /** Hash of the compiled CASM. Optional - will be computed from casm if not provided */ compiledClassHash?: string; }; +/** + * Declare contract with pre-computed compiled class hash (optimization) + */ +type DeclareWithCompiledClassHash = BaseDeclareContractPayload & { + /** Hash of the compiled CASM */ + compiledClassHash: string; + /** CASM is not needed when compiledClassHash is provided */ + casm?: never; +}; + +/** + * Payload for declaring a contract on Starknet. + * Either provide CASM code, or a pre-computed compiledClassHash for optimization. + */ +export type DeclareContractPayload = DeclareWithCasm | DeclareWithCompiledClassHash; + /** * DeclareContractPayload with classHash or contract defined */ @@ -111,7 +158,7 @@ export type CompleteDeclareContractPayload = { contract: CompiledContract | string; classHash: string; casm?: CompiledSierraCasm; - compiledClassHash?: string; + compiledClassHash: string; }; export type DeclareAndDeployContractPayload = Omit & @@ -127,7 +174,6 @@ export type DeclareContractTransaction = { export type CallDetails = { contractAddress: string; calldata?: RawArgs | Calldata; - entrypoint?: string; }; export type Invocation = CallDetails & { signature?: Signature }; @@ -146,7 +192,7 @@ export type InvocationsDetails = { export type V3TransactionDetails = { nonce: BigNumberish; version: BigNumberish; - resourceBounds: ResourceBounds; + resourceBounds: ResourceBoundsBN; tip: BigNumberish; paymasterData: BigNumberish[]; accountDeploymentData: BigNumberish[]; @@ -168,15 +214,6 @@ export type InvocationsDetailsWithNonce = | (InvocationsDetails & { nonce: BigNumberish }) | V3TransactionDetails; -export const TransactionType = { - DECLARE: 'DECLARE', - DEPLOY: 'DEPLOY', - DEPLOY_ACCOUNT: 'DEPLOY_ACCOUNT', - INVOKE: 'INVOKE_FUNCTION', -} as const; - -export type TransactionType = ValuesType; - /** * new statuses are defined by props: finality_status and execution_status * to be #deprecated @@ -192,7 +229,7 @@ export type TransactionType = ValuesType; export type TransactionStatus = ValuesType; */ -export const TransactionFinalityStatus = { +/* export const TransactionFinalityStatus = { NOT_RECEIVED: 'NOT_RECEIVED', RECEIVED: 'RECEIVED', ACCEPTED_ON_L2: 'ACCEPTED_ON_L2', @@ -207,23 +244,20 @@ export const TransactionExecutionStatus = { SUCCEEDED: 'SUCCEEDED', } as const; -export type TransactionExecutionStatus = ValuesType; +export type TransactionExecutionStatus = ValuesType; */ -export const BlockStatus = { +/* export const BlockStatus = { PENDING: 'PENDING', ACCEPTED_ON_L1: 'ACCEPTED_ON_L1', ACCEPTED_ON_L2: 'ACCEPTED_ON_L2', REJECTED: 'REJECTED', } as const; -export type BlockStatus = ValuesType; +export type BlockStatus = ValuesType; */ -export const BlockTag = { - PENDING: 'pending', - LATEST: 'latest', -} as const; +/* export const BlockTag = RPCSPEC09.EBlockTag; -export type BlockTag = ValuesType; +export type BlockTag = ValuesType; */ export type BlockNumber = BlockTag | null | number; @@ -237,16 +271,16 @@ export type BlockNumber = BlockTag | null | number; * null return 'pending' block tag */ export type BlockIdentifier = BlockNumber | BigNumberish; - -export type SubscriptionBlockIdentifier = SUBSCRIPTION_BLOCK_TAG | (string & {}) | number | bigint; +type SubscriptionBlockTag = Extract; +export type SubscriptionBlockIdentifier = SubscriptionBlockTag | (string & {}) | number | bigint; /** * items used by AccountInvocations */ export type AccountInvocationItem = ( - | ({ type: typeof TransactionType.DECLARE } & DeclareContractTransaction) - | ({ type: typeof TransactionType.DEPLOY_ACCOUNT } & DeployAccountContractTransaction) - | ({ type: typeof TransactionType.INVOKE } & Invocation) + | ({ type: typeof ETransactionType.DECLARE } & DeclareContractTransaction) + | ({ type: typeof ETransactionType.DEPLOY_ACCOUNT } & DeployAccountContractTransaction) + | ({ type: typeof ETransactionType.INVOKE } & Invocation) ) & InvocationsDetailsWithNonce; @@ -259,14 +293,14 @@ export type AccountInvocations = AccountInvocationItem[]; * Invocations array user provide to bulk method (simulate) */ export type Invocations = Array< - | ({ type: typeof TransactionType.DECLARE } & OptionalPayload) - | ({ type: typeof TransactionType.DEPLOY } & OptionalPayload< + | ({ type: typeof ETransactionType.DECLARE } & OptionalPayload) + | ({ type: typeof ETransactionType.DEPLOY } & OptionalPayload< AllowArray >) | ({ - type: typeof TransactionType.DEPLOY_ACCOUNT; + type: typeof ETransactionType.DEPLOY_ACCOUNT; } & OptionalPayload) - | ({ type: typeof TransactionType.INVOKE } & OptionalPayload>) + | ({ type: typeof ETransactionType.INVOKE } & OptionalPayload>) >; export type Tupled = { element: any; type: string }; @@ -279,11 +313,34 @@ export type ParsedStruct = { }; export type waitForTransactionOptions = { + /** + * Define the number of retries before throwing an error for the transaction life cycle when the transaction is not found after it had a valid status. + * This is useful for nodes that are not fully synced yet when connecting to service that rotate nodes. + */ + lifeCycleRetries?: number; + /** + * Define the number of retries before throwing an error + */ + retries?: number; + /** + * Define the time interval between retries in milliseconds + */ retryInterval?: number; + /** + * Define which states are considered as successful + */ successStates?: Array; + /** + * Define which states are considered as errors + */ errorStates?: Array; }; +export type fastWaitForTransactionOptions = { + retries?: number; + retryInterval?: number; +}; + export type getSimulateTransactionOptions = { blockIdentifier?: BlockIdentifier; skipValidate?: boolean; diff --git a/src/types/paymaster/index.ts b/src/types/paymaster/index.ts deleted file mode 100644 index 57bf8d7e2..000000000 --- a/src/types/paymaster/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './configuration'; -export * from './response'; diff --git a/src/types/signer.ts b/src/types/signer.ts index e0dafeec0..8317f02bf 100644 --- a/src/types/signer.ts +++ b/src/types/signer.ts @@ -1,27 +1,17 @@ import { StarknetChainId } from '../global/constants'; -import { ETransactionVersion, ETransactionVersion2, ETransactionVersion3 } from './api'; +import { ETransactionVersion, ETransactionVersion3 } from './api'; import { BigNumberish, CairoVersion, DeployAccountContractPayload, - InvocationsDetails, V3TransactionDetails, } from './lib'; -export type InvocationsSignerDetails = (V2InvocationsSignerDetails | V3InvocationsSignerDetails) & { +export type InvocationsSignerDetails = V3InvocationsSignerDetails & { version: `${ETransactionVersion}`; skipValidate?: boolean; }; -export type V2InvocationsSignerDetails = { - walletAddress: string; - cairoVersion: CairoVersion; - chainId: StarknetChainId; - nonce: BigNumberish; - maxFee: BigNumberish; - version: `${ETransactionVersion2}`; -}; - export type V3InvocationsSignerDetails = V3TransactionDetails & { walletAddress: string; cairoVersion: CairoVersion; @@ -29,18 +19,10 @@ export type V3InvocationsSignerDetails = V3TransactionDetails & { version: `${ETransactionVersion3}`; }; -export type DeclareSignerDetails = (V3DeclareSignerDetails | V2DeclareSignerDetails) & { +export type DeclareSignerDetails = V3DeclareSignerDetails & { version: `${ETransactionVersion}`; }; -export type V2DeclareSignerDetails = Required & { - classHash: string; - compiledClassHash?: string; - senderAddress: string; - chainId: StarknetChainId; - version: `${ETransactionVersion2}`; -}; - export type V3DeclareSignerDetails = V3TransactionDetails & { classHash: string; compiledClassHash: string; @@ -49,16 +31,7 @@ export type V3DeclareSignerDetails = V3TransactionDetails & { version: `${ETransactionVersion3}`; }; -export type DeployAccountSignerDetails = - | V2DeployAccountSignerDetails - | V3DeployAccountSignerDetails; - -export type V2DeployAccountSignerDetails = Required & - Required & { - contractAddress: BigNumberish; - chainId: StarknetChainId; - version: `${ETransactionVersion2}`; - }; +export type DeployAccountSignerDetails = V3DeployAccountSignerDetails; export type V3DeployAccountSignerDetails = Required & V3TransactionDetails & { diff --git a/src/types/typedData.ts b/src/types/typedData.ts index 4d3592c07..51c80b7c4 100644 --- a/src/types/typedData.ts +++ b/src/types/typedData.ts @@ -6,4 +6,4 @@ export { type StarknetType, type StarknetDomain, type TypedData, -} from '@starknet-io/starknet-types-07'; +} from './api'; diff --git a/src/utils/batch/index.ts b/src/utils/batch/index.ts index 263ff0710..54731c383 100644 --- a/src/utils/batch/index.ts +++ b/src/utils/batch/index.ts @@ -1,15 +1,16 @@ import { stringify } from '../json'; -import { RPC, RpcProviderOptions } from '../../types'; +import { RpcProviderOptions } from '../../types'; import { JRPC } from '../../types/api'; -export type BatchClientOptions = { +export type BatchClientOptions = { nodeUrl: string; headers: object; interval: number; baseFetch: NonNullable; + rpcMethods: T; }; -export class BatchClient { +export class BatchClient { public nodeUrl: string; public headers: object; @@ -28,13 +29,16 @@ export class BatchClient { private delayPromiseResolve?: () => void; - private baseFetch: BatchClientOptions['baseFetch']; + private baseFetch: BatchClientOptions['baseFetch']; - constructor(options: BatchClientOptions) { + private rpcMethods: T; + + constructor(options: BatchClientOptions) { this.nodeUrl = options.nodeUrl; this.headers = options.headers; this.interval = options.interval; this.baseFetch = options.baseFetch; + this.rpcMethods = options.rpcMethods; } private async wait(): Promise { @@ -63,15 +67,15 @@ export class BatchClient { return this.delayPromise; } - private addPendingRequest( - method: T, - params?: RPC.Methods[T]['params'], + private addPendingRequest( + method: M, + params?: T[M]['params'], id?: string | number ) { const request: JRPC.RequestBody = { id: id ?? `batched_${(this.requestId += 1)}`, jsonrpc: '2.0', - method, + method: (method as symbol).description || String(method), params: params ?? undefined, }; @@ -98,12 +102,12 @@ export class BatchClient { * @returns JSON-RPC Response */ public async fetch< - T extends keyof RPC.Methods, + M extends keyof T, TResponse extends JRPC.ResponseBody & { - result?: RPC.Methods[T]['result']; + result?: T[M]['result']; error?: JRPC.Error; }, - >(method: T, params?: RPC.Methods[T]['params'], id?: string | number): Promise { + >(method: M, params?: T[M]['params'], id?: string | number): Promise { const requestId = this.addPendingRequest(method, params, id); // Wait for the interval to pass before sending the batch @@ -126,7 +130,8 @@ export class BatchClient { // Find this request in the results and return it const result = results.find((res: any) => res.id === requestId); - if (!result) throw new Error(`Couldn't find the result for the request. Method: ${method}`); + if (!result) + throw new Error(`Couldn't find the result for the request. Method: ${String(method)}`); return result as TResponse; } diff --git a/src/utils/cairoDataTypes/byteArray.ts b/src/utils/cairoDataTypes/byteArray.ts new file mode 100644 index 000000000..bcb0e3441 --- /dev/null +++ b/src/utils/cairoDataTypes/byteArray.ts @@ -0,0 +1,270 @@ +/* eslint-disable no-underscore-dangle */ +import { BigNumberish } from '../../types'; +import assert from '../assert'; +import { + addHexPrefix, + bigIntToUint8Array, + buf2hex, + concatenateArrayBuffer, + stringToUint8Array, +} from '../encode'; +import { getNext } from '../num'; +import { isBigInt, isBuffer, isInteger, isNumber, isString } from '../typed'; +import { addCompiledFlag } from '../helpers'; +import Buffer from '../connect/buffer'; +import { CairoBytes31 } from './bytes31'; +import { CairoFelt252 } from './felt'; +import { CairoUint32 } from './uint32'; + +export class CairoByteArray { + /** + * entire dataset + */ + data: CairoBytes31[] = []; + + /** + * cairo specific implementation helper + */ + pending_word!: CairoFelt252; // felt + + /** + * cairo specific implementation helper + */ + pending_word_len!: CairoUint32; // u32 + + static abiSelector = 'core::byte_array::ByteArray' as const; + + /** + * byteArray from typed components + */ + public constructor(data: CairoBytes31[], pendingWord: CairoFelt252, pendingWordLen: CairoUint32); + public constructor(data: BigNumberish | Buffer | Uint8Array | unknown); + public constructor(...arr: any[]) { + // Handle constructor from typed components + if (arr.length === 3) { + const [dataArg, pendingWord, pendingWordLen] = arr; + + // Check if we're dealing with typed classes + assert( + Array.isArray(dataArg) && + pendingWord instanceof CairoFelt252 && + pendingWordLen instanceof CairoUint32, + 'Invalid constructor parameters. Expected (CairoBytes31[], CairoFelt252, CairoUint32)' + ); + // Typed classes - use directly + this.data = dataArg; + this.pending_word = pendingWord; + this.pending_word_len = pendingWordLen; + return; + } + + // Handle custom constructor + const inData = arr[0] as unknown; + CairoByteArray.validate(inData); + const { data, pending_word, pending_word_len } = CairoByteArray.__processData(inData); + this.data = data; + this.pending_word = pending_word; + this.pending_word_len = pending_word_len; + } + + static __processData(inData: BigNumberish | Buffer | Uint8Array | unknown) { + let fullData: Uint8Array; + // Handle different input types + if (inData instanceof Uint8Array) { + // byteArrayFromUint8Array + fullData = inData; + } else if (isBuffer(inData)) { + // byteArrayFromBuffer + fullData = new Uint8Array(inData as Buffer); + } else if (isString(inData)) { + // byteArrayFromString - stringToUint8Array handles hex, decimal, and UTF-8 + fullData = stringToUint8Array(inData); + } else if (isBigInt(inData)) { + // byteArrayFromBigInt + fullData = bigIntToUint8Array(inData); + } else if (isInteger(inData)) { + // byteArrayFromNumber + fullData = bigIntToUint8Array(BigInt(inData)); + } else { + throw new Error('Invalid input type. Expected Uint8Array, Buffer, string, number, or bigint'); + } + + const CHUNK_SIZE = CairoBytes31.MAX_BYTE_SIZE; + + // Calculate how many complete 31-byte chunks we have + const completeChunks = Math.floor(fullData.length / CHUNK_SIZE); + const remainderLength = fullData.length % CHUNK_SIZE; + + // Extract the data (complete 31-byte chunks) as CairoBytes31 objects + const data = []; + let pending_word: CairoFelt252; + let pending_word_len: CairoUint32; + for (let i = 0; i < completeChunks; i += 1) { + const chunkStart = i * CHUNK_SIZE; + const chunkEnd = chunkStart + CHUNK_SIZE; + const chunk = fullData.slice(chunkStart, chunkEnd); + data.push(new CairoBytes31(chunk)); + } + + // Handle the pending word (remainder) + if (remainderLength > 0) { + const remainder = fullData.slice(completeChunks * CHUNK_SIZE); + // Convert remainder to hex string for CairoFelt252 + let hex = '0x'; + for (let i = 0; i < remainder.length; i += 1) { + hex += remainder[i].toString(16).padStart(2, '0'); + } + pending_word = new CairoFelt252(hex); + pending_word_len = new CairoUint32(remainderLength); + } else { + pending_word = new CairoFelt252(0); + pending_word_len = new CairoUint32(0); + } + + return { data, pending_word, pending_word_len }; + } + + toApiRequest() { + this.assertInitialized(); + + return addCompiledFlag([ + addHexPrefix(this.data.length.toString(16)), + ...this.data.flatMap((bytes31) => bytes31.toApiRequest()), + ...this.pending_word.toApiRequest(), + ...this.pending_word_len.toApiRequest(), + ]); + } + + decodeUtf8() { + // Convert all bytes to Uint8Array and decode as UTF-8 string + // This ensures multi-byte UTF-8 characters are not split across chunk boundaries + const allBytes = concatenateArrayBuffer(this.toElements()); + return new TextDecoder().decode(allBytes); + } + + toBigInt() { + // Reconstruct the full byte sequence + const allBytes = concatenateArrayBuffer(this.toElements()); + + // Convert bytes array to bigint + if (allBytes.length === 0) { + return 0n; + } + + let result = 0n; + allBytes.forEach((byte) => { + result = result * 256n + BigInt(byte); + }); + + return result; + } + + toHexString() { + // TODO: revisit empty data handling, how to differentiate empty and zero input + const allBytes = concatenateArrayBuffer(this.toElements()); + const hexValue = allBytes.length === 0 ? '0' : buf2hex(allBytes); + return addHexPrefix(hexValue); + } + + toBuffer() { + const allBytes = concatenateArrayBuffer(this.toElements()); + return Buffer.from(allBytes); + } + + /** + * returns an array of all the data chunks and the pending word + * when concatenated, represents the original bytes sequence + */ + toElements(): Uint8Array[] { + this.assertInitialized(); + + // Add bytes from all complete chunks (each chunk contains exactly 31 bytes when full) + const allChunks: Uint8Array[] = this.data.flatMap((chunk) => chunk.data); + + // Add bytes from pending word + const pendingLen = Number(this.pending_word_len.toBigInt()); + if (pendingLen) { + const pending = new Uint8Array(pendingLen); + const paddingDifference = pendingLen - this.pending_word.data.length; + pending.set(this.pending_word.data, paddingDifference); + allChunks.push(pending); + } + + return allChunks; + } + + /** + * Private helper to check if the CairoByteArray is properly initialized + */ + private assertInitialized(): void { + assert( + this.data && this.pending_word !== undefined && this.pending_word_len !== undefined, + 'CairoByteArray is not properly initialized' + ); + } + + static validate(data: Uint8Array | Buffer | BigNumberish | unknown) { + assert(data !== null && data !== undefined, 'Invalid input: null or undefined'); + assert( + !Array.isArray(data) || data instanceof Uint8Array, + 'Invalid input: arrays are not supported, use Uint8Array' + ); + assert( + typeof data !== 'object' || isBuffer(data) || data instanceof Uint8Array, + 'Invalid input for CairoByteArray: objects are not supported' + ); + assert( + !isNumber(data) || Number.isInteger(data), + 'Invalid input for CairoByteArray: decimal numbers are not supported, only integers' + ); + assert( + !isNumber(data) || data >= 0, + 'Invalid input for CairoByteArray: negative numbers are not supported' + ); + assert( + !isBigInt(data) || data >= 0n, + 'Invalid input for CairoByteArray: negative bigints are not supported' + ); + + // There is no particular validation from input parameters when they are composed of existing types + assert( + data instanceof Uint8Array || + isBuffer(data) || + isString(data) || + isNumber(data) || + isBigInt(data), + 'Invalid input type. Expected Uint8Array, Buffer, string, number, or bigint' + ); + } + + /** + * Check if the provided data is a valid CairoByteArray + * + * @param data - The data to check + * @returns True if the data is a valid CairoByteArray, false otherwise + */ + static is(data: any): boolean { + try { + CairoByteArray.validate(data); + return true; + } catch { + return false; + } + } + + /** + * Check if provided abi type is this data type + */ + static isAbiType(abiType: string): boolean { + return abiType === CairoByteArray.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoByteArray { + const data = Array.from({ length: Number(getNext(responseIterator)) }, () => + CairoBytes31.factoryFromApiResponse(responseIterator) + ); + const pending_word = CairoFelt252.factoryFromApiResponse(responseIterator); + const pending_word_len = CairoUint32.factoryFromApiResponse(responseIterator); + return new CairoByteArray(data, pending_word, pending_word_len); + } +} diff --git a/src/utils/cairoDataTypes/bytes31.ts b/src/utils/cairoDataTypes/bytes31.ts new file mode 100644 index 000000000..af455efe5 --- /dev/null +++ b/src/utils/cairoDataTypes/bytes31.ts @@ -0,0 +1,85 @@ +/* eslint-disable no-underscore-dangle */ +import { addHexPrefix, buf2hex, stringToUint8Array, uint8ArrayToBigInt } from '../encode'; +import { getNext } from '../num'; +import assert from '../assert'; +import { addCompiledFlag } from '../helpers'; +import { isBuffer, isString } from '../typed'; + +export class CairoBytes31 { + static MAX_BYTE_SIZE = 31 as const; + + data: Uint8Array; + + static abiSelector = 'core::bytes_31::bytes31' as const; + + constructor(data: string | Uint8Array | Buffer | unknown) { + CairoBytes31.validate(data); + const processedData = CairoBytes31.__processData(data); + this.data = new Uint8Array(CairoBytes31.MAX_BYTE_SIZE); // ensure data has an exact size + this.data.set(processedData, CairoBytes31.MAX_BYTE_SIZE - processedData.length); + } + + static __processData(data: Uint8Array | string | Buffer | unknown): Uint8Array { + if (isString(data)) { + return stringToUint8Array(data); + } + if (isBuffer(data)) { + return new Uint8Array(data); + } + if (data instanceof Uint8Array) { + return new Uint8Array(data); + } + throw new Error('Invalid input type for CairoBytes31. Expected string, Buffer, or Uint8Array'); + } + + toApiRequest(): string[] { + return addCompiledFlag([this.toHexString()]); + } + + toBigInt() { + return uint8ArrayToBigInt(this.data); + } + + decodeUtf8() { + // strip leading zeros for decode to avoid leading null characters + const cutoff = this.data.findIndex((x) => x > 0); + const pruned = this.data.subarray(cutoff >= 0 ? cutoff : Infinity); + return new TextDecoder().decode(pruned); + } + + /** + * @param padded flag for including leading zeros + */ + toHexString(padded?: 'padded') { + const hex = padded === 'padded' ? buf2hex(this.data) : this.toBigInt().toString(16); + return addHexPrefix(hex); + } + + static validate(data: Uint8Array | string | Buffer | unknown): void { + const byteLength = CairoBytes31.__processData(data).length; + assert( + byteLength <= this.MAX_BYTE_SIZE, + `Data is too long: ${byteLength} bytes (max ${this.MAX_BYTE_SIZE} bytes)` + ); + } + + static is(data: Uint8Array | string | Buffer): boolean { + try { + CairoBytes31.validate(data); + return true; + } catch { + return false; + } + } + + /** + * Check if provided abi type is this data type + */ + static isAbiType(abiType: string): boolean { + return abiType === CairoBytes31.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoBytes31 { + return new CairoBytes31(getNext(responseIterator)); + } +} diff --git a/src/utils/cairoDataTypes/felt.ts b/src/utils/cairoDataTypes/felt.ts index 0cdd7404e..298609e2e 100644 --- a/src/utils/cairoDataTypes/felt.ts +++ b/src/utils/cairoDataTypes/felt.ts @@ -1,11 +1,22 @@ +/* eslint-disable no-underscore-dangle */ // TODO Convert to CairoFelt base on CairoUint256 and implement it in the codebase in the backward compatible manner import { BigNumberish } from '../../types'; -import { isHex, isStringWholeNumber } from '../num'; +import { PRIME } from '../../global/constants'; +import { getNext, isHex, isStringWholeNumber } from '../num'; import { encodeShortString, isShortString, isText } from '../shortString'; -import { isBoolean, isString, isBigInt } from '../typed'; +import { isBoolean, isString, isBigInt, isNumber } from '../typed'; +import { + stringToUint8Array, + bigIntToUint8Array, + uint8ArrayToBigInt, + addHexPrefix, +} from '../encode'; +import assert from '../assert'; +import { addCompiledFlag } from '../helpers'; /** + * @deprecated use the CairoFelt252 class instead, this one is limited to ASCII strings * Create felt Cairo type (cairo type helper) * @returns format: felt-string */ @@ -43,3 +54,93 @@ export function CairoFelt(it: BigNumberish): string { throw new Error(`${it} can't be computed by felt()`); } + +/** + * felt252 is the basic field element used in Cairo. + * It corresponds to an integer in the range 0 ≤ x < P where P is a very large prime number currently equal to 2^251 + 17⋅2^192 + 1. + * Any operation that uses felt252 will be computed modulo P. + * 63 hex symbols (31 bytes + 4 bits), 252 bits + */ +export class CairoFelt252 { + /** + * byte representation of the felt252 + */ + data: Uint8Array; + + static abiSelector = 'core::felt252' as const; + + constructor(data: BigNumberish | boolean | unknown) { + CairoFelt252.validate(data); + const processedData = CairoFelt252.__processData(data as BigNumberish | boolean); + // remove leading zeros, ensure data is an exact value/number + this.data = processedData.subarray(processedData.findIndex((x) => x > 0)); + } + + static __processData(data: BigNumberish | boolean): Uint8Array { + if (isString(data)) { + return stringToUint8Array(data); + } + if (isBigInt(data)) { + return bigIntToUint8Array(data); + } + if (Number.isInteger(data)) { + return bigIntToUint8Array(BigInt(data)); + } + if (isBoolean(data)) { + return bigIntToUint8Array(BigInt(data ? 1 : 0)); + } + throw new Error(`${data} can't be computed by felt()`); + } + + toBigInt() { + return uint8ArrayToBigInt(this.data); + } + + decodeUtf8() { + return new TextDecoder().decode(this.data); + } + + toHexString() { + return addHexPrefix(this.toBigInt().toString(16)); + } + + toApiRequest(): string[] { + /** + * HexString representation of the felt252 + */ + return addCompiledFlag([this.toHexString()]); + } + + static validate(data: BigNumberish | boolean | unknown): void { + assert(data !== null, 'null value is not allowed for felt252'); + assert(data !== undefined, 'undefined value is not allowed for felt252'); + assert( + isString(data) || isNumber(data) || isBigInt(data) || isBoolean(data), + `Unsupported data type '${typeof data}' for felt252. Expected string, number, bigint, or boolean` + ); + + const value = CairoFelt252.__processData(data as BigNumberish | boolean); + const bn = uint8ArrayToBigInt(value); + assert(bn >= 0n && bn < PRIME, `Value ${value} is out of felt252 range [0, ${PRIME})`); + } + + static is(data: BigNumberish | boolean | unknown): boolean { + try { + CairoFelt252.validate(data); + return true; + } catch { + return false; + } + } + + static isAbiType(abiType: string): boolean { + return abiType === CairoFelt252.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoFelt252 { + /** + * The API response is HexString + */ + return new CairoFelt252(getNext(responseIterator)); + } +} diff --git a/src/utils/cairoDataTypes/fixedArray.ts b/src/utils/cairoDataTypes/fixedArray.ts index b4190cca5..f4ffcb9d3 100644 --- a/src/utils/cairoDataTypes/fixedArray.ts +++ b/src/utils/cairoDataTypes/fixedArray.ts @@ -21,6 +21,8 @@ export class CairoFixedArray { CairoFixedArray.isTypeFixedArray(arrayType), `The type ${arrayType} is not a Cairo fixed array. Needs [type; length].` ); + + // Validate that the type includes content type try { CairoFixedArray.getFixedArrayType(arrayType); } catch { @@ -28,16 +30,20 @@ export class CairoFixedArray { `The type ${arrayType} do not includes any content type. Needs [type; length].` ); } + + // Validate that the type includes array size + let arraySize: number; try { - CairoFixedArray.getFixedArraySize(arrayType); + arraySize = CairoFixedArray.getFixedArraySize(arrayType); } catch { throw new Error( `The type ${arrayType} type do not includes any length. Needs [type; length].` ); } + assert( - CairoFixedArray.getFixedArraySize(arrayType) === content.length, - `The ABI type ${arrayType} is expecting ${CairoFixedArray.getFixedArraySize(arrayType)} items. ${content.length} items provided.` + arraySize === content.length, + `The ABI type ${arrayType} is expecting ${arraySize} items. ${content.length} items provided.` ); this.content = content; this.arrayType = arrayType; @@ -141,6 +147,7 @@ export class CairoFixedArray { /** * Checks if the given Cairo type is a fixed-array type. + * structure: [string; number] * * @param {string} type - The type to check. * @returns - `true` if the type is a fixed array type, `false` otherwise. diff --git a/src/utils/cairoDataTypes/index.ts b/src/utils/cairoDataTypes/index.ts new file mode 100644 index 000000000..48f1d22d0 --- /dev/null +++ b/src/utils/cairoDataTypes/index.ts @@ -0,0 +1,17 @@ +export * from './uint8'; +export * from './uint16'; +export * from './uint64'; +export * from './uint96'; +export * from './uint128'; +export * from './uint256'; +export * from './uint512'; +export * from './int8'; +export * from './int16'; +export * from './int32'; +export * from './int64'; +export * from './int128'; +export * from './fixedArray'; +export * from './byteArray'; +export * from './bytes31'; +export * from './felt'; +export * from './uint32'; diff --git a/src/utils/cairoDataTypes/int128.ts b/src/utils/cairoDataTypes/int128.ts new file mode 100644 index 000000000..f284ee1ba --- /dev/null +++ b/src/utils/cairoDataTypes/int128.ts @@ -0,0 +1,97 @@ +/* eslint-disable no-underscore-dangle */ +import { BigNumberish } from '../../types'; +import { addHexPrefix, bigIntToUint8Array, utf8ToBigInt } from '../encode'; +import { getNext } from '../num'; +import { isText } from '../shortString'; +import { isString, isObject, isNumber } from '../typed'; +import assert from '../assert'; +import { RANGE_I128, PRIME } from '../../global/constants'; +import { addCompiledFlag } from '../helpers'; + +export class CairoInt128 { + data: bigint; + + static abiSelector = 'core::integer::i128'; + + constructor(data: BigNumberish | boolean | unknown) { + CairoInt128.validate(data); + this.data = CairoInt128.__processData(data); + } + + static __processData(data: BigNumberish | boolean | unknown): bigint { + if (isString(data) && isText(data)) { + // Only allow text strings that represent valid UTF-8 byte sequences for specific use cases + // For general numeric input validation, reject pure text strings + // This maintains compatibility while being more restrictive for validation + return utf8ToBigInt(data); + } + return BigInt(data as BigNumberish); + } + + toApiRequest(): string[] { + return addCompiledFlag([this.toHexString()]); + } + + toBigInt() { + return this.data; + } + + decodeUtf8() { + return new TextDecoder().decode( + bigIntToUint8Array(this.data >= 0n ? this.data : 2n ** 128n + this.data) + ); + } + + /** + * For negative values field element representation as positive hex string. + * @returns cairo field arithmetic hex string + */ + toHexString() { + const value = this.toBigInt(); + // For negative values, convert to field element representation + if (value < 0n) { + const fieldElement = PRIME + value; + return addHexPrefix(fieldElement.toString(16)); + } + return addHexPrefix(value.toString(16)); + } + + static validate(data: BigNumberish | boolean | unknown): void { + assert(data !== null && data !== undefined, 'Invalid input: null or undefined'); + assert(!isObject(data) && !Array.isArray(data), 'Invalid input: objects are not supported'); + assert( + !isNumber(data) || Number.isInteger(data), + 'Invalid input: decimal numbers are not supported, only integers' + ); + + const value = CairoInt128.__processData(data); + assert( + value >= RANGE_I128.min && value <= RANGE_I128.max, + `Value is out of i128 range [${RANGE_I128.min}, ${RANGE_I128.max}]` + ); + } + + static is(data: BigNumberish | boolean | unknown): boolean { + try { + CairoInt128.validate(data); + return true; + } catch { + return false; + } + } + + /** + * Check if provided abi type is this data type + */ + static isAbiType(abiType: string): boolean { + return abiType === CairoInt128.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoInt128 { + const response = getNext(responseIterator); + const value = BigInt(response); + // Convert from field element representation to signed value + const signedValue = value > PRIME / 2n ? value - PRIME : value; + return new CairoInt128(signedValue); + } +} diff --git a/src/utils/cairoDataTypes/int16.ts b/src/utils/cairoDataTypes/int16.ts new file mode 100644 index 000000000..ee193ae6f --- /dev/null +++ b/src/utils/cairoDataTypes/int16.ts @@ -0,0 +1,97 @@ +/* eslint-disable no-underscore-dangle */ +import { BigNumberish } from '../../types'; +import { addHexPrefix, bigIntToUint8Array, utf8ToBigInt } from '../encode'; +import { getNext } from '../num'; +import { isText } from '../shortString'; +import { isString, isObject, isNumber } from '../typed'; +import assert from '../assert'; +import { RANGE_I16, PRIME } from '../../global/constants'; +import { addCompiledFlag } from '../helpers'; + +export class CairoInt16 { + data: bigint; + + static abiSelector = 'core::integer::i16'; + + constructor(data: BigNumberish | boolean | unknown) { + CairoInt16.validate(data); + this.data = CairoInt16.__processData(data); + } + + static __processData(data: BigNumberish | boolean | unknown): bigint { + if (isString(data) && isText(data)) { + // Only allow text strings that represent valid UTF-8 byte sequences for specific use cases + // For general numeric input validation, reject pure text strings + // This maintains compatibility while being more restrictive for validation + return utf8ToBigInt(data); + } + return BigInt(data as BigNumberish); + } + + toApiRequest(): string[] { + return addCompiledFlag([this.toHexString()]); + } + + toBigInt() { + return this.data; + } + + decodeUtf8() { + return new TextDecoder().decode( + bigIntToUint8Array(this.data >= 0n ? this.data : 65536n + this.data) + ); + } + + /** + * For negative values field element representation as positive hex string. + * @returns cairo field arithmetic hex string + */ + toHexString() { + const value = this.toBigInt(); + // For negative values, convert to field element representation + if (value < 0n) { + const fieldElement = PRIME + value; + return addHexPrefix(fieldElement.toString(16)); + } + return addHexPrefix(value.toString(16)); + } + + static validate(data: BigNumberish | boolean | unknown): void { + assert(data !== null && data !== undefined, 'Invalid input: null or undefined'); + assert(!isObject(data) && !Array.isArray(data), 'Invalid input: objects are not supported'); + assert( + !isNumber(data) || Number.isInteger(data), + 'Invalid input: decimal numbers are not supported, only integers' + ); + + const value = CairoInt16.__processData(data); + assert( + value >= RANGE_I16.min && value <= RANGE_I16.max, + `Value is out of i16 range [${RANGE_I16.min}, ${RANGE_I16.max}]` + ); + } + + static is(data: BigNumberish | boolean | unknown): boolean { + try { + CairoInt16.validate(data); + return true; + } catch { + return false; + } + } + + /** + * Check if provided abi type is this data type + */ + static isAbiType(abiType: string): boolean { + return abiType === CairoInt16.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoInt16 { + const response = getNext(responseIterator); + const value = BigInt(response); + // Convert from field element representation to signed value + const signedValue = value > PRIME / 2n ? value - PRIME : value; + return new CairoInt16(signedValue); + } +} diff --git a/src/utils/cairoDataTypes/int32.ts b/src/utils/cairoDataTypes/int32.ts new file mode 100644 index 000000000..576c14b04 --- /dev/null +++ b/src/utils/cairoDataTypes/int32.ts @@ -0,0 +1,97 @@ +/* eslint-disable no-underscore-dangle */ +import { BigNumberish } from '../../types'; +import { addHexPrefix, bigIntToUint8Array, utf8ToBigInt } from '../encode'; +import { getNext } from '../num'; +import { isText } from '../shortString'; +import { isString, isObject, isNumber } from '../typed'; +import assert from '../assert'; +import { RANGE_I32, PRIME } from '../../global/constants'; +import { addCompiledFlag } from '../helpers'; + +export class CairoInt32 { + data: bigint; + + static abiSelector = 'core::integer::i32'; + + constructor(data: BigNumberish | boolean | unknown) { + CairoInt32.validate(data); + this.data = CairoInt32.__processData(data); + } + + static __processData(data: BigNumberish | boolean | unknown): bigint { + if (isString(data) && isText(data)) { + // Only allow text strings that represent valid UTF-8 byte sequences for specific use cases + // For general numeric input validation, reject pure text strings + // This maintains compatibility while being more restrictive for validation + return utf8ToBigInt(data); + } + return BigInt(data as BigNumberish); + } + + toApiRequest(): string[] { + return addCompiledFlag([this.toHexString()]); + } + + toBigInt() { + return this.data; + } + + decodeUtf8() { + return new TextDecoder().decode( + bigIntToUint8Array(this.data >= 0n ? this.data : 4294967296n + this.data) + ); + } + + /** + * For negative values field element representation as positive hex string. + * @returns cairo field arithmetic hex string + */ + toHexString() { + const value = this.toBigInt(); + // For negative values, convert to field element representation + if (value < 0n) { + const fieldElement = PRIME + value; + return addHexPrefix(fieldElement.toString(16)); + } + return addHexPrefix(value.toString(16)); + } + + static validate(data: BigNumberish | boolean | unknown): void { + assert(data !== null && data !== undefined, 'Invalid input: null or undefined'); + assert(!isObject(data) && !Array.isArray(data), 'Invalid input: objects are not supported'); + assert( + !isNumber(data) || Number.isInteger(data), + 'Invalid input: decimal numbers are not supported, only integers' + ); + + const value = CairoInt32.__processData(data); + assert( + value >= RANGE_I32.min && value <= RANGE_I32.max, + `Value is out of i32 range [${RANGE_I32.min}, ${RANGE_I32.max}]` + ); + } + + static is(data: BigNumberish | boolean | unknown): boolean { + try { + CairoInt32.validate(data); + return true; + } catch { + return false; + } + } + + /** + * Check if provided abi type is this data type + */ + static isAbiType(abiType: string): boolean { + return abiType === CairoInt32.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoInt32 { + const response = getNext(responseIterator); + const value = BigInt(response); + // Convert from field element representation to signed value + const signedValue = value > PRIME / 2n ? value - PRIME : value; + return new CairoInt32(signedValue); + } +} diff --git a/src/utils/cairoDataTypes/int64.ts b/src/utils/cairoDataTypes/int64.ts new file mode 100644 index 000000000..2ca48b639 --- /dev/null +++ b/src/utils/cairoDataTypes/int64.ts @@ -0,0 +1,97 @@ +/* eslint-disable no-underscore-dangle */ +import { BigNumberish } from '../../types'; +import { addHexPrefix, bigIntToUint8Array, utf8ToBigInt } from '../encode'; +import { getNext } from '../num'; +import { isText } from '../shortString'; +import { isString, isObject, isNumber } from '../typed'; +import assert from '../assert'; +import { RANGE_I64, PRIME } from '../../global/constants'; +import { addCompiledFlag } from '../helpers'; + +export class CairoInt64 { + data: bigint; + + static abiSelector = 'core::integer::i64'; + + constructor(data: BigNumberish | boolean | unknown) { + CairoInt64.validate(data); + this.data = CairoInt64.__processData(data); + } + + static __processData(data: BigNumberish | boolean | unknown): bigint { + if (isString(data) && isText(data)) { + // Only allow text strings that represent valid UTF-8 byte sequences for specific use cases + // For general numeric input validation, reject pure text strings + // This maintains compatibility while being more restrictive for validation + return utf8ToBigInt(data); + } + return BigInt(data as BigNumberish); + } + + toApiRequest(): string[] { + return addCompiledFlag([this.toHexString()]); + } + + toBigInt() { + return this.data; + } + + decodeUtf8() { + return new TextDecoder().decode( + bigIntToUint8Array(this.data >= 0n ? this.data : 2n ** 64n + this.data) + ); + } + + /** + * For negative values field element representation as positive hex string. + * @returns cairo field arithmetic hex string + */ + toHexString() { + const value = this.toBigInt(); + // For negative values, convert to field element representation + if (value < 0n) { + const fieldElement = PRIME + value; + return addHexPrefix(fieldElement.toString(16)); + } + return addHexPrefix(value.toString(16)); + } + + static validate(data: BigNumberish | boolean | unknown): void { + assert(data !== null && data !== undefined, 'Invalid input: null or undefined'); + assert(!isObject(data) && !Array.isArray(data), 'Invalid input: objects are not supported'); + assert( + !isNumber(data) || Number.isInteger(data), + 'Invalid input: decimal numbers are not supported, only integers' + ); + + const value = CairoInt64.__processData(data); + assert( + value >= RANGE_I64.min && value <= RANGE_I64.max, + `Value is out of i64 range [${RANGE_I64.min}, ${RANGE_I64.max}]` + ); + } + + static is(data: BigNumberish | boolean | unknown): boolean { + try { + CairoInt64.validate(data); + return true; + } catch { + return false; + } + } + + /** + * Check if provided abi type is this data type + */ + static isAbiType(abiType: string): boolean { + return abiType === CairoInt64.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoInt64 { + const response = getNext(responseIterator); + const value = BigInt(response); + // Convert from field element representation to signed value + const signedValue = value > PRIME / 2n ? value - PRIME : value; + return new CairoInt64(signedValue); + } +} diff --git a/src/utils/cairoDataTypes/int8.ts b/src/utils/cairoDataTypes/int8.ts new file mode 100644 index 000000000..e87b5f154 --- /dev/null +++ b/src/utils/cairoDataTypes/int8.ts @@ -0,0 +1,97 @@ +/* eslint-disable no-underscore-dangle */ +import { BigNumberish } from '../../types'; +import { addHexPrefix, bigIntToUint8Array, utf8ToBigInt } from '../encode'; +import { getNext } from '../num'; +import { isText } from '../shortString'; +import { isString, isObject, isNumber } from '../typed'; +import assert from '../assert'; +import { RANGE_I8, PRIME } from '../../global/constants'; +import { addCompiledFlag } from '../helpers'; + +export class CairoInt8 { + data: bigint; + + static abiSelector = 'core::integer::i8'; + + constructor(data: BigNumberish | boolean | unknown) { + CairoInt8.validate(data); + this.data = CairoInt8.__processData(data); + } + + static __processData(data: BigNumberish | boolean | unknown): bigint { + if (isString(data) && isText(data)) { + // Only allow text strings that represent valid UTF-8 byte sequences for specific use cases + // For general numeric input validation, reject pure text strings + // This maintains compatibility while being more restrictive for validation + return utf8ToBigInt(data); + } + return BigInt(data as BigNumberish); + } + + toApiRequest(): string[] { + return addCompiledFlag([this.toHexString()]); + } + + toBigInt() { + return this.data; + } + + decodeUtf8() { + return new TextDecoder().decode( + bigIntToUint8Array(this.data >= 0n ? this.data : 256n + this.data) + ); + } + + /** + * For negative values field element representation as positive hex string. + * @returns cairo field arithmetic hex string + */ + toHexString() { + const value = this.toBigInt(); + // For negative values, convert to field element representation + if (value < 0n) { + const fieldElement = PRIME + value; + return addHexPrefix(fieldElement.toString(16)); + } + return addHexPrefix(value.toString(16)); + } + + static validate(data: BigNumberish | boolean | unknown): void { + assert(data !== null && data !== undefined, 'Invalid input: null or undefined'); + assert(!isObject(data) && !Array.isArray(data), 'Invalid input: objects are not supported'); + assert( + !isNumber(data) || Number.isInteger(data), + 'Invalid input: decimal numbers are not supported, only integers' + ); + + const value = CairoInt8.__processData(data); + assert( + value >= RANGE_I8.min && value <= RANGE_I8.max, + `Value is out of i8 range [${RANGE_I8.min}, ${RANGE_I8.max}]` + ); + } + + static is(data: BigNumberish | boolean | unknown): boolean { + try { + CairoInt8.validate(data); + return true; + } catch { + return false; + } + } + + /** + * Check if provided abi type is this data type + */ + static isAbiType(abiType: string): boolean { + return abiType === CairoInt8.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoInt8 { + const response = getNext(responseIterator); + const value = BigInt(response); + // Convert from field element representation to signed value + const signedValue = value > PRIME / 2n ? value - PRIME : value; + return new CairoInt8(signedValue); + } +} diff --git a/src/utils/cairoDataTypes/uint128.ts b/src/utils/cairoDataTypes/uint128.ts new file mode 100644 index 000000000..92d5ad9b8 --- /dev/null +++ b/src/utils/cairoDataTypes/uint128.ts @@ -0,0 +1,81 @@ +/* eslint-disable no-underscore-dangle */ +import { BigNumberish } from '../../types'; +import { addHexPrefix, bigIntToUint8Array, utf8ToBigInt } from '../encode'; +import { getNext } from '../num'; +import { isText } from '../shortString'; +import { isString, isObject, isNumber } from '../typed'; +import assert from '../assert'; +import { RANGE_U128 } from '../../global/constants'; +import { addCompiledFlag } from '../helpers'; + +export class CairoUint128 { + data: bigint; + + static abiSelector = 'core::integer::u128'; + + constructor(data: BigNumberish | boolean | unknown) { + CairoUint128.validate(data); + this.data = CairoUint128.__processData(data); + } + + static __processData(data: BigNumberish | boolean | unknown): bigint { + if (isString(data) && isText(data)) { + // Only allow text strings that represent valid UTF-8 byte sequences for specific use cases + // For general numeric input validation, reject pure text strings + // This maintains compatibility while being more restrictive for validation + return utf8ToBigInt(data); + } + return BigInt(data as BigNumberish); + } + + toApiRequest(): string[] { + return addCompiledFlag([this.toHexString()]); + } + + toBigInt() { + return this.data; + } + + decodeUtf8() { + return new TextDecoder().decode(bigIntToUint8Array(this.data)); + } + + toHexString() { + return addHexPrefix(this.toBigInt().toString(16)); + } + + static validate(data: BigNumberish | boolean | unknown): void { + assert(data !== null && data !== undefined, 'Invalid input: null or undefined'); + assert(!isObject(data) && !Array.isArray(data), 'Invalid input: objects are not supported'); + assert( + !isNumber(data) || Number.isInteger(data), + 'Invalid input: decimal numbers are not supported, only integers' + ); + + const value = CairoUint128.__processData(data); + assert( + value >= RANGE_U128.min && value <= RANGE_U128.max, + `Value is out of u128 range [${RANGE_U128.min}, ${RANGE_U128.max}]` + ); + } + + static is(data: BigNumberish | boolean | unknown): boolean { + try { + CairoUint128.validate(data); + return true; + } catch { + return false; + } + } + + /** + * Check if provided abi type is this data type + */ + static isAbiType(abiType: string): boolean { + return abiType === CairoUint128.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoUint128 { + return new CairoUint128(getNext(responseIterator)); + } +} diff --git a/src/utils/cairoDataTypes/uint16.ts b/src/utils/cairoDataTypes/uint16.ts new file mode 100644 index 000000000..532a4782b --- /dev/null +++ b/src/utils/cairoDataTypes/uint16.ts @@ -0,0 +1,81 @@ +/* eslint-disable no-underscore-dangle */ +import { BigNumberish } from '../../types'; +import { addHexPrefix, bigIntToUint8Array, utf8ToBigInt } from '../encode'; +import { getNext } from '../num'; +import { isText } from '../shortString'; +import { isString, isObject, isNumber } from '../typed'; +import assert from '../assert'; +import { RANGE_U16 } from '../../global/constants'; +import { addCompiledFlag } from '../helpers'; + +export class CairoUint16 { + data: bigint; + + static abiSelector = 'core::integer::u16'; + + constructor(data: BigNumberish | boolean | unknown) { + CairoUint16.validate(data); + this.data = CairoUint16.__processData(data); + } + + static __processData(data: BigNumberish | boolean | unknown): bigint { + if (isString(data) && isText(data)) { + // Only allow text strings that represent valid UTF-8 byte sequences for specific use cases + // For general numeric input validation, reject pure text strings + // This maintains compatibility while being more restrictive for validation + return utf8ToBigInt(data); + } + return BigInt(data as BigNumberish); + } + + toApiRequest(): string[] { + return addCompiledFlag([this.toHexString()]); + } + + toBigInt() { + return this.data; + } + + decodeUtf8() { + return new TextDecoder().decode(bigIntToUint8Array(this.data)); + } + + toHexString() { + return addHexPrefix(this.toBigInt().toString(16)); + } + + static validate(data: BigNumberish | boolean | unknown): void { + assert(data !== null && data !== undefined, 'Invalid input: null or undefined'); + assert(!isObject(data) && !Array.isArray(data), 'Invalid input: objects are not supported'); + assert( + !isNumber(data) || Number.isInteger(data), + 'Invalid input: decimal numbers are not supported, only integers' + ); + + const value = CairoUint16.__processData(data); + assert( + value >= RANGE_U16.min && value <= RANGE_U16.max, + `Value is out of u16 range [${RANGE_U16.min}, ${RANGE_U16.max}]` + ); + } + + static is(data: BigNumberish | boolean | unknown): boolean { + try { + CairoUint16.validate(data); + return true; + } catch { + return false; + } + } + + /** + * Check if provided abi type is this data type + */ + static isAbiType(abiType: string): boolean { + return abiType === CairoUint16.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoUint16 { + return new CairoUint16(getNext(responseIterator)); + } +} diff --git a/src/utils/cairoDataTypes/uint256.ts b/src/utils/cairoDataTypes/uint256.ts index 1c51c4c63..6d08bf2f8 100644 --- a/src/utils/cairoDataTypes/uint256.ts +++ b/src/utils/cairoDataTypes/uint256.ts @@ -6,6 +6,9 @@ import { BigNumberish, Uint256 } from '../../types'; import { addHexPrefix } from '../encode'; import { CairoFelt } from './felt'; +import { isObject } from '../typed'; +import { getNext, isBigNumberish } from '../num'; +import assert from '../assert'; export const UINT_128_MAX = (1n << 128n) - 1n; export const UINT_256_MAX = (1n << 256n) - 1n; @@ -16,29 +19,26 @@ export const UINT_256_LOW_MIN = 0n; export const UINT_256_HIGH_MIN = 0n; export class CairoUint256 { - public low: bigint; + public low: bigint; // TODO should be u128 - public high: bigint; + public high: bigint; // TODO should be u128 - static abiSelector = 'core::integer::u256'; + static abiSelector = 'core::integer::u256' as const; /** * Default constructor (Lib usage) - * @param bigNumberish BigNumberish value representing uin256 */ - public constructor(bigNumberish: BigNumberish); + public constructor(data: BigNumberish | Uint256 | unknown); /** * Direct props initialization (Api response) */ public constructor(low: BigNumberish, high: BigNumberish); - /** - * Initialization from Uint256 object - */ - public constructor(uint256: Uint256); - public constructor(...arr: any[]) { - if (typeof arr[0] === 'object' && arr.length === 1 && 'low' in arr[0] && 'high' in arr[0]) { - const props = CairoUint256.validateProps(arr[0].low, arr[0].high); + if (isObject(arr[0]) && arr.length === 1 && 'low' in arr[0] && 'high' in arr[0]) { + const props = CairoUint256.validateProps( + arr[0].low as BigNumberish, + arr[0].high as BigNumberish + ); this.low = props.low; this.high = props.high; } else if (arr.length === 1) { @@ -57,10 +57,17 @@ export class CairoUint256 { /** * Validate if BigNumberish can be represented as Unit256 */ - static validate(bigNumberish: BigNumberish) { - const bigInt = BigInt(bigNumberish); - if (bigInt < UINT_256_MIN) throw Error('bigNumberish is smaller than UINT_256_MIN'); - if (bigInt > UINT_256_MAX) throw new Error('bigNumberish is bigger than UINT_256_MAX'); + static validate(bigNumberish: BigNumberish | unknown) { + assert(bigNumberish !== null, 'null value is not allowed for u256'); + assert(bigNumberish !== undefined, 'undefined value is not allowed for u256'); + assert( + isBigNumberish(bigNumberish) || isObject(bigNumberish), + `Unsupported data type '${typeof bigNumberish}' for u256. Expected string, number, bigint, or Uint256 object` + ); + + const bigInt = BigInt(bigNumberish as BigNumberish); + assert(bigInt >= UINT_256_MIN, 'bigNumberish is smaller than UINT_256_MIN'); + assert(bigInt <= UINT_256_MAX, 'bigNumberish is bigger than UINT_256_MAX'); return bigInt; } @@ -70,19 +77,21 @@ export class CairoUint256 { static validateProps(low: BigNumberish, high: BigNumberish) { const bigIntLow = BigInt(low); const bigIntHigh = BigInt(high); - if (bigIntLow < UINT_256_LOW_MIN || bigIntLow > UINT_256_LOW_MAX) { - throw new Error('low is out of range UINT_256_LOW_MIN - UINT_256_LOW_MAX'); - } - if (bigIntHigh < UINT_256_HIGH_MIN || bigIntHigh > UINT_256_HIGH_MAX) { - throw new Error('high is out of range UINT_256_HIGH_MIN - UINT_256_HIGH_MAX'); - } + assert( + bigIntLow >= UINT_256_LOW_MIN && bigIntLow <= UINT_256_LOW_MAX, + 'low is out of range UINT_256_LOW_MIN - UINT_256_LOW_MAX' + ); + assert( + bigIntHigh >= UINT_256_HIGH_MIN && bigIntHigh <= UINT_256_HIGH_MAX, + 'high is out of range UINT_256_HIGH_MIN - UINT_256_HIGH_MAX' + ); return { low: bigIntLow, high: bigIntHigh }; } /** * Check if BigNumberish can be represented as Unit256 */ - static is(bigNumberish: BigNumberish) { + static is(bigNumberish: BigNumberish | unknown) { try { CairoUint256.validate(bigNumberish); } catch (error) { @@ -98,6 +107,12 @@ export class CairoUint256 { return abiType === CairoUint256.abiSelector; } + static factoryFromApiResponse(responseIterator: Iterator) { + const low = getNext(responseIterator); + const high = getNext(responseIterator); + return new CairoUint256(low, high); + } + /** * Return bigint representation */ diff --git a/src/utils/cairoDataTypes/uint32.ts b/src/utils/cairoDataTypes/uint32.ts new file mode 100644 index 000000000..cd7e8d6d7 --- /dev/null +++ b/src/utils/cairoDataTypes/uint32.ts @@ -0,0 +1,77 @@ +/* eslint-disable no-underscore-dangle */ +import { BigNumberish } from '../../types'; +import { addHexPrefix, bigIntToUint8Array, utf8ToBigInt } from '../encode'; +import { getNext } from '../num'; +import { isText } from '../shortString'; +import { isString, isObject, isNumber } from '../typed'; +import assert from '../assert'; +import { addCompiledFlag } from '../helpers'; + +export class CairoUint32 { + data: bigint; + + static abiSelector = 'core::u32::u32'; + + constructor(data: BigNumberish) { + CairoUint32.validate(data); + this.data = CairoUint32.__processData(data); + } + + static __processData(data: BigNumberish): bigint { + if (isString(data) && isText(data)) { + // Only allow text strings that represent valid UTF-8 byte sequences for specific use cases + // For general numeric input validation, reject pure text strings + // This maintains compatibility while being more restrictive for validation + return utf8ToBigInt(data); + } + return BigInt(data); + } + + toApiRequest(): string[] { + return addCompiledFlag([this.toHexString()]); + } + + toBigInt() { + return this.data; + } + + decodeUtf8() { + return new TextDecoder().decode(bigIntToUint8Array(this.data)); + } + + toHexString() { + return addHexPrefix(this.toBigInt().toString(16)); + } + + static validate(data: BigNumberish): void { + assert(data !== null && data !== undefined, 'Invalid input: null or undefined'); + assert(!isObject(data) && !Array.isArray(data), 'Invalid input: objects are not supported'); + assert( + !isNumber(data) || Number.isInteger(data), + 'Invalid input: decimal numbers are not supported, only integers' + ); + + const value = CairoUint32.__processData(data); + assert(value >= 0n && value <= 2n ** 32n - 1n, 'Value is out of u32 range [0, 2^32)'); + } + + static is(data: BigNumberish): boolean { + try { + CairoUint32.validate(data); + return true; + } catch { + return false; + } + } + + /** + * Check if provided abi type is this data type + */ + static isAbiType(abiType: string): boolean { + return abiType === CairoUint32.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoUint32 { + return new CairoUint32(getNext(responseIterator)); + } +} diff --git a/src/utils/cairoDataTypes/uint512.ts b/src/utils/cairoDataTypes/uint512.ts index 9f6e2d4c2..1072eeafd 100644 --- a/src/utils/cairoDataTypes/uint512.ts +++ b/src/utils/cairoDataTypes/uint512.ts @@ -7,27 +7,29 @@ import { BigNumberish, type Uint512 } from '../../types'; import { addHexPrefix } from '../encode'; import { CairoFelt } from './felt'; import { UINT_128_MAX } from './uint256'; +import { isObject } from '../typed'; +import { getNext, isBigNumberish } from '../num'; +import assert from '../assert'; export const UINT_512_MAX = (1n << 512n) - 1n; export const UINT_512_MIN = 0n; export const UINT_128_MIN = 0n; export class CairoUint512 { - public limb0: bigint; + public limb0: bigint; // TODO should be u128 - public limb1: bigint; + public limb1: bigint; // TODO should be u128 - public limb2: bigint; + public limb2: bigint; // TODO should be u128 - public limb3: bigint; + public limb3: bigint; // TODO should be u128 static abiSelector = 'core::integer::u512'; /** * Default constructor (Lib usage) - * @param bigNumberish BigNumberish value representing u512 */ - public constructor(bigNumberish: BigNumberish); + public constructor(bigNumberish: BigNumberish | Uint512 | unknown); /** * Direct props initialization (Api response) */ @@ -37,14 +39,9 @@ export class CairoUint512 { limb2: BigNumberish, limb3: BigNumberish ); - /** - * Initialization from Uint512 object - */ - public constructor(uint512: Uint512); - public constructor(...arr: any[]) { if ( - typeof arr[0] === 'object' && + isObject(arr[0]) && arr.length === 1 && 'limb0' in arr[0] && 'limb1' in arr[0] && @@ -52,10 +49,10 @@ export class CairoUint512 { 'limb3' in arr[0] ) { const props = CairoUint512.validateProps( - arr[0].limb0, - arr[0].limb1, - arr[0].limb2, - arr[0].limb3 + arr[0].limb0 as BigNumberish, + arr[0].limb1 as BigNumberish, + arr[0].limb2 as BigNumberish, + arr[0].limb3 as BigNumberish ); this.limb0 = props.limb0; this.limb1 = props.limb1; @@ -81,10 +78,17 @@ export class CairoUint512 { /** * Validate if BigNumberish can be represented as Uint512 */ - static validate(bigNumberish: BigNumberish): bigint { - const bigInt = BigInt(bigNumberish); - if (bigInt < UINT_512_MIN) throw Error('bigNumberish is smaller than UINT_512_MIN.'); - if (bigInt > UINT_512_MAX) throw Error('bigNumberish is bigger than UINT_512_MAX.'); + static validate(bigNumberish: BigNumberish | unknown): bigint { + assert(bigNumberish !== null, 'null value is not allowed for u512'); + assert(bigNumberish !== undefined, 'undefined value is not allowed for u512'); + assert( + isBigNumberish(bigNumberish) || isObject(bigNumberish), + `Unsupported data type '${typeof bigNumberish}' for u512. Expected string, number, bigint, or Uint512 object` + ); + + const bigInt = BigInt(bigNumberish as BigNumberish); + assert(bigInt >= UINT_512_MIN, 'bigNumberish is smaller than UINT_512_MIN.'); + assert(bigInt <= UINT_512_MAX, 'bigNumberish is bigger than UINT_512_MAX.'); return bigInt; } @@ -102,9 +106,10 @@ export class CairoUint512 { const l2 = BigInt(limb2); const l3 = BigInt(limb3); [l0, l1, l2, l3].forEach((value: bigint, index) => { - if (value < UINT_128_MIN || value > UINT_128_MAX) { - throw Error(`limb${index} is not in the range of a u128 number`); - } + assert( + value >= UINT_128_MIN && value <= UINT_128_MAX, + `limb${index} is not in the range of a u128 number` + ); }); return { limb0: l0, limb1: l1, limb2: l2, limb3: l3 }; } @@ -112,7 +117,7 @@ export class CairoUint512 { /** * Check if BigNumberish can be represented as Uint512 */ - static is(bigNumberish: BigNumberish): boolean { + static is(bigNumberish: BigNumberish | unknown): boolean { try { CairoUint512.validate(bigNumberish); } catch (error) { @@ -128,6 +133,14 @@ export class CairoUint512 { return abiType === CairoUint512.abiSelector; } + static factoryFromApiResponse(responseIterator: Iterator) { + const limb0 = getNext(responseIterator); + const limb1 = getNext(responseIterator); + const limb2 = getNext(responseIterator); + const limb3 = getNext(responseIterator); + return new CairoUint512(limb0, limb1, limb2, limb3); + } + /** * Return bigint representation */ diff --git a/src/utils/cairoDataTypes/uint64.ts b/src/utils/cairoDataTypes/uint64.ts new file mode 100644 index 000000000..b38d0e1f4 --- /dev/null +++ b/src/utils/cairoDataTypes/uint64.ts @@ -0,0 +1,81 @@ +/* eslint-disable no-underscore-dangle */ +import { BigNumberish } from '../../types'; +import { addHexPrefix, bigIntToUint8Array, utf8ToBigInt } from '../encode'; +import { getNext } from '../num'; +import { isText } from '../shortString'; +import { isString, isObject, isNumber } from '../typed'; +import assert from '../assert'; +import { RANGE_U64 } from '../../global/constants'; +import { addCompiledFlag } from '../helpers'; + +export class CairoUint64 { + data: bigint; + + static abiSelector = 'core::integer::u64'; + + constructor(data: BigNumberish | boolean | unknown) { + CairoUint64.validate(data); + this.data = CairoUint64.__processData(data); + } + + static __processData(data: BigNumberish | boolean | unknown): bigint { + if (isString(data) && isText(data)) { + // Only allow text strings that represent valid UTF-8 byte sequences for specific use cases + // For general numeric input validation, reject pure text strings + // This maintains compatibility while being more restrictive for validation + return utf8ToBigInt(data); + } + return BigInt(data as BigNumberish); + } + + toApiRequest(): string[] { + return addCompiledFlag([this.toHexString()]); + } + + toBigInt() { + return this.data; + } + + decodeUtf8() { + return new TextDecoder().decode(bigIntToUint8Array(this.data)); + } + + toHexString() { + return addHexPrefix(this.toBigInt().toString(16)); + } + + static validate(data: BigNumberish | boolean | unknown): void { + assert(data !== null && data !== undefined, 'Invalid input: null or undefined'); + assert(!isObject(data) && !Array.isArray(data), 'Invalid input: objects are not supported'); + assert( + !isNumber(data) || Number.isInteger(data), + 'Invalid input: decimal numbers are not supported, only integers' + ); + + const value = CairoUint64.__processData(data); + assert( + value >= RANGE_U64.min && value <= RANGE_U64.max, + `Value is out of u64 range [${RANGE_U64.min}, ${RANGE_U64.max}]` + ); + } + + static is(data: BigNumberish | boolean | unknown): boolean { + try { + CairoUint64.validate(data); + return true; + } catch { + return false; + } + } + + /** + * Check if provided abi type is this data type + */ + static isAbiType(abiType: string): boolean { + return abiType === CairoUint64.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoUint64 { + return new CairoUint64(getNext(responseIterator)); + } +} diff --git a/src/utils/cairoDataTypes/uint8.ts b/src/utils/cairoDataTypes/uint8.ts new file mode 100644 index 000000000..05dc19044 --- /dev/null +++ b/src/utils/cairoDataTypes/uint8.ts @@ -0,0 +1,81 @@ +/* eslint-disable no-underscore-dangle */ +import { BigNumberish } from '../../types'; +import { addHexPrefix, bigIntToUint8Array, utf8ToBigInt } from '../encode'; +import { getNext } from '../num'; +import { isText } from '../shortString'; +import { isString, isObject, isNumber } from '../typed'; +import assert from '../assert'; +import { RANGE_U8 } from '../../global/constants'; +import { addCompiledFlag } from '../helpers'; + +export class CairoUint8 { + data: bigint; + + static abiSelector = 'core::integer::u8'; + + constructor(data: BigNumberish | boolean | unknown) { + CairoUint8.validate(data); + this.data = CairoUint8.__processData(data); + } + + static __processData(data: BigNumberish | boolean | unknown): bigint { + if (isString(data) && isText(data)) { + // Only allow text strings that represent valid UTF-8 byte sequences for specific use cases + // For general numeric input validation, reject pure text strings + // This maintains compatibility while being more restrictive for validation + return utf8ToBigInt(data); + } + return BigInt(data as BigNumberish); + } + + toApiRequest(): string[] { + return addCompiledFlag([this.toHexString()]); + } + + toBigInt() { + return this.data; + } + + decodeUtf8() { + return new TextDecoder().decode(bigIntToUint8Array(this.data)); + } + + toHexString() { + return addHexPrefix(this.toBigInt().toString(16)); + } + + static validate(data: BigNumberish | boolean | unknown): void { + assert(data !== null && data !== undefined, 'Invalid input: null or undefined'); + assert(!isObject(data) && !Array.isArray(data), 'Invalid input: objects are not supported'); + assert( + !isNumber(data) || Number.isInteger(data), + 'Invalid input: decimal numbers are not supported, only integers' + ); + + const value = CairoUint8.__processData(data); + assert( + value >= RANGE_U8.min && value <= RANGE_U8.max, + `Value is out of u8 range [${RANGE_U8.min}, ${RANGE_U8.max}]` + ); + } + + static is(data: BigNumberish | boolean | unknown): boolean { + try { + CairoUint8.validate(data); + return true; + } catch { + return false; + } + } + + /** + * Check if provided abi type is this data type + */ + static isAbiType(abiType: string): boolean { + return abiType === CairoUint8.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoUint8 { + return new CairoUint8(getNext(responseIterator)); + } +} diff --git a/src/utils/cairoDataTypes/uint96.ts b/src/utils/cairoDataTypes/uint96.ts new file mode 100644 index 000000000..4e4f8c9f7 --- /dev/null +++ b/src/utils/cairoDataTypes/uint96.ts @@ -0,0 +1,81 @@ +/* eslint-disable no-underscore-dangle */ +import { BigNumberish } from '../../types'; +import { addHexPrefix, bigIntToUint8Array, utf8ToBigInt } from '../encode'; +import { getNext } from '../num'; +import { isText } from '../shortString'; +import { isString, isObject, isNumber } from '../typed'; +import assert from '../assert'; +import { RANGE_U96 } from '../../global/constants'; +import { addCompiledFlag } from '../helpers'; + +export class CairoUint96 { + data: bigint; + + static abiSelector = 'core::integer::u96'; + + constructor(data: BigNumberish | boolean | unknown) { + CairoUint96.validate(data); + this.data = CairoUint96.__processData(data); + } + + static __processData(data: BigNumberish | boolean | unknown): bigint { + if (isString(data) && isText(data)) { + // Only allow text strings that represent valid UTF-8 byte sequences for specific use cases + // For general numeric input validation, reject pure text strings + // This maintains compatibility while being more restrictive for validation + return utf8ToBigInt(data); + } + return BigInt(data as BigNumberish); + } + + toApiRequest(): string[] { + return addCompiledFlag([this.toHexString()]); + } + + toBigInt() { + return this.data; + } + + decodeUtf8() { + return new TextDecoder().decode(bigIntToUint8Array(this.data)); + } + + toHexString() { + return addHexPrefix(this.toBigInt().toString(16)); + } + + static validate(data: BigNumberish | boolean | unknown): void { + assert(data !== null && data !== undefined, 'Invalid input: null or undefined'); + assert(!isObject(data) && !Array.isArray(data), 'Invalid input: objects are not supported'); + assert( + !isNumber(data) || Number.isInteger(data), + 'Invalid input: decimal numbers are not supported, only integers' + ); + + const value = CairoUint96.__processData(data); + assert( + value >= RANGE_U96.min && value <= RANGE_U96.max, + `Value is out of u96 range [${RANGE_U96.min}, ${RANGE_U96.max}]` + ); + } + + static is(data: BigNumberish | boolean | unknown): boolean { + try { + CairoUint96.validate(data); + return true; + } catch { + return false; + } + } + + /** + * Check if provided abi type is this data type + */ + static isAbiType(abiType: string): boolean { + return abiType === CairoUint96.abiSelector; + } + + static factoryFromApiResponse(responseIterator: Iterator): CairoUint96 { + return new CairoUint96(getNext(responseIterator)); + } +} diff --git a/src/utils/calldata/cairo.ts b/src/utils/calldata/cairo.ts index 61200fe57..a8c6c93da 100644 --- a/src/utils/calldata/cairo.ts +++ b/src/utils/calldata/cairo.ts @@ -5,6 +5,7 @@ import { BigNumberish, ContractVersion, ETH_ADDRESS, + Int, Literal, NON_ZERO_PREFIX, Uint, @@ -92,6 +93,13 @@ export const isTypeResult = (type: string) => type.startsWith('core::result::Res * @returns - Returns true if the value is a valid Uint type, otherwise false. */ export const isTypeUint = (type: string) => Object.values(Uint).includes(type as Uint); +/** + * Checks if the given value is a valid Int type. + * + * @param {string} type - The value to check. + * @returns - Returns true if the value is a valid Int type, otherwise false. + */ +export const isTypeInt = (type: string) => Object.values(Int).includes(type as Int); // Legacy Export /** * Checks if the given type is `uint256`. @@ -127,20 +135,6 @@ export const isTypeContractAddress = (type: string) => type === Literal.Contract * @returns - Returns true if the given type is 'core::starknet::eth_address::EthAddress', otherwise false. */ export const isTypeEthAddress = (type: string) => type === ETH_ADDRESS; -/** - * Checks if the given type is 'core::bytes_31::bytes31'. - * - * @param {string} type - The type to check. - * @returns - True if the type is 'core::bytes_31::bytes31', false otherwise. - */ -export const isTypeBytes31 = (type: string) => type === 'core::bytes_31::bytes31'; -/** - * Checks if the given type is equal to the 'core::byte_array::ByteArray'. - * - * @param {string} type - The type to check. - * @returns - True if the given type is equal to 'core::byte_array::ByteArray', false otherwise. - */ -export const isTypeByteArray = (type: string) => type === 'core::byte_array::ByteArray'; /** * Checks if the given type is equal to the u96 type diff --git a/src/utils/calldata/index.ts b/src/utils/calldata/index.ts index 4be129fc9..61e87e3b7 100644 --- a/src/utils/calldata/index.ts +++ b/src/utils/calldata/index.ts @@ -11,7 +11,7 @@ import { HexCalldata, RawArgs, RawArgsArray, - Result, + CallResult, ValidateType, } from '../../types'; import assert from '../assert'; @@ -29,7 +29,7 @@ import { CairoResultVariant, } from './enum'; import formatter from './formatter'; -import { createAbiParser, isNoConstructorValid } from './parser'; +import { createAbiParser, isNoConstructorValid, ParsingStrategy } from './parser'; import { AbiParserInterface } from './parser/interface'; import orderPropsByAbi from './propertyOrder'; import { parseCalldataField } from './requestParser'; @@ -39,6 +39,7 @@ import validateFields from './validate'; export * as cairo from './cairo'; export * as byteArray from './byteArray'; export { parseCalldataField } from './requestParser'; +export * from './parser'; export class CallData { abi: Abi; @@ -49,10 +50,10 @@ export class CallData { protected readonly enums: AbiEnums; - constructor(abi: Abi) { + constructor(abi: Abi, parsingStrategy?: ParsingStrategy) { this.structs = CallData.getAbiStruct(abi); this.enums = CallData.getAbiEnum(abi); - this.parser = createAbiParser(abi); + this.parser = createAbiParser(abi, parsingStrategy); this.abi = this.parser.getLegacyFormat(); } @@ -144,7 +145,15 @@ export class CallData { (acc, input) => isLen(input.name) && !isCairo1Type(input.type) ? acc - : acc.concat(parseCalldataField(argsIterator, input, this.structs, this.enums)), + : acc.concat( + parseCalldataField({ + argsIterator, + input, + structs: this.structs, + enums: this.enums, + parser: this.parser, + }) + ), [] as Calldata ); @@ -246,13 +255,20 @@ export class CallData { * @param response string[] - response from the method * @return Result - parsed response corresponding to the abi */ - public parse(method: string, response: string[]): Result { + public parse(method: string, response: string[]): CallResult { const { outputs } = this.abi.find((abi) => abi.name === method) as FunctionAbi; const responseIterator = response.flat()[Symbol.iterator](); const parsed = outputs.flat().reduce((acc, output, idx) => { const propName = output.name ?? idx; - acc[propName] = responseParser(responseIterator, output, this.structs, this.enums, acc); + acc[propName] = responseParser({ + responseIterator, + output, + structs: this.structs, + enums: this.enums, + parsedResult: acc, + parser: this.parser, + }); if (acc[propName] && acc[`${propName}_len`]) { delete acc[`${propName}_len`]; } @@ -260,7 +276,7 @@ export class CallData { }, {} as Args); // Cairo1 avoid object.0 structure - return Object.keys(parsed).length === 1 && 0 in parsed ? (parsed[0] as Result) : parsed; + return Object.keys(parsed).length === 1 && 0 in parsed ? (parsed[0] as CallResult) : parsed; } /** @@ -270,7 +286,7 @@ export class CallData { * @param format object - formatter object schema * @returns Result - parsed and formatted response object */ - public format(method: string, response: string[], format: object): Result { + public format(method: string, response: string[], format: object): CallResult { const parsed = this.parse(method, response); return formatter(parsed as Record, format); } @@ -340,17 +356,21 @@ export class CallData { * const res2=helloCallData.decodeParameters("hello::hello::UserData",["0x123456","0x1"]); * result = { address: 1193046n, is_claimed: true } */ - public decodeParameters(typeCairo: AllowArray, response: string[]): AllowArray { + public decodeParameters( + typeCairo: AllowArray, + response: string[] + ): AllowArray { const typeCairoArray = Array.isArray(typeCairo) ? typeCairo : [typeCairo]; const responseIterator = response.flat()[Symbol.iterator](); const decodedArray = typeCairoArray.map( (typeParam) => - responseParser( + responseParser({ responseIterator, - { name: '', type: typeParam }, - this.structs, - this.enums - ) as Result + output: { name: '', type: typeParam }, + parser: this.parser, + structs: this.structs, + enums: this.enums, + }) as CallResult ); return decodedArray.length === 1 ? decodedArray[0] : decodedArray; } diff --git a/src/utils/calldata/parser/index.ts b/src/utils/calldata/parser/index.ts index 098999f29..7c23d7fee 100644 --- a/src/utils/calldata/parser/index.ts +++ b/src/utils/calldata/parser/index.ts @@ -3,6 +3,12 @@ import { isCairo1Abi } from '../cairo'; import { AbiParserInterface } from './interface'; import { AbiParser1 } from './parser-0-1.1.0'; import { AbiParser2 } from './parser-2.0.0'; +import { ParsingStrategy } from './parsingStrategy'; + +export { AbiParser2 }; +export { AbiParser1 }; +export { AbiParserInterface }; +export * from './parsingStrategy'; /** * Creates ABI parser @@ -17,13 +23,13 @@ import { AbiParser2 } from './parser-2.0.0'; * const abiParser1 = createAbiParser([getFunctionAbi('struct')]); * // abiParser1 instanceof AbiParser1 === true */ -export function createAbiParser(abi: Abi): AbiParserInterface { +export function createAbiParser(abi: Abi, parsingStrategy?: ParsingStrategy): AbiParserInterface { const version = getAbiVersion(abi); if (version === 0 || version === 1) { - return new AbiParser1(abi); + return new AbiParser1(abi, parsingStrategy); } if (version === 2) { - return new AbiParser2(abi); + return new AbiParser2(abi, parsingStrategy); } throw Error(`Unsupported ABI version ${version}`); } diff --git a/src/utils/calldata/parser/interface.ts b/src/utils/calldata/parser/interface.ts index 895b3a1b5..2ae9c4b83 100644 --- a/src/utils/calldata/parser/interface.ts +++ b/src/utils/calldata/parser/interface.ts @@ -1,5 +1,8 @@ -import { Abi, FunctionAbi } from '../../../types'; +import { Abi, AbiEntryType, FunctionAbi } from '../../../types'; +/** + * Abi parser interface + */ export abstract class AbiParserInterface { /** * Helper to calculate inputs length from abi @@ -9,9 +12,9 @@ export abstract class AbiParserInterface { public abstract methodInputsLength(abiMethod: FunctionAbi): number; /** - * + * get method definition from abi * @param name string - * @return FunctionAbi | undefined + * @returns FunctionAbi | undefined */ public abstract getMethod(name: string): FunctionAbi | undefined; @@ -20,4 +23,20 @@ export abstract class AbiParserInterface { * @return Abi */ public abstract getLegacyFormat(): Abi; + + /** + * Get request parser for the given abi type + * @param abiType AbiEntryType + * @returns Parser function + */ + public abstract getRequestParser(abiType: AbiEntryType): (val: unknown) => any; + + /** + * Get response parser for the given abi type + * @param abiType AbiEntryType + * @returns Parser function + */ + public abstract getResponseParser( + abiType: AbiEntryType + ): (responseIterator: Iterator) => any; } diff --git a/src/utils/calldata/parser/parser-0-1.1.0.ts b/src/utils/calldata/parser/parser-0-1.1.0.ts index 632fcf902..31db40796 100644 --- a/src/utils/calldata/parser/parser-0-1.1.0.ts +++ b/src/utils/calldata/parser/parser-0-1.1.0.ts @@ -1,12 +1,30 @@ -import { Abi, FunctionAbi } from '../../../types'; +import { Abi, AbiEntryType, FunctionAbi } from '../../../types'; import { isLen } from '../cairo'; import { AbiParserInterface } from './interface'; +import { fastParsingStrategy, ParsingStrategy } from './parsingStrategy'; export class AbiParser1 implements AbiParserInterface { abi: Abi; - constructor(abi: Abi) { + parsingStrategy: ParsingStrategy; + + constructor(abi: Abi, parsingStrategy?: ParsingStrategy) { this.abi = abi; + this.parsingStrategy = parsingStrategy || fastParsingStrategy; + } + + public getRequestParser(abiType: AbiEntryType): (val: unknown) => any { + if (this.parsingStrategy.request[abiType]) { + return this.parsingStrategy.request[abiType]; + } + throw new Error(`Parser for ${abiType} not found`); + } + + public getResponseParser(abiType: AbiEntryType): (responseIterator: Iterator) => any { + if (this.parsingStrategy.response[abiType]) { + return this.parsingStrategy.response[abiType]; + } + throw new Error(`Parser for ${abiType} not found`); } /** diff --git a/src/utils/calldata/parser/parser-2.0.0.ts b/src/utils/calldata/parser/parser-2.0.0.ts index f80102c2c..6c11a1f65 100644 --- a/src/utils/calldata/parser/parser-2.0.0.ts +++ b/src/utils/calldata/parser/parser-2.0.0.ts @@ -5,14 +5,33 @@ import { AbiStruct, InterfaceAbi, type LegacyEvent, + AbiEntryType, } from '../../../types'; import { AbiParserInterface } from './interface'; +import { fastParsingStrategy, ParsingStrategy } from './parsingStrategy'; export class AbiParser2 implements AbiParserInterface { abi: Abi; - constructor(abi: Abi) { + parsingStrategy: ParsingStrategy; + + constructor(abi: Abi, parsingStrategy?: ParsingStrategy) { this.abi = abi; + this.parsingStrategy = parsingStrategy || fastParsingStrategy; + } + + public getRequestParser(abiType: AbiEntryType): (val: unknown) => any { + if (this.parsingStrategy.request[abiType]) { + return this.parsingStrategy.request[abiType]; + } + throw new Error(`Parser for ${abiType} not found`); + } + + public getResponseParser(abiType: AbiEntryType): (responseIterator: Iterator) => any { + if (this.parsingStrategy.response[abiType]) { + return this.parsingStrategy.response[abiType]; + } + throw new Error(`Parser for ${abiType} not found`); } /** diff --git a/src/utils/calldata/parser/parsingStrategy.ts b/src/utils/calldata/parser/parsingStrategy.ts new file mode 100644 index 000000000..0fe18093e --- /dev/null +++ b/src/utils/calldata/parser/parsingStrategy.ts @@ -0,0 +1,234 @@ +import { CairoBytes31 } from '../../cairoDataTypes/bytes31'; +import { CairoByteArray } from '../../cairoDataTypes/byteArray'; +import { AbiEntryType, BigNumberish } from '../../../types'; +import { CairoFelt252 } from '../../cairoDataTypes/felt'; +import { felt } from '../cairo'; +import { CairoUint256 } from '../../cairoDataTypes/uint256'; +import { CairoUint512 } from '../../cairoDataTypes/uint512'; +import { CairoUint8 } from '../../cairoDataTypes/uint8'; +import { CairoUint16 } from '../../cairoDataTypes/uint16'; +import { CairoUint64 } from '../../cairoDataTypes/uint64'; +import { CairoUint96 } from '../../cairoDataTypes/uint96'; +import { CairoUint128 } from '../../cairoDataTypes/uint128'; +import { CairoInt8 } from '../../cairoDataTypes/int8'; +import { CairoInt16 } from '../../cairoDataTypes/int16'; +import { CairoInt32 } from '../../cairoDataTypes/int32'; +import { CairoInt64 } from '../../cairoDataTypes/int64'; +import { CairoInt128 } from '../../cairoDataTypes/int128'; +import { getNext } from '../../num'; + +/** + * Parsing map for parser, request and response parsers are separated + * Configure parsing strategy for each abi type + */ +export type ParsingStrategy = { + request: Record any>; + response: Record) => any>; +}; + +// TODO: extend for complex types like structs, tuples, enums, arrays, etc. + +/** + * More robust parsing strategy + * Configuration mapping - data-driven approach + * Configure parsing strategy for each abi type + */ +export const hdParsingStrategy = { + // TODO: provjeri svi request parseri stvaraju array, dali je to ok sa requstParserom + request: { + [CairoBytes31.abiSelector]: (val: unknown) => { + return new CairoBytes31(val).toApiRequest(); + }, + [CairoByteArray.abiSelector]: (val: unknown) => { + return new CairoByteArray(val).toApiRequest(); + }, + [CairoFelt252.abiSelector]: (val: unknown) => { + return new CairoFelt252(val).toApiRequest(); + }, + [CairoUint256.abiSelector]: (val: unknown) => { + return new CairoUint256(val).toApiRequest(); + }, + [CairoUint512.abiSelector]: (val: unknown) => { + return new CairoUint512(val).toApiRequest(); + }, + [CairoUint8.abiSelector]: (val: unknown) => { + return new CairoUint8(val).toApiRequest(); + }, + [CairoUint16.abiSelector]: (val: unknown) => { + return new CairoUint16(val).toApiRequest(); + }, + [CairoUint64.abiSelector]: (val: unknown) => { + return new CairoUint64(val).toApiRequest(); + }, + [CairoUint96.abiSelector]: (val: unknown) => { + return new CairoUint96(val).toApiRequest(); + }, + [CairoUint128.abiSelector]: (val: unknown) => { + return new CairoUint128(val).toApiRequest(); + }, + [CairoInt8.abiSelector]: (val: unknown) => { + return new CairoInt8(val).toApiRequest(); + }, + [CairoInt16.abiSelector]: (val: unknown) => { + return new CairoInt16(val).toApiRequest(); + }, + [CairoInt32.abiSelector]: (val: unknown) => { + return new CairoInt32(val).toApiRequest(); + }, + [CairoInt64.abiSelector]: (val: unknown) => { + return new CairoInt64(val).toApiRequest(); + }, + [CairoInt128.abiSelector]: (val: unknown) => { + return new CairoInt128(val).toApiRequest(); + }, + }, + response: { + [CairoBytes31.abiSelector]: (responseIterator: Iterator) => { + return CairoBytes31.factoryFromApiResponse(responseIterator).decodeUtf8(); + }, + [CairoByteArray.abiSelector]: (responseIterator: Iterator) => { + return CairoByteArray.factoryFromApiResponse(responseIterator).decodeUtf8(); + }, + [CairoFelt252.abiSelector]: (responseIterator: Iterator) => { + return CairoFelt252.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoUint256.abiSelector]: (responseIterator: Iterator) => { + return CairoUint256.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoUint512.abiSelector]: (responseIterator: Iterator) => { + return CairoUint512.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoUint8.abiSelector]: (responseIterator: Iterator) => { + return CairoUint8.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoUint16.abiSelector]: (responseIterator: Iterator) => { + return CairoUint16.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoUint64.abiSelector]: (responseIterator: Iterator) => { + return CairoUint64.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoUint96.abiSelector]: (responseIterator: Iterator) => { + return CairoUint96.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoUint128.abiSelector]: (responseIterator: Iterator) => { + return CairoUint128.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoInt8.abiSelector]: (responseIterator: Iterator) => { + return CairoInt8.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoInt16.abiSelector]: (responseIterator: Iterator) => { + return CairoInt16.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoInt32.abiSelector]: (responseIterator: Iterator) => { + return CairoInt32.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoInt64.abiSelector]: (responseIterator: Iterator) => { + return CairoInt64.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoInt128.abiSelector]: (responseIterator: Iterator) => { + return CairoInt128.factoryFromApiResponse(responseIterator).toBigInt(); + }, + }, +} as const; + +/** + * Faster parsing strategy + * Configuration mapping - data-driven approach + * Configure parsing strategy for each abi type + */ +export const fastParsingStrategy: ParsingStrategy = { + request: { + [CairoBytes31.abiSelector]: (val: unknown) => { + return new CairoBytes31(val).toApiRequest(); + }, + [CairoByteArray.abiSelector]: (val: unknown) => { + return new CairoByteArray(val).toApiRequest(); + }, + [CairoFelt252.abiSelector]: (val: unknown) => { + return felt(val as BigNumberish); + }, + [CairoUint256.abiSelector]: (val: unknown) => { + return new CairoUint256(val).toApiRequest(); + }, + [CairoUint512.abiSelector]: (val: unknown) => { + return new CairoUint512(val).toApiRequest(); + }, + [CairoUint8.abiSelector]: (val: unknown) => { + return felt(val as BigNumberish); + }, + [CairoUint16.abiSelector]: (val: unknown) => { + return felt(val as BigNumberish); + }, + [CairoUint64.abiSelector]: (val: unknown) => { + return felt(val as BigNumberish); + }, + [CairoUint96.abiSelector]: (val: unknown) => { + return felt(val as BigNumberish); + }, + [CairoUint128.abiSelector]: (val: unknown) => { + return felt(val as BigNumberish); + }, + [CairoInt8.abiSelector]: (val: unknown) => { + return new CairoInt8(val).toApiRequest(); + }, + [CairoInt16.abiSelector]: (val: unknown) => { + return new CairoInt16(val).toApiRequest(); + }, + [CairoInt32.abiSelector]: (val: unknown) => { + return new CairoInt32(val).toApiRequest(); + }, + [CairoInt64.abiSelector]: (val: unknown) => { + return new CairoInt64(val).toApiRequest(); + }, + [CairoInt128.abiSelector]: (val: unknown) => { + return new CairoInt128(val).toApiRequest(); + }, + }, + response: { + [CairoBytes31.abiSelector]: (responseIterator: Iterator) => { + return CairoBytes31.factoryFromApiResponse(responseIterator).decodeUtf8(); + }, + [CairoByteArray.abiSelector]: (responseIterator: Iterator) => { + return CairoByteArray.factoryFromApiResponse(responseIterator).decodeUtf8(); + }, + [CairoFelt252.abiSelector]: (responseIterator: Iterator) => { + return BigInt(getNext(responseIterator)); + }, + [CairoUint256.abiSelector]: (responseIterator: Iterator) => { + return CairoUint256.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoUint512.abiSelector]: (responseIterator: Iterator) => { + return CairoUint512.factoryFromApiResponse(responseIterator).toBigInt(); + }, + [CairoUint8.abiSelector]: (responseIterator: Iterator) => { + return BigInt(getNext(responseIterator)); + }, + [CairoUint16.abiSelector]: (responseIterator: Iterator) => { + return BigInt(getNext(responseIterator)); + }, + [CairoUint64.abiSelector]: (responseIterator: Iterator) => { + return BigInt(getNext(responseIterator)); + }, + [CairoUint96.abiSelector]: (responseIterator: Iterator) => { + return BigInt(getNext(responseIterator)); + }, + [CairoUint128.abiSelector]: (responseIterator: Iterator) => { + return BigInt(getNext(responseIterator)); + }, + [CairoInt8.abiSelector]: (responseIterator: Iterator) => { + return BigInt(getNext(responseIterator)); + }, + [CairoInt16.abiSelector]: (responseIterator: Iterator) => { + return BigInt(getNext(responseIterator)); + }, + [CairoInt32.abiSelector]: (responseIterator: Iterator) => { + return BigInt(getNext(responseIterator)); + }, + [CairoInt64.abiSelector]: (responseIterator: Iterator) => { + return BigInt(getNext(responseIterator)); + }, + [CairoInt128.abiSelector]: (responseIterator: Iterator) => { + return BigInt(getNext(responseIterator)); + }, + }, +} as const; diff --git a/src/utils/calldata/propertyOrder.ts b/src/utils/calldata/propertyOrder.ts index c1a6b9228..da26dba7e 100644 --- a/src/utils/calldata/propertyOrder.ts +++ b/src/utils/calldata/propertyOrder.ts @@ -6,7 +6,6 @@ import { isCairo1Type, isLen, isTypeArray, - isTypeByteArray, isTypeEnum, isTypeEthAddress, isTypeNonZero, @@ -27,6 +26,7 @@ import { import extractTupleMemberTypes from './tuple'; import { isUndefined, isString } from '../typed'; import { CairoFixedArray } from '../cairoDataTypes/fixedArray'; +import { CairoByteArray } from '../cairoDataTypes/byteArray'; function errorU256(key: string) { return Error( @@ -67,7 +67,7 @@ export default function orderPropsByAbi( if (isTypeNonZero(abiType)) { return unorderedItem; } - if (isTypeByteArray(abiType)) { + if (CairoByteArray.isAbiType(abiType)) { return unorderedItem; } if (isTypeU96(abiType)) { diff --git a/src/utils/calldata/requestParser.ts b/src/utils/calldata/requestParser.ts index 8a18a91bb..2d067b3ca 100644 --- a/src/utils/calldata/requestParser.ts +++ b/src/utils/calldata/requestParser.ts @@ -4,26 +4,35 @@ import { AbiStructs, AllowArray, BigNumberish, - ByteArray, CairoEnum, ParsedStruct, Tupled, } from '../../types'; import assert from '../assert'; +import { CairoByteArray } from '../cairoDataTypes/byteArray'; +import { CairoBytes31 } from '../cairoDataTypes/bytes31'; +import { CairoFelt252 } from '../cairoDataTypes/felt'; import { CairoFixedArray } from '../cairoDataTypes/fixedArray'; import { CairoUint256 } from '../cairoDataTypes/uint256'; import { CairoUint512 } from '../cairoDataTypes/uint512'; +import { CairoUint8 } from '../cairoDataTypes/uint8'; +import { CairoUint16 } from '../cairoDataTypes/uint16'; +import { CairoUint64 } from '../cairoDataTypes/uint64'; +import { CairoUint96 } from '../cairoDataTypes/uint96'; +import { CairoUint128 } from '../cairoDataTypes/uint128'; +import { CairoInt8 } from '../cairoDataTypes/int8'; +import { CairoInt16 } from '../cairoDataTypes/int16'; +import { CairoInt32 } from '../cairoDataTypes/int32'; +import { CairoInt64 } from '../cairoDataTypes/int64'; +import { CairoInt128 } from '../cairoDataTypes/int128'; import { addHexPrefix, removeHexPrefix } from '../encode'; import { toHex } from '../num'; -import { encodeShortString, isText, splitLongString } from '../shortString'; +import { isText, splitLongString } from '../shortString'; import { isUndefined, isString } from '../typed'; -import { byteArrayFromString } from './byteArray'; import { felt, getArrayType, isTypeArray, - isTypeByteArray, - isTypeBytes31, isTypeEnum, isTypeEthAddress, isTypeNonZero, @@ -41,24 +50,55 @@ import { CairoResult, CairoResultVariant, } from './enum'; +import { AbiParserInterface } from './parser'; import extractTupleMemberTypes from './tuple'; +// TODO: cleanup implementations to work with unknown, instead of blind casting with 'as' + /** * parse base types * @param type type from abi * @param val value provided * @returns string | string[] */ -function parseBaseTypes(type: string, val: BigNumberish): AllowArray { +function parseBaseTypes({ + type, + val, + parser, +}: { + type: string; + val: unknown; + parser: AbiParserInterface; +}): AllowArray { switch (true) { case CairoUint256.isAbiType(type): - return new CairoUint256(val).toApiRequest(); + return parser.getRequestParser(type)(val); case CairoUint512.isAbiType(type): - return new CairoUint512(val).toApiRequest(); - case isTypeBytes31(type): - return encodeShortString(val.toString()); + return parser.getRequestParser(type)(val); + case CairoUint8.isAbiType(type): + return parser.getRequestParser(type)(val); + case CairoUint16.isAbiType(type): + return parser.getRequestParser(type)(val); + case CairoUint64.isAbiType(type): + return parser.getRequestParser(type)(val); + case CairoUint96.isAbiType(type): + return parser.getRequestParser(type)(val); + case CairoUint128.isAbiType(type): + return parser.getRequestParser(type)(val); + case CairoInt8.isAbiType(type): + return parser.getRequestParser(type)(val); + case CairoInt16.isAbiType(type): + return parser.getRequestParser(type)(val); + case CairoInt32.isAbiType(type): + return parser.getRequestParser(type)(val); + case CairoInt64.isAbiType(type): + return parser.getRequestParser(type)(val); + case CairoInt128.isAbiType(type): + return parser.getRequestParser(type)(val); + case CairoBytes31.isAbiType(type): + return parser.getRequestParser(type)(val); case isTypeSecp256k1Point(type): { - const pubKeyETH = removeHexPrefix(toHex(val)).padStart(128, '0'); + const pubKeyETH = removeHexPrefix(toHex(val as BigNumberish)).padStart(128, '0'); const pubKeyETHy = uint256(addHexPrefix(pubKeyETH.slice(-64))); const pubKeyETHx = uint256(addHexPrefix(pubKeyETH.slice(0, -64))); return [ @@ -69,7 +109,8 @@ function parseBaseTypes(type: string, val: BigNumberish): AllowArray { ]; } default: - return felt(val); + // TODO: check but u32 should land here with rest of the simple types, at the moment handle as felt + return parser.getRequestParser(CairoFelt252.abiSelector)(val); } } @@ -99,16 +140,6 @@ function parseTuple(element: object, typeStr: string): Tupled[] { }); } -function parseByteArray(element: string): string[] { - const myByteArray: ByteArray = byteArrayFromString(element); - return [ - myByteArray.data.length.toString(), - ...myByteArray.data.map((bn) => bn.toString()), - myByteArray.pending_word.toString(), - myByteArray.pending_word_len.toString(), - ]; -} - /** * Deep parse of the object that has been passed to the method * @@ -118,18 +149,19 @@ function parseByteArray(element: string): string[] { * @param enums - enums from abi * @return {string | string[]} - parsed arguments in format that contract is expecting */ -function parseCalldataValue( - element: - | ParsedStruct - | BigNumberish - | BigNumberish[] - | CairoOption - | CairoResult - | CairoEnum, - type: string, - structs: AbiStructs, - enums: AbiEnums -): string | string[] { +function parseCalldataValue({ + element, + type, + structs, + enums, + parser, +}: { + element: unknown; + type: string; + structs: AbiStructs; + enums: AbiEnums; + parser: AbiParserInterface; +}): string | string[] { if (element === undefined) { throw Error(`Missing parameter for type ${type}`); } @@ -142,7 +174,7 @@ function parseCalldataValue( const array = new CairoFixedArray(element, type); values = array.content; } else if (typeof element === 'object') { - values = Object.values(element); + values = Object.values(element as object); assert( values.length === CairoFixedArray.getFixedArraySize(type), `ABI type ${type}: object provided do not includes ${CairoFixedArray.getFixedArraySize(type)} items. ${values.length} items provided.` @@ -151,7 +183,9 @@ function parseCalldataValue( throw new Error(`ABI type ${type}: not an Array representing a cairo.fixedArray() provided.`); } return values.reduce((acc, it) => { - return acc.concat(parseCalldataValue(it, arrayType, structs, enums)); + return acc.concat( + parseCalldataValue({ element: it, type: arrayType, structs, enums, parser }) + ); }, [] as string[]); } @@ -162,27 +196,44 @@ function parseCalldataValue( const arrayType = getArrayType(type); return element.reduce((acc, it) => { - return acc.concat(parseCalldataValue(it, arrayType, structs, enums)); + return acc.concat( + parseCalldataValue({ element: it, type: arrayType, structs, enums, parser }) + ); }, result); } + // check if u256 C1v0 + if (CairoUint256.isAbiType(type)) { + return parser.getRequestParser(type)(element); + } + // check if u512 + if (CairoUint512.isAbiType(type)) { + return parser.getRequestParser(type)(element); + } + // checking if the passed element is struct if (structs[type] && structs[type].members.length) { - if (CairoUint256.isAbiType(type)) { - return new CairoUint256(element as any).toApiRequest(); - } - if (CairoUint512.isAbiType(type)) { - return new CairoUint512(element as any).toApiRequest(); + if (isTypeEthAddress(type)) { + return parseBaseTypes({ type, val: element as BigNumberish, parser }); } - if (isTypeEthAddress(type)) return parseBaseTypes(type, element as BigNumberish); - if (isTypeByteArray(type)) return parseByteArray(element as string); + if (CairoByteArray.isAbiType(type)) { + return parser.getRequestParser(type)(element); + } const { members } = structs[type]; const subElement = element as any; return members.reduce((acc, it: AbiEntry) => { - return acc.concat(parseCalldataValue(subElement[it.name], it.type, structs, enums)); + return acc.concat( + parseCalldataValue({ + element: subElement[it.name], + type: it.type, + structs, + enums, + parser, + }) + ); }, [] as string[]); } // check if abi element is tuple @@ -190,18 +241,17 @@ function parseCalldataValue( const tupled = parseTuple(element as object, type); return tupled.reduce((acc, it: Tupled) => { - const parsedData = parseCalldataValue(it.element, it.type, structs, enums); + const parsedData = parseCalldataValue({ + element: it.element, + type: it.type, + structs, + enums, + parser, + }); return acc.concat(parsedData); }, [] as string[]); } - // check if u256 C1v0 - if (CairoUint256.isAbiType(type)) { - return new CairoUint256(element as any).toApiRequest(); - } - // check if u512 - if (CairoUint512.isAbiType(type)) { - return new CairoUint512(element as any).toApiRequest(); - } + // check if Enum if (isTypeEnum(type, enums)) { const { variants } = enums[type]; @@ -217,12 +267,13 @@ function parseCalldataValue( if (typeVariantSome === '()') { return CairoOptionVariant.Some.toString(); } - const parsedParameter = parseCalldataValue( - myOption.unwrap(), - typeVariantSome, + const parsedParameter = parseCalldataValue({ + element: myOption.unwrap(), + type: typeVariantSome, structs, - enums - ); + enums, + parser, + }); if (Array.isArray(parsedParameter)) { return [CairoOptionVariant.Some.toString(), ...parsedParameter]; } @@ -242,12 +293,13 @@ function parseCalldataValue( if (typeVariantOk === '()') { return CairoResultVariant.Ok.toString(); } - const parsedParameter = parseCalldataValue( - myResult.unwrap(), - typeVariantOk, + const parsedParameter = parseCalldataValue({ + element: myResult.unwrap(), + type: typeVariantOk, structs, - enums - ); + enums, + parser, + }); if (Array.isArray(parsedParameter)) { return [CairoResultVariant.Ok.toString(), ...parsedParameter]; } @@ -263,7 +315,13 @@ function parseCalldataValue( if (typeVariantErr === '()') { return CairoResultVariant.Err.toString(); } - const parsedParameter = parseCalldataValue(myResult.unwrap(), typeVariantErr, structs, enums); + const parsedParameter = parseCalldataValue({ + element: myResult.unwrap(), + type: typeVariantErr, + structs, + enums, + parser, + }); if (Array.isArray(parsedParameter)) { return [CairoResultVariant.Err.toString(), ...parsedParameter]; } @@ -281,7 +339,13 @@ function parseCalldataValue( if (typeActiveVariant === '()') { return numActiveVariant.toString(); } - const parsedParameter = parseCalldataValue(myEnum.unwrap(), typeActiveVariant, structs, enums); + const parsedParameter = parseCalldataValue({ + element: myEnum.unwrap(), + type: typeActiveVariant, + structs, + enums, + parser, + }); if (Array.isArray(parsedParameter)) { return [numActiveVariant.toString(), ...parsedParameter]; } @@ -289,13 +353,13 @@ function parseCalldataValue( } if (isTypeNonZero(type)) { - return parseBaseTypes(getArrayType(type), element as BigNumberish); + return parseBaseTypes({ type: getArrayType(type), val: element, parser }); } if (typeof element === 'object') { throw Error(`Parameter ${element} do not align with abi parameter ${type}`); } - return parseBaseTypes(type, element); + return parseBaseTypes({ type, val: element, parser }); } /** @@ -349,12 +413,19 @@ function parseCalldataValue( * ); * // parsedField === ['1952805748'] */ -export function parseCalldataField( - argsIterator: Iterator, - input: AbiEntry, - structs: AbiStructs, - enums: AbiEnums -): string | string[] { +export function parseCalldataField({ + argsIterator, + input, + structs, + enums, + parser, +}: { + argsIterator: Iterator; + input: AbiEntry; + structs: AbiStructs; + enums: AbiEnums; + parser: AbiParserInterface; +}): string | string[] { const { name, type } = input; let { value } = argsIterator.next(); @@ -364,7 +435,7 @@ export function parseCalldataField( if (!Array.isArray(value) && !(typeof value === 'object')) { throw Error(`ABI expected parameter ${name} to be an array or an object, got ${value}`); } - return parseCalldataValue(value, input.type, structs, enums); + return parseCalldataValue({ element: value, type: input.type, structs, enums, parser }); // Normal Array case isTypeArray(type): if (!Array.isArray(value) && !isText(value)) { @@ -374,26 +445,33 @@ export function parseCalldataField( // long string match cairo felt* value = splitLongString(value); } - return parseCalldataValue(value, input.type, structs, enums); + return parseCalldataValue({ element: value, type: input.type, structs, enums, parser }); case isTypeNonZero(type): - return parseBaseTypes(getArrayType(type), value); + return parseBaseTypes({ type: getArrayType(type), val: value, parser }); case isTypeEthAddress(type): - return parseBaseTypes(type, value); + return parseBaseTypes({ type, val: value, parser }); // Struct or Tuple case isTypeStruct(type, structs) || isTypeTuple(type) || CairoUint256.isAbiType(type): - return parseCalldataValue(value as ParsedStruct | BigNumberish[], type, structs, enums); + return parseCalldataValue({ + element: value as ParsedStruct | BigNumberish[], + type, + structs, + enums, + parser, + }); // Enums case isTypeEnum(type, enums): - return parseCalldataValue( - value as CairoOption | CairoResult | CairoEnum, + return parseCalldataValue({ + element: value as CairoOption | CairoResult | CairoEnum, type, structs, - enums - ); + enums, + parser, + }); // Felt or unhandled default: - return parseBaseTypes(type, value); + return parseBaseTypes({ type, val: value, parser }); } } diff --git a/src/utils/calldata/responseParser.ts b/src/utils/calldata/responseParser.ts index 91518d5de..4dc82d587 100644 --- a/src/utils/calldata/responseParser.ts +++ b/src/utils/calldata/responseParser.ts @@ -5,26 +5,33 @@ import { AbiStructs, Args, BigNumberish, - ByteArray, CairoEnum, EventEntry, ParsedStruct, } from '../../types'; +import { CairoByteArray } from '../cairoDataTypes/byteArray'; +import { CairoBytes31 } from '../cairoDataTypes/bytes31'; +import { CairoFelt252 } from '../cairoDataTypes/felt'; import { CairoFixedArray } from '../cairoDataTypes/fixedArray'; import { CairoUint256 } from '../cairoDataTypes/uint256'; import { CairoUint512 } from '../cairoDataTypes/uint512'; +import { CairoUint8 } from '../cairoDataTypes/uint8'; +import { CairoUint16 } from '../cairoDataTypes/uint16'; +import { CairoUint64 } from '../cairoDataTypes/uint64'; +import { CairoUint96 } from '../cairoDataTypes/uint96'; +import { CairoUint128 } from '../cairoDataTypes/uint128'; +import { CairoInt8 } from '../cairoDataTypes/int8'; +import { CairoInt16 } from '../cairoDataTypes/int16'; +import { CairoInt32 } from '../cairoDataTypes/int32'; +import { CairoInt64 } from '../cairoDataTypes/int64'; +import { CairoInt128 } from '../cairoDataTypes/int128'; import { addHexPrefix, removeHexPrefix } from '../encode'; -import { toHex } from '../num'; -import { decodeShortString } from '../shortString'; -import { stringFromByteArray } from './byteArray'; import { getArrayType, isCairo1Type, isLen, isTypeArray, isTypeBool, - isTypeByteArray, - isTypeBytes31, isTypeEnum, isTypeEthAddress, isTypeNonZero, @@ -39,6 +46,7 @@ import { CairoResult, CairoResultVariant, } from './enum'; +import { AbiParserInterface } from './parser/interface'; import extractTupleMemberTypes from './tuple'; /** @@ -47,28 +55,41 @@ import extractTupleMemberTypes from './tuple'; * @param it iterator * @returns bigint | boolean */ -function parseBaseTypes(type: string, it: Iterator) { +function parseBaseTypes(type: string, it: Iterator, parser: AbiParserInterface) { let temp; switch (true) { case isTypeBool(type): temp = it.next().value; return Boolean(BigInt(temp)); case CairoUint256.isAbiType(type): - const low = it.next().value; - const high = it.next().value; - return new CairoUint256(low, high).toBigInt(); + return parser.getResponseParser(type)(it); case CairoUint512.isAbiType(type): - const limb0 = it.next().value; - const limb1 = it.next().value; - const limb2 = it.next().value; - const limb3 = it.next().value; - return new CairoUint512(limb0, limb1, limb2, limb3).toBigInt(); + return parser.getResponseParser(type)(it); + case CairoUint8.isAbiType(type): + return parser.getResponseParser(type)(it); + case CairoUint16.isAbiType(type): + return parser.getResponseParser(type)(it); + case CairoUint64.isAbiType(type): + return parser.getResponseParser(type)(it); + case CairoUint96.isAbiType(type): + return parser.getResponseParser(type)(it); + case CairoUint128.isAbiType(type): + return parser.getResponseParser(type)(it); + case CairoInt8.isAbiType(type): + return parser.getResponseParser(type)(it); + case CairoInt16.isAbiType(type): + return parser.getResponseParser(type)(it); + case CairoInt32.isAbiType(type): + return parser.getResponseParser(type)(it); + case CairoInt64.isAbiType(type): + return parser.getResponseParser(type)(it); + case CairoInt128.isAbiType(type): + return parser.getResponseParser(type)(it); case isTypeEthAddress(type): temp = it.next().value; return BigInt(temp); - case isTypeBytes31(type): - temp = it.next().value; - return decodeShortString(temp); + case CairoBytes31.isAbiType(type): + return parser.getResponseParser(type)(it); case isTypeSecp256k1Point(type): const xLow = removeHexPrefix(it.next().value).padStart(32, '0'); const xHigh = removeHexPrefix(it.next().value).padStart(32, '0'); @@ -77,8 +98,8 @@ function parseBaseTypes(type: string, it: Iterator) { const pubK = BigInt(addHexPrefix(xHigh + xLow + yHigh + yLow)); return pubK; default: - temp = it.next().value; - return BigInt(temp); + // TODO: this is for all simple types felt and rest to BN, at the moment handle as felt + return parser.getResponseParser(CairoFelt252.abiSelector)(it); } } @@ -94,6 +115,7 @@ function parseBaseTypes(type: string, it: Iterator) { function parseResponseValue( responseIterator: Iterator, element: { name: string; type: string }, + parser: AbiParserInterface, structs?: AbiStructs, enums?: AbiEnums ): BigNumberish | ParsedStruct | boolean | any[] | CairoEnum { @@ -102,33 +124,15 @@ function parseResponseValue( } // type uint256 struct (c1v2) if (CairoUint256.isAbiType(element.type)) { - const low = responseIterator.next().value; - const high = responseIterator.next().value; - return new CairoUint256(low, high).toBigInt(); + return parser.getResponseParser(element.type)(responseIterator); } // type uint512 struct if (CairoUint512.isAbiType(element.type)) { - const limb0 = responseIterator.next().value; - const limb1 = responseIterator.next().value; - const limb2 = responseIterator.next().value; - const limb3 = responseIterator.next().value; - return new CairoUint512(limb0, limb1, limb2, limb3).toBigInt(); + return parser.getResponseParser(element.type)(responseIterator); } - // type C1 ByteArray struct, representing a LongString - if (isTypeByteArray(element.type)) { - const parsedBytes31Arr: BigNumberish[] = []; - const bytes31ArrLen = BigInt(responseIterator.next().value); - while (parsedBytes31Arr.length < bytes31ArrLen) { - parsedBytes31Arr.push(toHex(responseIterator.next().value)); - } - const pending_word = toHex(responseIterator.next().value); - const pending_word_len = BigInt(responseIterator.next().value); - const myByteArray: ByteArray = { - data: parsedBytes31Arr, - pending_word, - pending_word_len, - }; - return stringFromByteArray(myByteArray); + // type ByteArray struct + if (CairoByteArray.isAbiType(element.type)) { + return parser.getResponseParser(element.type)(responseIterator); } // type fixed-array @@ -137,7 +141,7 @@ function parseResponseValue( const el: AbiEntry = { name: '', type: CairoFixedArray.getFixedArrayType(element.type) }; const arraySize = CairoFixedArray.getFixedArraySize(element.type); while (parsedDataArr.length < arraySize) { - parsedDataArr.push(parseResponseValue(responseIterator, el, structs, enums)); + parsedDataArr.push(parseResponseValue(responseIterator, el, parser, structs, enums)); } return parsedDataArr; } @@ -149,7 +153,7 @@ function parseResponseValue( const el: AbiEntry = { name: '', type: getArrayType(element.type) }; const len = BigInt(responseIterator.next().value); // get length while (parsedDataArr.length < len) { - parsedDataArr.push(parseResponseValue(responseIterator, el, structs, enums)); + parsedDataArr.push(parseResponseValue(responseIterator, el, parser, structs, enums)); } return parsedDataArr; } @@ -160,16 +164,16 @@ function parseResponseValue( // const parsedDataArr: (BigNumberish | ParsedStruct | boolean | any[] | CairoEnum)[] = []; const el: AbiEntry = { name: '', type: getArrayType(element.type) }; // parsedDataArr.push(); - return parseResponseValue(responseIterator, el, structs, enums); + return parseResponseValue(responseIterator, el, parser, structs, enums); } // type struct if (structs && element.type in structs && structs[element.type]) { if (isTypeEthAddress(element.type)) { - return parseBaseTypes(element.type, responseIterator); + return parseBaseTypes(element.type, responseIterator, parser); } return structs[element.type].members.reduce((acc, el) => { - acc[el.name] = parseResponseValue(responseIterator, el, structs, enums); + acc[el.name] = parseResponseValue(responseIterator, el, parser, structs, enums); return acc; }, {} as any); } @@ -182,6 +186,7 @@ function parseResponseValue( acc[variant.name] = parseResponseValue( responseIterator, { name: '', type: variant.type }, + parser, structs, enums ); @@ -217,11 +222,12 @@ function parseResponseValue( const name = it?.name ? it.name : idx; const type = it?.type ? it.type : it; const el = { name, type }; - acc[name] = parseResponseValue(responseIterator, el, structs, enums); + acc[name] = parseResponseValue(responseIterator, el, parser, structs, enums); return acc; }, {} as any); } + // TODO: duplicated, investigate why and what was an issue then de-duplicate // type c1 array if (isTypeArray(element.type)) { // eslint-disable-next-line no-case-declarations @@ -229,13 +235,13 @@ function parseResponseValue( const el = { name: '', type: getArrayType(element.type) }; const len = BigInt(responseIterator.next().value); // get length while (parsedDataArr.length < len) { - parsedDataArr.push(parseResponseValue(responseIterator, el, structs, enums)); + parsedDataArr.push(parseResponseValue(responseIterator, el, parser, structs, enums)); } return parsedDataArr; } // base type - return parseBaseTypes(element.type, responseIterator); + return parseBaseTypes(element.type, responseIterator, parser); } /** @@ -247,13 +253,21 @@ function parseResponseValue( * @param parsedResult * @return - parsed response corresponding to the abi structure of the field */ -export default function responseParser( - responseIterator: Iterator, - output: AbiEntry | EventEntry, - structs?: AbiStructs, - enums?: AbiEnums, - parsedResult?: Args | ParsedStruct -): any { +export default function responseParser({ + responseIterator, + output, + structs, + enums, + parsedResult, + parser, +}: { + responseIterator: Iterator; + output: AbiEntry | EventEntry; + structs: AbiStructs; + enums: AbiEnums; + parsedResult?: Args | ParsedStruct; + parser: AbiParserInterface; +}): any { const { name, type } = output; let temp; @@ -263,18 +277,18 @@ export default function responseParser( return BigInt(temp); case (structs && type in structs) || isTypeTuple(type): - return parseResponseValue(responseIterator, output, structs, enums); + return parseResponseValue(responseIterator, output, parser, structs, enums); case enums && isTypeEnum(type, enums): - return parseResponseValue(responseIterator, output, structs, enums); + return parseResponseValue(responseIterator, output, parser, structs, enums); case CairoFixedArray.isTypeFixedArray(type): - return parseResponseValue(responseIterator, output, structs, enums); + return parseResponseValue(responseIterator, output, parser, structs, enums); case isTypeArray(type): // C1 Array if (isCairo1Type(type)) { - return parseResponseValue(responseIterator, output, structs, enums); + return parseResponseValue(responseIterator, output, parser, structs, enums); } // C0 Array // eslint-disable-next-line no-case-declarations @@ -286,6 +300,7 @@ export default function responseParser( parseResponseValue( responseIterator, { name, type: output.type.replace('*', '') }, + parser, structs, enums ) @@ -295,9 +310,9 @@ export default function responseParser( return parsedDataArr; case isTypeNonZero(type): - return parseResponseValue(responseIterator, output, structs, enums); + return parseResponseValue(responseIterator, output, parser, structs, enums); default: - return parseBaseTypes(type, responseIterator); + return parseBaseTypes(type, responseIterator, parser); } } diff --git a/src/utils/calldata/validate.ts b/src/utils/calldata/validate.ts index b79613119..a2c4b6238 100644 --- a/src/utils/calldata/validate.ts +++ b/src/utils/calldata/validate.ts @@ -8,7 +8,14 @@ import { Uint, } from '../../types'; import assert from '../assert'; +import { CairoByteArray } from '../cairoDataTypes/byteArray'; +import { CairoBytes31 } from '../cairoDataTypes/bytes31'; import { CairoFixedArray } from '../cairoDataTypes/fixedArray'; +import { CairoInt8 } from '../cairoDataTypes/int8'; +import { CairoInt16 } from '../cairoDataTypes/int16'; +import { CairoInt32 } from '../cairoDataTypes/int32'; +import { CairoInt64 } from '../cairoDataTypes/int64'; +import { CairoInt128 } from '../cairoDataTypes/int128'; import { CairoUint256 } from '../cairoDataTypes/uint256'; import { CairoUint512 } from '../cairoDataTypes/uint512'; import { isHex, toBigInt } from '../num'; @@ -19,8 +26,6 @@ import { isLen, isTypeArray, isTypeBool, - isTypeByteArray, - isTypeBytes31, isTypeEnum, isTypeEthAddress, isTypeFelt, @@ -33,6 +38,10 @@ import { isTypeUint, } from './cairo'; +// TODO: separate validate is redundant as CairoTypes are validated during construction. +// TODO: This validate should provide added valie method base validate poiniting to incorect value for method, opt. using color coding +// TODO: Something like: store_message(a -> *INVALID JS TYPE*, b, c -> *MISSING REQUIRED ARG*) + const validateFelt = (parameter: any, input: AbiEntry) => { assert( isString(parameter) || isNumber(parameter) || isBigInt(parameter), @@ -47,18 +56,6 @@ const validateFelt = (parameter: any, input: AbiEntry) => { ); }; -const validateBytes31 = (parameter: any, input: AbiEntry) => { - assert(isString(parameter), `Validate: arg ${input.name} should be a string.`); - assert( - parameter.length < 32, - `Validate: arg ${input.name} cairo typed ${input.type} should be a string of less than 32 characters.` - ); -}; - -const validateByteArray = (parameter: any, input: AbiEntry) => { - assert(isString(parameter), `Validate: arg ${input.name} should be a string.`); -}; - const validateUint = (parameter: any, input: AbiEntry) => { if (isNumber(parameter)) { assert( @@ -80,13 +77,13 @@ const validateUint = (parameter: any, input: AbiEntry) => { let param: bigint; switch (input.type) { case Uint.u256: - param = new CairoUint256(parameter).toBigInt(); + param = new CairoUint256(parameter as BigNumberish).toBigInt(); break; case Uint.u512: - param = new CairoUint512(parameter).toBigInt(); + param = new CairoUint512(parameter as BigNumberish).toBigInt(); break; default: - param = toBigInt(parameter); + param = toBigInt(parameter as BigNumberish); } switch (input.type) { case Uint.u8: @@ -422,8 +419,8 @@ export default function validateFields( case isTypeFelt(input.type): validateFelt(parameter, input); break; - case isTypeBytes31(input.type): - validateBytes31(parameter, input); + case CairoBytes31.isAbiType(input.type): + CairoBytes31.validate(parameter); break; case isTypeUint(input.type) || isTypeLiteral(input.type): validateUint(parameter, input); @@ -431,8 +428,23 @@ export default function validateFields( case isTypeBool(input.type): validateBool(parameter, input); break; - case isTypeByteArray(input.type): - validateByteArray(parameter, input); + case CairoByteArray.isAbiType(input.type): + CairoByteArray.validate(parameter); + break; + case CairoInt8.isAbiType(input.type): + CairoInt8.validate(parameter); + break; + case CairoInt16.isAbiType(input.type): + CairoInt16.validate(parameter); + break; + case CairoInt32.isAbiType(input.type): + CairoInt32.validate(parameter); + break; + case CairoInt64.isAbiType(input.type): + CairoInt64.validate(parameter); + break; + case CairoInt128.isAbiType(input.type): + CairoInt128.validate(parameter); break; case isTypeArray(input.type) || CairoFixedArray.isTypeFixedArray(input.type): validateArray(parameter, input, structs, enums); diff --git a/src/utils/connect/blake.ts b/src/utils/connect/blake.ts new file mode 100644 index 000000000..3fd639780 --- /dev/null +++ b/src/utils/connect/blake.ts @@ -0,0 +1,6 @@ +import { blake2s } from '@noble/hashes/blake2s'; +import { config } from '../../global/config'; + +export default function blakeHash(uint8Array: Uint8Array): Uint8Array { + return config.get('blake')?.(uint8Array) || blake2s(uint8Array, { dkLen: 32 }); +} diff --git a/src/utils/connect/buffer.ts b/src/utils/connect/buffer.ts new file mode 100644 index 000000000..b99771fc0 --- /dev/null +++ b/src/utils/connect/buffer.ts @@ -0,0 +1,26 @@ +import { LibraryError } from '../errors'; +import { config } from '../../global/config'; + +export default config.get('buffer') || + (typeof Buffer !== 'undefined' && Buffer) || + (typeof globalThis !== 'undefined' && globalThis.Buffer) || + (typeof window !== 'undefined' && (window as any).Buffer) || + (typeof global !== 'undefined' && global.Buffer) || + (class { + constructor() { + throw new LibraryError( + 'Buffer not detected, use \'config.set("buffer", YourBufferPolyfill)\' or polyfill or Node.js environment for Buffer support' + ); + } + + static from(_data: any): Uint8Array { + throw new LibraryError( + 'Buffer not detected, use \'config.set("buffer", YourBufferPolyfill)\' or polyfill or Node.js environment for Buffer support' + ); + } + + static isBuffer(obj: any): obj is Buffer { + const BufferImpl = config.get('buffer') || (typeof Buffer !== 'undefined' && Buffer); + return BufferImpl && BufferImpl.isBuffer && BufferImpl.isBuffer(obj); + } + } as unknown as typeof Buffer); diff --git a/src/utils/contract.ts b/src/utils/contract.ts index 0ec3adf7c..35eb410e1 100644 --- a/src/utils/contract.ts +++ b/src/utils/contract.ts @@ -1,3 +1,4 @@ +import { SupportedRpcVersion } from '../global/constants'; import { ContractClassResponse } from '../types'; import { CairoContract, @@ -48,13 +49,14 @@ export function isSierra( * ``` */ export function extractContractHashes( - payload: DeclareContractPayload + payload: DeclareContractPayload, + specVersion?: SupportedRpcVersion ): CompleteDeclareContractPayload { const response = { ...payload } as CompleteDeclareContractPayload; if (isSierra(payload.contract)) { if (!payload.compiledClassHash && payload.casm) { - response.compiledClassHash = computeCompiledClassHash(payload.casm); + response.compiledClassHash = computeCompiledClassHash(payload.casm, specVersion); } if (!response.compiledClassHash) throw new Error( diff --git a/src/utils/encode.ts b/src/utils/encode.ts index 4251393ca..4b525ffbc 100644 --- a/src/utils/encode.ts +++ b/src/utils/encode.ts @@ -45,10 +45,25 @@ export function arrayBufferToString(array: ArrayBuffer): string { * // result = Uint8Array(2) [ 72, 105 ] * ``` */ -export function utf8ToArray(str: string): Uint8Array { +export function utf8ToUint8Array(str: string): Uint8Array { return new TextEncoder().encode(str); } +/** + * @deprecated use utf8ToUint8Array instead + */ +export const utf8ToArray = utf8ToUint8Array; + +/** + * Convert utf8-string to bigint + * + * @param str The UTF-8 string to convert. + * @returns The converted bigint. + */ +export function utf8ToBigInt(str: string): bigint { + return uint8ArrayToBigInt(utf8ToUint8Array(str)); +} + /** * Convert string to array buffer (browser and node compatible) * @@ -113,7 +128,7 @@ export function buf2hex(buffer: Uint8Array): string { * ``` */ export function removeHexPrefix(hex: string): string { - return hex.replace(/^0x/i, ''); + return hex.startsWith('0x') || hex.startsWith('0X') ? hex.slice(2) : hex; } /** @@ -311,3 +326,157 @@ export function concatenateArrayBuffer(uint8arrays: Uint8Array[]): Uint8Array { }); return result; } + +/** + * Convert hex string to Uint8Array + * + * @param {string} hex The hex string to convert (with or without '0x' prefix) + * @returns {Uint8Array} The converted byte array + * @throws {Error} If the string contains non-hexadecimal characters + * + * @example + * ```typescript + * const hexString = '0x48656c6c6f'; + * const result = encode.hexStringToUint8Array(hexString); + * // result = Uint8Array(5) [ 72, 101, 108, 108, 111 ] + * ``` + */ +export function hexStringToUint8Array(hex: string): Uint8Array { + // Validate hex string (only 0-9, a-f, A-F allowed) regardless of prefix + if (!isHexString(addHexPrefix(hex))) { + throw new Error(`Invalid hex string: "${hex}"`); + } + // Pad to even length without prefix + const paddedHex = removeHexPrefix(sanitizeHex(hex)); + // Create Uint8Array directly + const bytes = new Uint8Array(paddedHex.length / 2); + for (let i = 0; i < paddedHex.length; i += 2) { + bytes[i / 2] = parseInt(paddedHex.substring(i, i + 2), 16); + } + return bytes; +} + +/** + * Check if string is a hex string (starts with 0x/0X followed by hex digits) + * @param hex string to check + * @returns true if hex string + */ +function isHexString(hex: string): boolean { + return /^0[xX][0-9a-fA-F]*$/.test(hex); +} + +/** + * Check if string contains only decimal digits + * @param str string to check + * @returns true if decimal string + */ +function isDecimalString(str: string): boolean { + return /^[0-9]+$/.test(str); +} + +/** + * Convert any string to Uint8Array + * + * Handles three types of strings: + * - Hex strings (e.g., '0x123f') - converts hex bytes to Uint8Array + * - Decimal strings (e.g., '124324332') - converts decimal number to bytes + * - Text strings (e.g., 'I am cool ☥') - converts UTF-8 text to bytes + * + * @param {string} str The string to convert + * @returns {Uint8Array} The converted byte array + * + * @example + * ```typescript + * // Hex string + * const hex = stringToUint8Array('0x48656c6c6f'); + * // result = Uint8Array(5) [ 72, 101, 108, 108, 111 ] + * + * // Decimal string + * const decimal = stringToUint8Array('256'); + * // result = Uint8Array(2) [ 1, 0 ] + * + * // Text string + * const text = stringToUint8Array('Hello ☥'); + * // result = UTF-8 encoded bytes + * ``` + */ +export function stringToUint8Array(str: string): Uint8Array { + // Check if it's a hex string + if (isHexString(str)) { + return hexStringToUint8Array(str); + } + + // Check if it's a decimal string + if (isDecimalString(str)) { + // Convert decimal string to bigint then to bytes + const value = BigInt(str); + return bigIntToUint8Array(value); + } + + // Otherwise treat as UTF-8 text + return utf8ToUint8Array(str); +} + +/** + * Convert bigint to Uint8Array (big-endian) + * + * @param {bigint} value The bigint value to convert (must be non-negative) + * @returns {Uint8Array} The converted byte array in big-endian byte order + * @throws {Error} If value is negative + * + * @example + * ```typescript + * const value = 256n; // 0x0100 + * const result = encode.bigIntToUint8Array(value); + * // result = Uint8Array([1, 0]) - big-endian, MSB first + * ``` + */ +export function bigIntToUint8Array(value: bigint): Uint8Array { + // Validate non-negative + if (value < 0n) { + throw new Error(`Cannot convert negative bigint ${value} to Uint8Array`); + } + + // Special case for 0 + if (value === 0n) { + return new Uint8Array([0]); + } + + // Convert to hex string without '0x' prefix + let hex = value.toString(16); + // Pad to even length + if (hex.length % 2 !== 0) { + hex = `0${hex}`; + } + // Create Uint8Array from hex + const bytes = new Uint8Array(hex.length / 2); + for (let i = 0; i < hex.length; i += 2) { + bytes[i / 2] = parseInt(hex.substring(i, i + 2), 16); + } + return bytes; +} + +/** + * Convert Uint8Array to bigint (big-endian) + * + * @param {Uint8Array} data The Uint8Array to convert (interpreted as big-endian) + * @returns {bigint} The converted bigint value + * + * @example + * ```typescript + * const data = new Uint8Array([1, 0]); // Big-endian representation + * const result = encode.uint8ArrayToBigInt(data); + * // result = 256n (0x0100) + * ``` + */ +export function uint8ArrayToBigInt(data: Uint8Array): bigint { + if (!data || data.length === 0) { + return 0n; + } + // Convert Uint8Array to hex string + let hex = '0x'; + for (let i = 0; i < data.length; i += 1) { + hex += data[i].toString(16).padStart(2, '0'); + } + return BigInt(hex); +} diff --git a/src/utils/errors/rpc.ts b/src/utils/errors/rpc.ts index cdbbeabf0..f39654349 100644 --- a/src/utils/errors/rpc.ts +++ b/src/utils/errors/rpc.ts @@ -30,10 +30,13 @@ const errorCodes: { [K in keyof RPC_ERROR_SET]: RPC_ERROR_SET[K]['code'] } = { UNSUPPORTED_TX_VERSION: 61, UNSUPPORTED_CONTRACT_CLASS_VERSION: 62, UNEXPECTED_ERROR: 63, + REPLACEMENT_TRANSACTION_UNDERPRICED: 64, + FEE_BELOW_MINIMUM: 65, INVALID_SUBSCRIPTION_ID: 66, TOO_MANY_ADDRESSES_IN_FILTER: 67, TOO_MANY_BLOCKS_BACK: 68, COMPILATION_ERROR: 100, + // INVALID_ADDRESS: 150, TOKEN_NOT_SUPPORTED: 151, INVALID_SIGNATURE: 153, diff --git a/src/utils/events/index.ts b/src/utils/events/index.ts index 47f7699a4..18d72b9bf 100644 --- a/src/utils/events/index.ts +++ b/src/utils/events/index.ts @@ -1,4 +1,3 @@ -import { UDC } from '../../global/constants'; import { Abi, AbiEnums, @@ -12,16 +11,14 @@ import { RPC, type CairoEventDefinition, type CairoEventVariant, - type InvokeTransactionReceiptResponse, type AbiEntry, - DeployContractUDCResponse, } from '../../types'; import assert from '../assert'; import { isCairo1Abi } from '../calldata/cairo'; +import { AbiParserInterface } from '../calldata/parser/interface'; import responseParser from '../calldata/responseParser'; import { starkCurve } from '../ec'; import { addHexPrefix, utf8ToArray } from '../encode'; -import { cleanHex } from '../num'; import { isUndefined, isObject } from '../typed'; /** @@ -162,11 +159,15 @@ function mergeAbiEvents(target: any, source: any): Object { const output = { ...target }; if (isObject(target) && isObject(source)) { Object.keys(source).forEach((key) => { - if (isObject(source[key])) { - if (!(key in target)) Object.assign(output, { [key]: source[key] }); - else output[key] = mergeAbiEvents(target[key], source[key]); + if (isObject(source[key as keyof typeof source])) { + if (!(key in target)) Object.assign(output, { [key]: source[key as keyof typeof source] }); + else + output[key] = mergeAbiEvents( + target[key as keyof typeof target], + source[key as keyof typeof source] + ); } else { - Object.assign(output, { [key]: source[key] }); + Object.assign(output, { [key]: source[key as keyof typeof source] }); } }); } @@ -197,7 +198,8 @@ export function parseEvents( providerReceivedEvents: RPC.EmittedEvent[], abiEvents: AbiEvents, abiStructs: AbiStructs, - abiEnums: AbiEnums + abiEnums: AbiEnums, + parser: AbiParserInterface ): ParsedEvents { const ret = providerReceivedEvents .flat() @@ -227,23 +229,25 @@ export function parseEvents( (abiEvent as LegacyEvent).data; abiEventKeys.forEach((key) => { - parsedEvent[abiEvent.name as string][key.name] = responseParser( - keysIter, - key, - abiStructs, - abiEnums, - parsedEvent[abiEvent.name as string] - ); + parsedEvent[abiEvent.name as string][key.name] = responseParser({ + responseIterator: keysIter, + output: key, + structs: abiStructs, + enums: abiEnums, + parser, + parsedResult: parsedEvent[abiEvent.name as string], + }); }); abiEventData.forEach((data) => { - parsedEvent[abiEvent.name as string][data.name] = responseParser( - dataIter, - data, - abiStructs, - abiEnums, - parsedEvent[abiEvent.name as string] - ); + parsedEvent[abiEvent.name as string][data.name] = responseParser({ + responseIterator: dataIter, + output: data, + structs: abiStructs, + enums: abiEnums, + parser, + parsedResult: parsedEvent[abiEvent.name as string], + }); }); if ('block_hash' in currentEvent) parsedEvent.block_hash = currentEvent.block_hash; if ('block_number' in currentEvent) parsedEvent.block_number = currentEvent.block_number; @@ -254,34 +258,3 @@ export function parseEvents( }, [] as ParsedEvents); return ret; } - -/** - * Parse Transaction Receipt Event from UDC invoke transaction and - * create DeployContractResponse compatible response with addition of the UDC Event data - * @param {InvokeTransactionReceiptResponse} txReceipt - * - * @returns {DeployContractUDCResponse} parsed UDC event data - */ -export function parseUDCEvent( - txReceipt: InvokeTransactionReceiptResponse -): DeployContractUDCResponse { - if (!txReceipt.events?.length) { - throw new Error('UDC emitted event is empty'); - } - const event = txReceipt.events.find( - (it: any) => cleanHex(it.from_address) === cleanHex(UDC.ADDRESS) - ) || { - data: [], - }; - return { - transaction_hash: txReceipt.transaction_hash, - contract_address: event.data[0], - address: event.data[0], - deployer: event.data[1], - unique: event.data[2], - classHash: event.data[3], - calldata_len: event.data[4], - calldata: event.data.slice(5, 5 + parseInt(event.data[4], 16)), - salt: event.data[event.data.length - 1], - }; -} diff --git a/src/utils/hash/classHash.ts b/src/utils/hash/classHash.ts deleted file mode 100644 index ee3a05913..000000000 --- a/src/utils/hash/classHash.ts +++ /dev/null @@ -1,359 +0,0 @@ -/** - * Class Hash - */ - -import { poseidonHashMany } from '@scure/starknet'; - -import { ADDR_BOUND, API_VERSION } from '../../global/constants'; -import { - BigNumberish, - Builtins, - CompiledContract, - CompiledSierra, - CompiledSierraCasm, - ContractEntryPointFields, - LegacyCompiledContract, - RawArgs, - SierraContractEntryPointFields, -} from '../../types'; -import { CallData } from '../calldata'; -import { felt } from '../calldata/cairo'; -import { starkCurve } from '../ec'; -import { addHexPrefix, utf8ToArray } from '../encode'; -import { parse, stringify } from '../json'; -import { toHex } from '../num'; -import { encodeShortString } from '../shortString'; -import { isString } from '../typed'; - -export function computePedersenHash(a: BigNumberish, b: BigNumberish): string { - return starkCurve.pedersen(BigInt(a), BigInt(b)); -} - -export function computePoseidonHash(a: BigNumberish, b: BigNumberish): string { - return toHex(starkCurve.poseidonHash(BigInt(a), BigInt(b))); -} - -/** - * Compute Pedersen hash from data - * - * @param {BigNumberish[]} data Array of data to compute Pedersen hash on - * @returns {string} hex-string of Pedersen hash - * - * @example - * ```typescript - * const result = hash.computeHashOnElements(['0xabc', '0x123', '0xabc123']) - * // result = 0x148141e8f7db29d005a0187669a56f0790d7e8c2c5b2d780e4d8b9e436a5521 - * ``` - */ -export function computeHashOnElements(data: BigNumberish[]): string { - return [...data, data.length] - .reduce((x: BigNumberish, y: BigNumberish) => starkCurve.pedersen(BigInt(x), BigInt(y)), 0) - .toString(); -} - -export const computePedersenHashOnElements = computeHashOnElements; - -export function computePoseidonHashOnElements(data: BigNumberish[]) { - return toHex(poseidonHashMany(data.map((x) => BigInt(x)))); -} - -/** - * Calculate contract address from class hash - * - * @param {BigNumberish} salt Salt to be used for hashing - * @param {BigNumberish} classHash Class hash of contract to generate address for - * @param {RawArgs} constructorCalldata Call data for contract constructor - * @param {BigNumberish} deployerAddress Address of contract deployer - * @returns {string} hex-string - * @example - * ```typescript - * const result = hash.calculateContractAddressFromHash(1234, 0x1cf4fe5d37868d25524cdacb89518d88bf217a9240a1e6fde71cc22c429e0e3, [1234, true, false], 0x052fb1a9ab0db3c4f81d70fea6a2f6e55f57c709a46089b25eeec0e959db3695); - * // result = 0x5fb03d3a88d8e474976932f927ff6a9e332e06ed36642ea3e8c7e38bf010f76 - * ``` - */ -export function calculateContractAddressFromHash( - salt: BigNumberish, - classHash: BigNumberish, - constructorCalldata: RawArgs, - deployerAddress: BigNumberish -): string { - const compiledCalldata = CallData.compile(constructorCalldata); - const constructorCalldataHash = computeHashOnElements(compiledCalldata); - - const CONTRACT_ADDRESS_PREFIX = felt('0x535441524b4e45545f434f4e54524143545f41444452455353'); // Equivalent to 'STARKNET_CONTRACT_ADDRESS' - - const hash = computeHashOnElements([ - CONTRACT_ADDRESS_PREFIX, - deployerAddress, - salt, - classHash, - constructorCalldataHash, - ]); - return toHex(BigInt(hash) % ADDR_BOUND); -} - -function nullSkipReplacer(key: string, value: any) { - if (key === 'attributes' || key === 'accessible_scopes') { - return Array.isArray(value) && value.length === 0 ? undefined : value; - } - - if (key === 'debug_info') { - return null; - } - - return value === null ? undefined : value; -} - -/** - * Format json-string without spaces to conform starknet json-string - * @param {string} json json-string without spaces - * @returns {string} json-string with additional spaces after `:` and `,` - * @example - * ```typescript - * const result = hash.formatSpaces("{'onchain':true,'isStarknet':true}"); - * // result = "{'onchain': true, 'isStarknet': true}" - * ``` - */ -export function formatSpaces(json: string): string { - let insideQuotes = false; - const newString = []; - // eslint-disable-next-line no-restricted-syntax - for (const char of json) { - if (char === '"' && (newString.length > 0 && newString.slice(-1)[0] === '\\') === false) { - insideQuotes = !insideQuotes; - } - if (insideQuotes) { - newString.push(char); - } else { - // eslint-disable-next-line no-nested-ternary - newString.push(char === ':' ? ': ' : char === ',' ? ', ' : char); - } - } - return newString.join(''); -} - -/** - * Compute hinted class hash for legacy compiled contract (Cairo 0) - * @param {LegacyCompiledContract} compiledContract - * @returns {string} hex-string - * @example - * ```typescript - * const compiledCairo0 = json.parse(fs.readFileSync("./cairo0contract.json").toString("ascii")); - * const result=hash.computeHintedClassHash(compiledCairo0); - * // result = "0x293eabb06955c0a1e55557014675aa4e7a1fd69896147382b29b2b6b166a2ac" - * ``` */ -export function computeHintedClassHash(compiledContract: LegacyCompiledContract): string { - const { abi, program } = compiledContract; - const contractClass = { abi, program }; - const serializedJson = formatSpaces(stringify(contractClass, nullSkipReplacer)); - return addHexPrefix(starkCurve.keccak(utf8ToArray(serializedJson)).toString(16)); -} - -/** - * Computes the class hash for legacy compiled contract (Cairo 0) - * @param {LegacyCompiledContract | string} contract legacy compiled contract content - * @returns {string} hex-string of class hash - * @example - * ```typescript - * const compiledCairo0 = json.parse(fs.readFileSync("./cairo0contract.json").toString("ascii")); - * const result=hash.computeLegacyContractClassHash(compiledCairo0); - * // result = "0x4a5cae61fa8312b0a3d0c44658b403d3e4197be80027fd5020ffcdf0c803331" - * ``` - */ -export function computeLegacyContractClassHash(contract: LegacyCompiledContract | string): string { - const compiledContract = isString(contract) - ? (parse(contract) as LegacyCompiledContract) - : contract; - - const apiVersion = toHex(API_VERSION); - - const externalEntryPointsHash = computeHashOnElements( - compiledContract.entry_points_by_type.EXTERNAL.flatMap((e) => [e.selector, e.offset]) - ); - - const l1HandlerEntryPointsHash = computeHashOnElements( - compiledContract.entry_points_by_type.L1_HANDLER.flatMap((e) => [e.selector, e.offset]) - ); - - const constructorEntryPointHash = computeHashOnElements( - compiledContract.entry_points_by_type.CONSTRUCTOR.flatMap((e) => [e.selector, e.offset]) - ); - - const builtinsHash = computeHashOnElements( - compiledContract.program.builtins.map((s) => encodeShortString(s)) - ); - - const hintedClassHash = computeHintedClassHash(compiledContract); - - const dataHash = computeHashOnElements(compiledContract.program.data); - - return computeHashOnElements([ - apiVersion, - externalEntryPointsHash, - l1HandlerEntryPointsHash, - constructorEntryPointHash, - builtinsHash, - hintedClassHash, - dataHash, - ]); -} - -// Cairo 1 Contract Hashes - -function hashBuiltins(builtins: Builtins) { - return poseidonHashMany( - builtins.flatMap((it: any) => { - return BigInt(encodeShortString(it)); - }) - ); -} - -function hashEntryPoint(data: ContractEntryPointFields[]) { - const base = data.flatMap((it: any) => { - return [BigInt(it.selector), BigInt(it.offset), hashBuiltins(it.builtins)]; - }); - return poseidonHashMany(base); -} - -/** - * Compute hash of the bytecode for Sierra v1.5.0 onwards (Cairo 2.6.0) - * Each segment is Poseidon hashed. - * The global hash is : 1 + PoseidonHash(len0, h0, len1, h1, ...) - * @param {CompiledSierraCasm} casm compiled Sierra CASM file content. - * @returns {bigint} the bytecode hash as bigint. - * @example - * ```typescript - * const compiledCasm = json.parse(fs.readFileSync("./contractC260.casm.json").toString("ascii")); - * const result = hash.hashByteCodeSegments(compiledCasm); - * // result = 80499149343908132326491548897246987792410240503053732367044713070598981699n - * ``` - */ -export function hashByteCodeSegments(casm: CompiledSierraCasm): bigint { - const byteCode: bigint[] = casm.bytecode.map((n) => BigInt(n)); - const bytecodeSegmentLengths: number[] = casm.bytecode_segment_lengths ?? []; - let segmentStart = 0; - const hashLeaves = bytecodeSegmentLengths.flatMap((len) => { - const segment = byteCode.slice(segmentStart, (segmentStart += len)); - return [BigInt(len), poseidonHashMany(segment)]; - }); - return 1n + poseidonHashMany(hashLeaves); -} - -/** - * Compute compiled class hash for contract (Cairo 1) - * @param {CompiledSierraCasm} casm Cairo 1 compiled contract content - * @returns {string} hex-string of class hash - * @example - * ```typescript - * const compiledCasm = json.parse(fs.readFileSync("./cairo260.casm.json").toString("ascii")); - * const result = hash.computeCompiledClassHash(compiledCasm); - * // result = "0x4087905743b4fa2b3affc1fc71333f1390c8c5d1e8ea47d6ba70786de3fc01a" -``` - */ -export function computeCompiledClassHash(casm: CompiledSierraCasm): string { - const COMPILED_CLASS_VERSION = 'COMPILED_CLASS_V1'; - - // Hash compiled class version - const compiledClassVersion = BigInt(encodeShortString(COMPILED_CLASS_VERSION)); - - // Hash external entry points. - const externalEntryPointsHash = hashEntryPoint(casm.entry_points_by_type.EXTERNAL); - - // Hash L1 handler entry points. - const l1Handlers = hashEntryPoint(casm.entry_points_by_type.L1_HANDLER); - - // Hash constructor entry points. - const constructor = hashEntryPoint(casm.entry_points_by_type.CONSTRUCTOR); - - // Hash bytecode. - const bytecode = casm.bytecode_segment_lengths - ? hashByteCodeSegments(casm) - : poseidonHashMany(casm.bytecode.map((it: string) => BigInt(it))); - - return toHex( - poseidonHashMany([ - compiledClassVersion, - externalEntryPointsHash, - l1Handlers, - constructor, - bytecode, - ]) - ); -} - -function hashEntryPointSierra(data: SierraContractEntryPointFields[]) { - const base = data.flatMap((it: any) => { - return [BigInt(it.selector), BigInt(it.function_idx)]; - }); - return poseidonHashMany(base); -} - -function hashAbi(sierra: CompiledSierra) { - const indentString = formatSpaces(stringify(sierra.abi, null)); - return BigInt(addHexPrefix(starkCurve.keccak(utf8ToArray(indentString)).toString(16))); -} - -/** - * Compute sierra contract class hash (Cairo 1) - * @param {CompiledSierra} sierra Cairo 1 Sierra contract content - * @returns {string} hex-string of class hash - * @example - * ```typescript - * const compiledSierra = json.parse(fs.readFileSync("./cairo260.sierra.json").toString("ascii")); - * const result = hash.computeSierraContractClassHash(compiledSierra); - * // result = "0x67b6b4f02baded46f02feeed58c4f78e26c55364e59874d8abfd3532d85f1ba" -``` - */ -export function computeSierraContractClassHash(sierra: CompiledSierra): string { - const CONTRACT_CLASS_VERSION = 'CONTRACT_CLASS_V0.1.0'; - - // Hash class version - const compiledClassVersion = BigInt(encodeShortString(CONTRACT_CLASS_VERSION)); - - // Hash external entry points. - const externalEntryPointsHash = hashEntryPointSierra(sierra.entry_points_by_type.EXTERNAL); - - // Hash L1 handler entry points. - const l1Handlers = hashEntryPointSierra(sierra.entry_points_by_type.L1_HANDLER); - - // Hash constructor entry points. - const constructor = hashEntryPointSierra(sierra.entry_points_by_type.CONSTRUCTOR); - - // Hash abi_hash. - const abiHash = hashAbi(sierra); - - // Hash Sierra program. - const sierraProgram = poseidonHashMany(sierra.sierra_program.map((it: string) => BigInt(it))); - - return toHex( - poseidonHashMany([ - compiledClassVersion, - externalEntryPointsHash, - l1Handlers, - constructor, - abiHash, - sierraProgram, - ]) - ); -} - -/** - * Compute ClassHash (sierra or legacy) based on provided contract - * @param {CompiledContract | string} contract Cairo 1 contract content - * @returns {string} hex-string of class hash - * @example - * ```typescript - * const compiledSierra = json.parse(fs.readFileSync("./cairo260.sierra.json").toString("ascii")); - * const result = hash.computeContractClassHash(compiledSierra); - * // result = "0x67b6b4f02baded46f02feeed58c4f78e26c55364e59874d8abfd3532d85f1ba" -``` - */ -export function computeContractClassHash(contract: CompiledContract | string): string { - const compiledContract = isString(contract) ? parse(contract) : contract; - - if ('sierra_program' in compiledContract) { - return computeSierraContractClassHash(compiledContract as CompiledSierra); - } - - return computeLegacyContractClassHash(compiledContract as LegacyCompiledContract); -} diff --git a/src/utils/hash/classHash/blake.ts b/src/utils/hash/classHash/blake.ts new file mode 100644 index 000000000..3b0e62c05 --- /dev/null +++ b/src/utils/hash/classHash/blake.ts @@ -0,0 +1,181 @@ +/* eslint-disable no-bitwise */ +/* eslint-disable no-plusplus */ +/* eslint-disable no-restricted-syntax */ +import blake from '../../connect/blake'; + +import { toHex } from '../../num'; +import { encodeShortString } from '../../shortString'; +import type { Builtins, CompiledSierraCasm, ContractEntryPointFields } from '../../../types'; +import { PRIME } from '../../../global/constants'; +import { COMPILED_CLASS_VERSION as COMPILED_CLASS_V1, encodeBuiltins } from './util'; + +/** + * Blake2s hash function for Starknet that produces a field element. + * Matches the Blake2Felt252 implementation from Rust. + * + * The implementation: + * 1. Encodes each Felt into u32 words (small: 2 words, large: 8 words) + * 2. Serializes u32 words as little-endian bytes + * 3. Computes Blake2s hash (32-byte output) + * 4. Interprets hash as little-endian Felt + */ +export function blake2sHashMany(data: bigint[]): bigint { + const SMALL_THRESHOLD = 0x8000000000000000n; // 2^63 + const BIG_MARKER = 0x80000000; // 1 << 31 + + // Encode each Felt to u32 words + const u32Words: number[] = []; + const buf = new ArrayBuffer(32); + const feltView = new DataView(buf); + for (const felt of data) { + // Convert to 32-byte big-endian representation + const u64_0 = felt & 0xffffffffffffffffn; + const u64_1 = (felt & 0xffffffffffffffff0000000000000000n) >> 64n; + const u64_2 = (felt & 0xffffffffffffffff00000000000000000000000000000000n) >> 128n; + const u64_3 = + (felt & 0xffffffffffffffff000000000000000000000000000000000000000000000000n) >> 192n; + feltView.setBigUint64(0, u64_3, false); + feltView.setBigUint64(8, u64_2, false); + feltView.setBigUint64(16, u64_1, false); + feltView.setBigUint64(24, u64_0, false); + if (felt < SMALL_THRESHOLD) { + // Small value: 2 u32 words from last 8 bytes + const hi0 = feltView.getUint32(24, false); + const lo0 = feltView.getUint32(28, false); + u32Words.push(hi0, lo0); + } else { + // Large value: 8 u32 words with MSB marker + // Set MSB of first word as marker + const word0 = feltView.getUint32(0, false) | BIG_MARKER; + const word1 = feltView.getUint32(4, false); + const word2 = feltView.getUint32(8, false); + const word3 = feltView.getUint32(12, false); + const word4 = feltView.getUint32(16, false); + const word5 = feltView.getUint32(20, false); + const word6 = feltView.getUint32(24, false); + const word7 = feltView.getUint32(28, false); + u32Words.push(word0, word1, word2, word3, word4, word5, word6, word7); + } + } + + // Serialize u32 words as little-endian bytes + const bytes = new ArrayBuffer(u32Words.length * 4); + const bytesView = new DataView(bytes); + for (let i = 0; i < u32Words.length; i++) { + bytesView.setUint32(i * 4, u32Words[i], true); + } + const hash = blake(new Uint8Array(bytes)); + let hashBigInt = 0n; + for (let i = 0; i < 32; i++) { + hashBigInt |= BigInt(hash[i]) << BigInt(i * 8); + } + return hashBigInt % PRIME; +} + +function hashBuiltinsBlake(builtins: Builtins): bigint { + return blake2sHashMany(encodeBuiltins(builtins)); +} + +function hashEntryPointBlake(data: ContractEntryPointFields[]): bigint { + const base = data.flatMap((it: any) => { + return [BigInt(it.selector), BigInt(it.offset), hashBuiltinsBlake(it.builtins)]; + }); + return blake2sHashMany(base); +} + +/** + * Recursively compute hash of a bytecode segment node using Blake2s. + * Returns [length, hash] tuple. + */ +function bytecodeHashNodeBlake(iter: Iterator, node: number | number[]): [number, bigint] { + if (typeof node === 'number') { + // Leaf node: hash the segment directly + const data: bigint[] = []; + for (let i = 0; i < node; i++) { + const next = iter.next(); + if (next.done) throw new Error('Bytecode length mismatch'); + data.push(next.value); + } + return [node, blake2sHashMany(data)]; + } + + // Non-leaf node: recursively process children + const innerNodes = node.map((child) => bytecodeHashNodeBlake(iter, child)); + const flatData = innerNodes.flatMap(([len, hash]) => [BigInt(len), hash]); + const hash = blake2sHashMany(flatData) + 1n; + const totalLen = innerNodes.reduce((sum, [len]) => sum + len, 0); + + return [totalLen, hash]; +} + +/** + * Compute hash of the bytecode using Blake2s for nested segments. + * Each segment is Blake2s hashed according to the segment structure. + * For non-leaf nodes: 1 + Blake2sHash(len0, h0, len1, h1, ...) + * @param {CompiledSierraCasm} casm compiled Sierra CASM file content. + * @returns {bigint} the bytecode hash as bigint. + * @example + * ```typescript + * const compiledCasm = json.parse(fs.readFileSync("./contractC260.casm.json").toString("ascii")); + * const result = hash.hashByteCodeSegmentsBlake(compiledCasm); + * ``` + */ +export function hashByteCodeSegmentsBlake(casm: CompiledSierraCasm): bigint { + const byteCode: bigint[] = casm.bytecode.map((n) => BigInt(n)); + const bytecodeSegmentLengths = casm.bytecode_segment_lengths; + + if (!bytecodeSegmentLengths) { + // No segment structure: hash entire bytecode as single segment + return blake2sHashMany(byteCode); + } + + // Process bytecode according to segment structure + const iter = byteCode[Symbol.iterator](); + const [len, hash] = bytecodeHashNodeBlake(iter, bytecodeSegmentLengths as any); + + // Verify we consumed all bytecode + if (len !== byteCode.length) { + throw new Error(`Bytecode length mismatch: expected ${byteCode.length}, got ${len}`); + } + + return hash; +} + +/** + * Compute compiled class hash for contract (Cairo 1) using Blake2s hashing (V2). + * This implements the V2 hash version as specified in Starknet. + * @param {CompiledSierraCasm} casm Cairo 1 compiled contract content + * @returns {string} hex-string of compiled class hash + * @example + * ```typescript + * const compiledCasm = json.parse(fs.readFileSync("./cairo260.casm.json").toString("ascii")); + * const result = hash.computeCompiledClassHashBlake(compiledCasm); + * ``` + */ +export function computeCompiledClassHashBlake(casm: CompiledSierraCasm): string { + // Hash compiled class version + const compiledClassVersion = BigInt(encodeShortString(COMPILED_CLASS_V1)); + + // Hash external entry points using Blake2s + const externalEntryPointsHash = hashEntryPointBlake(casm.entry_points_by_type.EXTERNAL); + + // Hash L1 handler entry points using Blake2s + const l1Handlers = hashEntryPointBlake(casm.entry_points_by_type.L1_HANDLER); + + // Hash constructor entry points using Blake2s + const constructor = hashEntryPointBlake(casm.entry_points_by_type.CONSTRUCTOR); + + // Hash bytecode using Blake2s with segment structure + const bytecode = hashByteCodeSegmentsBlake(casm); + + // Compute final hash: Blake2s([version, external, l1_handler, constructor, bytecode]) + return toHex( + blake2sHashMany([ + compiledClassVersion, + externalEntryPointsHash, + l1Handlers, + constructor, + bytecode, + ]) + ); +} diff --git a/src/utils/hash/classHash/index.ts b/src/utils/hash/classHash/index.ts new file mode 100644 index 000000000..c71bbce2f --- /dev/null +++ b/src/utils/hash/classHash/index.ts @@ -0,0 +1,54 @@ +/** + * Class Hash Exports + */ +import { + CompiledContract, + CompiledSierra, + CompiledSierraCasm, + LegacyCompiledContract, +} from '../../../types'; +import { parse } from '../../json'; +import { isString } from '../../typed'; +import { computeLegacyContractClassHash } from './pedersen'; +import { computeCompiledClassHashPoseidon, computeSierraContractClassHash } from './poseidon'; +import { computeCompiledClassHashBlake } from './blake'; +import { SupportedRpcVersion } from '../../../global/constants'; +import { compareVersions } from '../../resolve'; + +export * from './pedersen'; +export * from './poseidon'; +export * from './blake'; +export * from './util'; +/** + * Compute ClassHash (sierra or legacy) based on provided contract + * @param {CompiledContract | string} contract Cairo 1 contract content + * @returns {string} hex-string of class hash + * @example + * ```typescript + * const compiledSierra = json.parse(fs.readFileSync("./cairo260.sierra.json").toString("ascii")); + * const result = hash.computeContractClassHash(compiledSierra); + * // result = "0x67b6b4f02baded46f02feeed58c4f78e26c55364e59874d8abfd3532d85f1ba" +``` + */ +export function computeContractClassHash(contract: CompiledContract | string): string { + const compiledContract = isString(contract) ? parse(contract) : contract; + + if ('sierra_program' in compiledContract) { + return computeSierraContractClassHash(compiledContract as CompiledSierra); + } + + return computeLegacyContractClassHash(compiledContract as LegacyCompiledContract); +} + +export function computeCompiledClassHash( + casm: CompiledSierraCasm, + /** + * Used to determine which hashing algorithm to use + */ + specVersion?: SupportedRpcVersion +): string { + if (specVersion && compareVersions(specVersion, '0.10.0') >= 0) { + return computeCompiledClassHashBlake(casm); + } + return computeCompiledClassHashPoseidon(casm); +} diff --git a/src/utils/hash/classHash/pedersen.ts b/src/utils/hash/classHash/pedersen.ts new file mode 100644 index 000000000..8e5e9b6f5 --- /dev/null +++ b/src/utils/hash/classHash/pedersen.ts @@ -0,0 +1,140 @@ +/** + * Cairo 0 Class Hash computation using Pedersen hash + */ + +import { ADDR_BOUND, API_VERSION } from '../../../global/constants'; +import { BigNumberish, LegacyCompiledContract, RawArgs } from '../../../types'; +import { CallData } from '../../calldata'; +import { felt } from '../../calldata/cairo'; +import { starkCurve } from '../../ec'; +import { addHexPrefix, utf8ToArray } from '../../encode'; +import { parse, stringify } from '../../json'; +import { toHex } from '../../num'; +import { encodeShortString } from '../../shortString'; +import { isString } from '../../typed'; +import { formatSpaces, nullSkipReplacer } from './util'; + +export function computePedersenHash(a: BigNumberish, b: BigNumberish): string { + return starkCurve.pedersen(BigInt(a), BigInt(b)); +} + +/** + * Compute Pedersen hash from data + * + * @param {BigNumberish[]} data Array of data to compute Pedersen hash on + * @returns {string} hex-string of Pedersen hash + * + * @example + * ```typescript + * const result = hash.computeHashOnElements(['0xabc', '0x123', '0xabc123']) + * // result = 0x148141e8f7db29d005a0187669a56f0790d7e8c2c5b2d780e4d8b9e436a5521 + * ``` + */ +export function computeHashOnElements(data: BigNumberish[]): string { + return [...data, data.length] + .reduce((x: BigNumberish, y: BigNumberish) => starkCurve.pedersen(BigInt(x), BigInt(y)), 0) + .toString(); +} + +export const computePedersenHashOnElements = computeHashOnElements; + +/** + * Calculate contract address from class hash + * + * @param {BigNumberish} salt Salt to be used for hashing + * @param {BigNumberish} classHash Class hash of contract to generate address for + * @param {RawArgs} constructorCalldata Call data for contract constructor + * @param {BigNumberish} deployerAddress Address of contract deployer + * @returns {string} hex-string + * @example + * ```typescript + * const result = hash.calculateContractAddressFromHash(1234, 0x1cf4fe5d37868d25524cdacb89518d88bf217a9240a1e6fde71cc22c429e0e3, [1234, true, false], 0x052fb1a9ab0db3c4f81d70fea6a2f6e55f57c709a46089b25eeec0e959db3695); + * // result = 0x5fb03d3a88d8e474976932f927ff6a9e332e06ed36642ea3e8c7e38bf010f76 + * ``` + */ +export function calculateContractAddressFromHash( + salt: BigNumberish, + classHash: BigNumberish, + constructorCalldata: RawArgs, + deployerAddress: BigNumberish +): string { + const compiledCalldata = CallData.compile(constructorCalldata); + const constructorCalldataHash = computeHashOnElements(compiledCalldata); + + const CONTRACT_ADDRESS_PREFIX = felt('0x535441524b4e45545f434f4e54524143545f41444452455353'); // Equivalent to 'STARKNET_CONTRACT_ADDRESS' + + const hash = computeHashOnElements([ + CONTRACT_ADDRESS_PREFIX, + deployerAddress, + salt, + classHash, + constructorCalldataHash, + ]); + return toHex(BigInt(hash) % ADDR_BOUND); +} + +/** + * Compute hinted class hash for legacy compiled contract (Cairo 0) + * @param {LegacyCompiledContract} compiledContract + * @returns {string} hex-string + * @example + * ```typescript + * const compiledCairo0 = json.parse(fs.readFileSync("./cairo0contract.json").toString("ascii")); + * const result=hash.computeHintedClassHash(compiledCairo0); + * // result = "0x293eabb06955c0a1e55557014675aa4e7a1fd69896147382b29b2b6b166a2ac" + * ``` */ +export function computeHintedClassHash(compiledContract: LegacyCompiledContract): string { + const { abi, program } = compiledContract; + const contractClass = { abi, program }; + const serializedJson = formatSpaces(stringify(contractClass, nullSkipReplacer)); + return addHexPrefix(starkCurve.keccak(utf8ToArray(serializedJson)).toString(16)); +} + +/** + * Computes the class hash for legacy compiled contract (Cairo 0) + * @param {LegacyCompiledContract | string} contract legacy compiled contract content + * @returns {string} hex-string of class hash + * @example + * ```typescript + * const compiledCairo0 = json.parse(fs.readFileSync("./cairo0contract.json").toString("ascii")); + * const result=hash.computeLegacyContractClassHash(compiledCairo0); + * // result = "0x4a5cae61fa8312b0a3d0c44658b403d3e4197be80027fd5020ffcdf0c803331" + * ``` + */ +export function computeLegacyContractClassHash(contract: LegacyCompiledContract | string): string { + const compiledContract = isString(contract) + ? (parse(contract) as LegacyCompiledContract) + : contract; + + const apiVersion = toHex(API_VERSION); + + const externalEntryPointsHash = computeHashOnElements( + compiledContract.entry_points_by_type.EXTERNAL.flatMap((e) => [e.selector, e.offset]) + ); + + const l1HandlerEntryPointsHash = computeHashOnElements( + compiledContract.entry_points_by_type.L1_HANDLER.flatMap((e) => [e.selector, e.offset]) + ); + + const constructorEntryPointHash = computeHashOnElements( + compiledContract.entry_points_by_type.CONSTRUCTOR.flatMap((e) => [e.selector, e.offset]) + ); + + const builtinsHash = computeHashOnElements( + compiledContract.program.builtins.map((s) => encodeShortString(s)) + ); + + const hintedClassHash = computeHintedClassHash(compiledContract); + + const dataHash = computeHashOnElements(compiledContract.program.data); + + return computeHashOnElements([ + apiVersion, + externalEntryPointsHash, + l1HandlerEntryPointsHash, + constructorEntryPointHash, + builtinsHash, + hintedClassHash, + dataHash, + ]); +} diff --git a/src/utils/hash/classHash/poseidon.ts b/src/utils/hash/classHash/poseidon.ts new file mode 100644 index 000000000..6aa707f29 --- /dev/null +++ b/src/utils/hash/classHash/poseidon.ts @@ -0,0 +1,158 @@ +/** + * Cairo 1 Class Hash computation using Poseidon hash + */ + +import { poseidonHashMany } from '@scure/starknet'; +import { + BigNumberish, + Builtins, + CompiledSierra, + CompiledSierraCasm, + ContractEntryPointFields, + SierraContractEntryPointFields, +} from '../../../types'; +import { starkCurve } from '../../ec'; +import { addHexPrefix, utf8ToArray } from '../../encode'; +import { stringify } from '../../json'; +import { toHex } from '../../num'; +import { encodeShortString } from '../../shortString'; +import { COMPILED_CLASS_VERSION as COMPILED_CLASS_V1, encodeBuiltins, formatSpaces } from './util'; + +export function computePoseidonHash(a: BigNumberish, b: BigNumberish): string { + return toHex(starkCurve.poseidonHash(BigInt(a), BigInt(b))); +} + +export function computePoseidonHashOnElements(data: BigNumberish[]) { + return toHex(poseidonHashMany(data.map((x) => BigInt(x)))); +} + +function hashBuiltins(builtins: Builtins) { + return poseidonHashMany(encodeBuiltins(builtins)); +} + +function hashEntryPoint(data: ContractEntryPointFields[]) { + const base = data.flatMap((it: any) => { + return [BigInt(it.selector), BigInt(it.offset), hashBuiltins(it.builtins)]; + }); + return poseidonHashMany(base); +} + +/** + * Compute hash of the bytecode for Sierra v1.5.0 onwards (Cairo 2.6.0) + * Each segment is Poseidon hashed. + * The global hash is : 1 + PoseidonHash(len0, h0, len1, h1, ...) + * @param {CompiledSierraCasm} casm compiled Sierra CASM file content. + * @returns {bigint} the bytecode hash as bigint. + * @example + * ```typescript + * const compiledCasm = json.parse(fs.readFileSync("./contractC260.casm.json").toString("ascii")); + * const result = hash.hashByteCodeSegments(compiledCasm); + * // result = 80499149343908132326491548897246987792410240503053732367044713070598981699n + * ``` + */ +export function hashByteCodeSegments(casm: CompiledSierraCasm): bigint { + const byteCode: bigint[] = casm.bytecode.map((n) => BigInt(n)); + const bytecodeSegmentLengths: number[] = casm.bytecode_segment_lengths ?? []; + let segmentStart = 0; + const hashLeaves = bytecodeSegmentLengths.flatMap((len) => { + const segment = byteCode.slice(segmentStart, (segmentStart += len)); + return [BigInt(len), poseidonHashMany(segment)]; + }); + return 1n + poseidonHashMany(hashLeaves); +} + +/** + * Compute compiled class hash for contract (Cairo 1) + * @param {CompiledSierraCasm} casm Cairo 1 compiled contract content + * @returns {string} hex-string of class hash + * @example + * ```typescript + * const compiledCasm = json.parse(fs.readFileSync("./cairo260.casm.json").toString("ascii")); + * const result = hash.computeCompiledClassHash(compiledCasm); + * // result = "0x4087905743b4fa2b3affc1fc71333f1390c8c5d1e8ea47d6ba70786de3fc01a" +``` + */ +export function computeCompiledClassHashPoseidon(casm: CompiledSierraCasm): string { + // Hash compiled class version + const compiledClassVersion = BigInt(encodeShortString(COMPILED_CLASS_V1)); + + // Hash external entry points. + const externalEntryPointsHash = hashEntryPoint(casm.entry_points_by_type.EXTERNAL); + + // Hash L1 handler entry points. + const l1Handlers = hashEntryPoint(casm.entry_points_by_type.L1_HANDLER); + + // Hash constructor entry points. + const constructor = hashEntryPoint(casm.entry_points_by_type.CONSTRUCTOR); + + // Hash bytecode. + const bytecode = casm.bytecode_segment_lengths + ? hashByteCodeSegments(casm) + : poseidonHashMany(casm.bytecode.map((it: string) => BigInt(it))); + + return toHex( + poseidonHashMany([ + compiledClassVersion, + externalEntryPointsHash, + l1Handlers, + constructor, + bytecode, + ]) + ); +} + +function hashEntryPointSierra(data: SierraContractEntryPointFields[]) { + const base = data.flatMap((it: any) => { + return [BigInt(it.selector), BigInt(it.function_idx)]; + }); + return poseidonHashMany(base); +} + +function hashAbi(sierra: CompiledSierra) { + const indentString = formatSpaces(stringify(sierra.abi, null)); + return BigInt(addHexPrefix(starkCurve.keccak(utf8ToArray(indentString)).toString(16))); +} + +/** + * Compute sierra contract class hash (Cairo 1) + * @param {CompiledSierra} sierra Cairo 1 Sierra contract content + * @returns {string} hex-string of class hash + * @example + * ```typescript + * const compiledSierra = json.parse(fs.readFileSync("./cairo260.sierra.json").toString("ascii")); + * const result = hash.computeSierraContractClassHash(compiledSierra); + * // result = "0x67b6b4f02baded46f02feeed58c4f78e26c55364e59874d8abfd3532d85f1ba" +``` + */ +export function computeSierraContractClassHash(sierra: CompiledSierra): string { + const CONTRACT_CLASS_VERSION = 'CONTRACT_CLASS_V0.1.0'; + + // Hash class version + const compiledClassVersion = BigInt(encodeShortString(CONTRACT_CLASS_VERSION)); + + // Hash external entry points. + const externalEntryPointsHash = hashEntryPointSierra(sierra.entry_points_by_type.EXTERNAL); + + // Hash L1 handler entry points. + const l1Handlers = hashEntryPointSierra(sierra.entry_points_by_type.L1_HANDLER); + + // Hash constructor entry points. + const constructor = hashEntryPointSierra(sierra.entry_points_by_type.CONSTRUCTOR); + + // Hash abi_hash. + const abiHash = hashAbi(sierra); + + // Hash Sierra program. + const sierraProgram = poseidonHashMany(sierra.sierra_program.map((it: string) => BigInt(it))); + + return toHex( + poseidonHashMany([ + compiledClassVersion, + externalEntryPointsHash, + l1Handlers, + constructor, + abiHash, + sierraProgram, + ]) + ); +} diff --git a/src/utils/hash/classHash/util.ts b/src/utils/hash/classHash/util.ts new file mode 100644 index 000000000..1d52f97ad --- /dev/null +++ b/src/utils/hash/classHash/util.ts @@ -0,0 +1,77 @@ +/** + * Shared utilities for class hash computation + */ +import { Builtins, ContractEntryPointFields } from '../../../types'; +import { encodeShortString } from '../../shortString'; + +/** + * Compiled class version constant used in Cairo 1 compiled class hashing + */ +export const COMPILED_CLASS_VERSION = 'COMPILED_CLASS_V1'; + +/** + * Format json-string without spaces to conform starknet json-string + * @param {string} json json-string without spaces + * @returns {string} json-string with additional spaces after `:` and `,` + * @example + * ```typescript + * const result = hash.formatSpaces("{'onchain':true,'isStarknet':true}"); + * // result = "{'onchain': true, 'isStarknet': true}" + * ``` + */ +export function formatSpaces(json: string): string { + let insideQuotes = false; + const newString = []; + // eslint-disable-next-line no-restricted-syntax + for (const char of json) { + if (char === '"' && (newString.length > 0 && newString.slice(-1)[0] === '\\') === false) { + insideQuotes = !insideQuotes; + } + if (insideQuotes) { + newString.push(char); + } else { + // eslint-disable-next-line no-nested-ternary + newString.push(char === ':' ? ': ' : char === ',' ? ', ' : char); + } + } + return newString.join(''); +} + +/** + * JSON replacer function that skips null values and empty arrays for specific keys + * Used in legacy contract class serialization + */ +export function nullSkipReplacer(key: string, value: any) { + if (key === 'attributes' || key === 'accessible_scopes') { + return Array.isArray(value) && value.length === 0 ? undefined : value; + } + + if (key === 'debug_info') { + return null; + } + + return value === null ? undefined : value; +} + +/** + * Convert builtins array to encoded BigInt array + * Common pattern used in both Poseidon and Blake2s hashing + */ +export function encodeBuiltins(builtins: Builtins): bigint[] { + return builtins.map((it: any) => BigInt(encodeShortString(it))); +} + +/** + * Extract entry point data for hashing + * Returns flattened array of [selector, offset, ...builtins] for each entry point + */ +export function flattenEntryPointData( + data: ContractEntryPointFields[], + encodedBuiltinsArray: bigint[][] +): bigint[] { + return data.flatMap((it: any, index: number) => [ + BigInt(it.selector), + BigInt(it.offset), + ...encodedBuiltinsArray[index], + ]); +} diff --git a/src/utils/hash/transactionHash/index.ts b/src/utils/hash/transactionHash/index.ts index 28e14a04c..76ce13ad4 100644 --- a/src/utils/hash/transactionHash/index.ts +++ b/src/utils/hash/transactionHash/index.ts @@ -3,19 +3,9 @@ */ import { StarknetChainId } from '../../../global/constants'; -import { ResourceBounds } from '../../../provider/types/spec.type'; +import { ResourceBoundsBN } from '../../../provider/types/spec.type'; import { BigNumberish, Calldata } from '../../../types'; -import { - EDAMode, - ETransactionVersion, - ETransactionVersion2, - ETransactionVersion3, -} from '../../../types/api'; -import { - calculateDeclareTransactionHash as v2calculateDeclareTransactionHash, - calculateDeployAccountTransactionHash as v2calculateDeployAccountTransactionHash, - calculateTransactionHash as v2calculateInvokeTransactionHash, -} from './v2'; +import { EDAMode, ETransactionVersion, ETransactionVersion3 } from '../../../types/api'; import { calculateDeclareTransactionHash as v3calculateDeclareTransactionHash, calculateDeployAccountTransactionHash as v3calculateDeployAccountTransactionHash, @@ -33,15 +23,6 @@ function isV3InvokeTx(args: CalcInvokeTxHashArgs): args is CalcV3InvokeTxHashArg return [ETransactionVersion.V3, ETransactionVersion.F3].includes(args.version as Version); } -type CalcV2InvokeTxHashArgs = { - senderAddress: BigNumberish; - version: `${ETransactionVersion2}`; - compiledCalldata: Calldata; - maxFee: BigNumberish; - chainId: StarknetChainId; - nonce: BigNumberish; -}; - type CalcV3InvokeTxHashArgs = { senderAddress: BigNumberish; version: `${ETransactionVersion3}`; @@ -51,12 +32,12 @@ type CalcV3InvokeTxHashArgs = { accountDeploymentData: BigNumberish[]; nonceDataAvailabilityMode: EDAMode; feeDataAvailabilityMode: EDAMode; - resourceBounds: ResourceBounds; + resourceBounds: ResourceBoundsBN; tip: BigNumberish; paymasterData: BigNumberish[]; }; -type CalcInvokeTxHashArgs = CalcV2InvokeTxHashArgs | CalcV3InvokeTxHashArgs; +type CalcInvokeTxHashArgs = CalcV3InvokeTxHashArgs; export function calculateInvokeTransactionHash(args: CalcInvokeTxHashArgs) { if (isV3InvokeTx(args)) { @@ -74,14 +55,8 @@ export function calculateInvokeTransactionHash(args: CalcInvokeTxHashArgs) { args.paymasterData ); } - return v2calculateInvokeTransactionHash( - args.senderAddress, - args.version, - args.compiledCalldata, - args.maxFee, - args.chainId, - args.nonce - ); + + throw new Error('Invalid Tx version for hash calculation'); } /* @@ -91,16 +66,6 @@ function isV3DeclareTx(args: CalcDeclareTxHashArgs): args is CalcV3DeclareTxHash return [ETransactionVersion.V3, ETransactionVersion.F3].includes(args.version as Version); } -type CalcV2DeclareTxHashArgs = { - classHash: string; - senderAddress: BigNumberish; - version: `${ETransactionVersion2}`; - maxFee: BigNumberish; - chainId: StarknetChainId; - nonce: BigNumberish; - compiledClassHash?: string; -}; - type CalcV3DeclareTxHashArgs = { classHash: string; compiledClassHash: string; @@ -111,12 +76,12 @@ type CalcV3DeclareTxHashArgs = { accountDeploymentData: BigNumberish[]; nonceDataAvailabilityMode: EDAMode; feeDataAvailabilityMode: EDAMode; - resourceBounds: ResourceBounds; + resourceBounds: ResourceBoundsBN; tip: BigNumberish; paymasterData: BigNumberish[]; }; -type CalcDeclareTxHashArgs = CalcV2DeclareTxHashArgs | CalcV3DeclareTxHashArgs; +type CalcDeclareTxHashArgs = CalcV3DeclareTxHashArgs; export function calculateDeclareTransactionHash(args: CalcDeclareTxHashArgs) { if (isV3DeclareTx(args)) { @@ -136,15 +101,7 @@ export function calculateDeclareTransactionHash(args: CalcDeclareTxHashArgs) { ); } - return v2calculateDeclareTransactionHash( - args.classHash, - args.senderAddress, - args.version, - args.maxFee, - args.chainId, - args.nonce, - args.compiledClassHash - ); + throw new Error('Invalid Tx version for hash calculation'); } /* @@ -157,17 +114,6 @@ function isV3DeployAccountTx( return [ETransactionVersion.V3, ETransactionVersion.F3].includes(args.version as Version); } -type CalcV2DeployAccountTxHashArgs = { - contractAddress: BigNumberish; - classHash: BigNumberish; - constructorCalldata: Calldata; - salt: BigNumberish; - version: `${ETransactionVersion2}`; - maxFee: BigNumberish; - chainId: StarknetChainId; - nonce: BigNumberish; -}; - type CalcV3DeployAccountTxHashArgs = { contractAddress: BigNumberish; classHash: BigNumberish; @@ -178,12 +124,12 @@ type CalcV3DeployAccountTxHashArgs = { nonce: BigNumberish; nonceDataAvailabilityMode: EDAMode; feeDataAvailabilityMode: EDAMode; - resourceBounds: ResourceBounds; + resourceBounds: ResourceBoundsBN; tip: BigNumberish; paymasterData: BigNumberish[]; }; -type CalcDeployAccountTxHashArgs = CalcV2DeployAccountTxHashArgs | CalcV3DeployAccountTxHashArgs; +type CalcDeployAccountTxHashArgs = CalcV3DeployAccountTxHashArgs; export function calculateDeployAccountTransactionHash(args: CalcDeployAccountTxHashArgs) { if (isV3DeployAccountTx(args)) { @@ -203,14 +149,5 @@ export function calculateDeployAccountTransactionHash(args: CalcDeployAccountTxH ); } - return v2calculateDeployAccountTransactionHash( - args.contractAddress, - args.classHash, - args.constructorCalldata, - args.salt, - args.version, - args.maxFee, - args.chainId, - args.nonce - ); + throw new Error('Invalid Tx version for hash calculation'); } diff --git a/src/utils/hash/transactionHash/v3.ts b/src/utils/hash/transactionHash/v3.ts index 7ddfdc324..425716287 100644 --- a/src/utils/hash/transactionHash/v3.ts +++ b/src/utils/hash/transactionHash/v3.ts @@ -6,14 +6,9 @@ import { poseidonHashMany } from '@scure/starknet'; import { StarknetChainId, TransactionHashPrefix } from '../../../global/constants'; import { BigNumberish, Calldata } from '../../../types'; -import { RPCSPEC07, RPCSPEC08 } from '../../../types/api'; import { toHex } from '../../num'; import { encodeShortString } from '../../shortString'; -import { - EDAMode, - isRPC08_ResourceBounds, - type ResourceBounds, -} from '../../../provider/types/spec.type'; +import { EDAMode, type ResourceBoundsBN } from '../../../provider/types/spec.type'; const AToBI = (array: BigNumberish[]) => array.map((it: BigNumberish) => BigInt(it)); @@ -35,11 +30,11 @@ export function hashDAMode(nonceDAMode: BigNumberish, feeDAMode: BigNumberish) { * @param {ResourceBounds} bounds object including the limits for L1 & L2 gas * @returns {bigint} encoded data */ -export function encodeResourceBoundsL1(bounds: ResourceBounds): bigint { +export function encodeResourceBoundsL1(bounds: ResourceBoundsBN): bigint { return ( (L1_GAS_NAME << RESOURCE_VALUE_OFFSET) + - (BigInt(bounds.l1_gas.max_amount) << MAX_PRICE_PER_UNIT_BITS) + - BigInt(bounds.l1_gas.max_price_per_unit) + (bounds.l1_gas.max_amount << MAX_PRICE_PER_UNIT_BITS) + + bounds.l1_gas.max_price_per_unit ); } @@ -51,35 +46,26 @@ export function encodeResourceBoundsL1(bounds: ResourceBounds): bigint { } * @returns {bigint} encoded data */ -export function encodeResourceBoundsL2(bounds: RPCSPEC07.ResourceBounds): bigint { +export function encodeResourceBoundsL2(bounds: ResourceBoundsBN): bigint { return ( (L2_GAS_NAME << RESOURCE_VALUE_OFFSET) + - (BigInt(bounds.l2_gas.max_amount) << MAX_PRICE_PER_UNIT_BITS) + - BigInt(bounds.l2_gas.max_price_per_unit) + (bounds.l2_gas.max_amount << MAX_PRICE_PER_UNIT_BITS) + + bounds.l2_gas.max_price_per_unit ); } -export function encodeDataResourceBoundsL1(bounds: RPCSPEC08.ResourceBounds): bigint { +export function encodeDataResourceBoundsL1(bounds: ResourceBoundsBN): bigint { return ( (L1_DATA_GAS_NAME << RESOURCE_VALUE_OFFSET) + - (BigInt(bounds.l1_data_gas.max_amount) << MAX_PRICE_PER_UNIT_BITS) + - BigInt(bounds.l1_data_gas.max_price_per_unit) + (bounds.l1_data_gas.max_amount << MAX_PRICE_PER_UNIT_BITS) + + bounds.l1_data_gas.max_price_per_unit ); } -/** - * hash tip and resource bounds (2 bound parameters) V3 RPC 0.7 - */ -export function hashFeeField(tip: BigNumberish, bounds: RPCSPEC07.ResourceBounds) { - const L1Bound = encodeResourceBoundsL1(bounds); - const L2Bound = encodeResourceBoundsL2(bounds); - return poseidonHashMany([BigInt(tip), L1Bound, L2Bound]); -} - /** * hash tip and resource bounds (3 bounds params) V3 RPC 0.8 */ -export function hashFeeFieldV3B3(tip: BigNumberish, bounds: RPCSPEC08.ResourceBounds) { +export function hashFeeFieldV3B3(tip: BigNumberish, bounds: ResourceBoundsBN) { const L1Bound = encodeResourceBoundsL1(bounds); const L2Bound = encodeResourceBoundsL2(bounds); const L1Data = encodeDataResourceBoundsL1(bounds); @@ -96,12 +82,10 @@ export function calculateTransactionHashCommon( paymasterData: BigNumberish[], nonceDataAvailabilityMode: EDAMode, feeDataAvailabilityMode: EDAMode, - resourceBounds: ResourceBounds, + resourceBounds: ResourceBoundsBN, additionalData: BigNumberish[] = [] ): string { - const feeFieldHash = isRPC08_ResourceBounds(resourceBounds) - ? hashFeeFieldV3B3(tip, resourceBounds) - : hashFeeField(tip, resourceBounds); + const feeFieldHash = hashFeeFieldV3B3(tip, resourceBounds); const dAModeHash = hashDAMode(nonceDataAvailabilityMode, feeDataAvailabilityMode); const dataToHash = AToBI([ txHashPrefix, @@ -131,7 +115,7 @@ export function calculateDeployAccountTransactionHash( nonce: BigNumberish, nonceDataAvailabilityMode: EDAMode, feeDataAvailabilityMode: EDAMode, - resourceBounds: ResourceBounds, + resourceBounds: ResourceBoundsBN, tip: BigNumberish, paymasterData: BigNumberish[] ) { @@ -164,7 +148,7 @@ export function calculateDeclareTransactionHash( accountDeploymentData: BigNumberish[], nonceDataAvailabilityMode: EDAMode, feeDataAvailabilityMode: EDAMode, - resourceBounds: ResourceBounds, + resourceBounds: ResourceBoundsBN, tip: BigNumberish, paymasterData: BigNumberish[] ): string { @@ -196,7 +180,7 @@ export function calculateInvokeTransactionHash( accountDeploymentData: BigNumberish[], nonceDataAvailabilityMode: EDAMode, feeDataAvailabilityMode: EDAMode, - resourceBounds: ResourceBounds, + resourceBounds: ResourceBoundsBN, tip: BigNumberish, paymasterData: BigNumberish[] ): string { diff --git a/src/utils/helpers.ts b/src/utils/helpers.ts new file mode 100644 index 000000000..187493e65 --- /dev/null +++ b/src/utils/helpers.ts @@ -0,0 +1,13 @@ +/** + * Adds a non-enumerable __compiled__ property to an array to mark it as compiled for API requests + * @param compiled - The string array to mark as compiled + * @returns The same array with __compiled__ property added + */ +export function addCompiledFlag(compiled: T): T { + Object.defineProperty(compiled, '__compiled__', { + enumerable: false, + writable: false, + value: true, + }); + return compiled; +} diff --git a/src/utils/num.ts b/src/utils/num.ts index cf4353185..0b0a17078 100644 --- a/src/utils/num.ts +++ b/src/utils/num.ts @@ -24,9 +24,11 @@ import { isBigInt, isNumber, isString } from './typed'; * ``` */ export function isHex(hex: string): boolean { - return /^0x[0-9a-f]*$/i.test(hex); + return /^0[xX][0-9a-fA-F]*$/.test(hex); } +export const isHexString = isHex; + /** * Convert BigNumberish to bigint * @@ -60,6 +62,7 @@ export function tryToBigInt(value: BigNumberish | undefined) { * ```typescript * toHex(100); // '0x64' * toHex('200'); // '0xc8' + * toHex('0x00023AB'); // '0x23ab' * ``` */ export function toHex(value: BigNumberish): string { @@ -71,6 +74,18 @@ export function toHex(value: BigNumberish): string { */ export const toHexString = toHex; +/** + * Remove hex-string leading zeroes and lowercase it + * + * @example + * ```typescript + * cleanHex('0x00023AB'); // '0x23ab' + * ``` + */ +export function cleanHex(hex: string): string { + return toHex(hex); +} + /** * Convert BigNumberish to storage-key-string * @@ -125,20 +140,6 @@ export function hexToDecimalString(hex: string): string { return BigInt(addHexPrefix(hex)).toString(10); } -/** - * Remove hex-string leading zeroes and lowercase it - * - * @param {string} hex hex-string - * @returns {string} updated string in hex-string format - * @example - * ```typescript - * cleanHex('0x00023AB'); // '0x23ab' - * ``` - */ -export function cleanHex(hex: string): string { - return hex.toLowerCase().replace(/^(0x)0+/, '$1'); -} - /** * Asserts input is equal to or greater then lowerBound and lower then upperBound. * @@ -377,7 +378,7 @@ export function stringToSha256ToArrayBuff4(str: string): Uint8Array { /** * Checks if a given value is of BigNumberish type. - * 234, 234n, "234", "0xea" are valid + * 234, 234n, "234", "0xea" are valid, exclude boolean and string * @param {unknown} input a value * @returns {boolean} true if type of input is `BigNumberish` * @example @@ -393,3 +394,16 @@ export function isBigNumberish(input: unknown): input is BigNumberish { (isString(input) && (isHex(input) || isStringWholeNumber(input))) ); } + +/** + * Expect the next value from an iterator + * + * @param iterator The iterator to get the next value from. + * @returns The next value from the iterator. + * @throws Error if the iterator is done. + */ +export function getNext(iterator: Iterator): string { + const it = iterator.next(); + if (it.done) throw new Error('Unexpected end of response'); + return it.value; +} diff --git a/src/utils/outsideExecution.ts b/src/utils/outsideExecution.ts index c16deb993..07e2c917f 100644 --- a/src/utils/outsideExecution.ts +++ b/src/utils/outsideExecution.ts @@ -1,4 +1,3 @@ -import { OutsideCallV1, OutsideCallV2 } from '@starknet-io/starknet-types-08'; import { CallData } from './calldata'; import { Call, type AllowArray, type BigNumberish, type Calldata } from '../types/lib'; import { @@ -13,6 +12,7 @@ import { import { getSelectorFromName } from './hash/selector'; import { formatSignature } from './stark'; import { toHex } from './num'; +import type { OutsideCallV1, OutsideCallV2 } from '../types/api'; export function toOutsideCallV2(call: OutsideCallV1 | OutsideCallV2): OutsideCallV2 { if ('calldata_len' in call) { diff --git a/src/utils/paymaster.ts b/src/utils/paymaster.ts index d8b0eed71..0ff2610be 100644 --- a/src/utils/paymaster.ts +++ b/src/utils/paymaster.ts @@ -1,4 +1,3 @@ -import { OutsideCallV2, OutsideCallV1 } from '@starknet-io/starknet-types-08'; import { NetworkName, PAYMASTER_RPC_NODES } from '../global/constants'; import { logger } from '../global/logger'; import { BigNumberish, PaymasterDetails, PreparedTransaction, Call } from '../types'; @@ -7,6 +6,7 @@ import { CallData } from './calldata'; import { toOutsideCallV2 } from './outsideExecution'; import { getSelectorFromName } from './hash'; import { toBigInt } from './num'; +import type { OutsideCallV1, OutsideCallV2 } from '../types/api'; /** * Return randomly select available public paymaster node url diff --git a/src/utils/provider.ts b/src/utils/provider.ts index 122a794d6..952b6351f 100644 --- a/src/utils/provider.ts +++ b/src/utils/provider.ts @@ -2,6 +2,7 @@ import { config } from '../global/config'; import { NetworkName, RPC_DEFAULT_NODES, SupportedRpcVersion } from '../global/constants'; import { logger } from '../global/logger'; import { + Abi, BlockIdentifier, BlockTag, CompiledContract, @@ -70,6 +71,7 @@ export function createSierraContractClass(contract: CompiledSierra): SierraContr /** * Create a compressed contract from a given compiled Cairo 0 & 1 contract or a string. + * Parse contract string to json and compile contract.sierra_program or contract.program property * @param {CompiledContract | string} contract - Compiled Cairo 0 or Cairo 1 contract, or string * @returns {ContractClass} Cairo 0 or Cairo 1 compressed contract * @example @@ -99,7 +101,17 @@ export function parseContract(contract: CompiledContract | string): ContractClas } as LegacyContractClass; } - return createSierraContractClass(parsedContract as CompiledSierra); + return createSierraContractClass(parsedContract as CompiledSierra) as SierraContractClass; +} + +// TODO: Check if something like this exist +/** + * Extract the ABI from a given ContractClass. + * @param contract ContractClass + * @returns Abi + */ +export function extractAbi(contract: ContractClass): Abi { + return isString(contract.abi) ? parse(contract.abi) : contract.abi; } /** @@ -111,7 +123,7 @@ export function parseContract(contract: CompiledContract | string): ContractClas * ```typescript * const result= provider.getDefaultNodeUrl(constants.NetworkName.SN_MAIN,false); * // console : "Using default public node url, please provide nodeUrl in provider options!" - * // result = "https://starknet-mainnet.public.blastapi.io/rpc/v0_7" + * // result = "https://starknet-mainnet.public.blastapi.io/rpc/v0_9" * ``` */ export const getDefaultNodeUrl = ( @@ -202,7 +214,7 @@ export class Block { } else if (isNumber(__identifier)) { this.number = __identifier; } else { - this.tag = BlockTag.PENDING; + this.tag = BlockTag.LATEST; } if (isNumber(this.number) && this.number < 0) { diff --git a/src/utils/resolve.ts b/src/utils/resolve.ts index 953083e40..471e37645 100644 --- a/src/utils/resolve.ts +++ b/src/utils/resolve.ts @@ -49,7 +49,7 @@ export function isV3Tx(details: InvocationsDetailsWithNonce): details is V3Trans * @returns {boolean} True if the response matches the version, false otherwise. * @example * ``` typescript - * const result = provider.isVersion("0.7","0.7.1"); + * const result = provider.isVersion("0.9","0.9.0"); * // result = true * ``` */ @@ -95,6 +95,48 @@ export function toApiVersion(version: string): string { return `v${major}_${minor}`; } +/** + * Compare two semantic version strings segment by segment. + * This function safely compares versions without collision risk between + * versions like '0.0.1000' and '0.1.0'. + * + * @param {string} a First version string (e.g., '0.0.9') + * @param {string} b Second version string (e.g., '0.0.10') + * @returns {number} -1 if a < b, 0 if a === b, 1 if a > b + * @example + * ```typescript + * const result1 = compareVersions('0.0.9', '0.0.10'); + * // result1 = -1 (0.0.9 < 0.0.10) + * + * const result2 = compareVersions('0.1.0', '0.0.1000'); + * // result2 = 1 (0.1.0 > 0.0.1000, correctly different!) + * + * const result3 = compareVersions('1.2.3', '1.2.3'); + * // result3 = 0 (equal versions) + * + * // Usage for version checks: + * if (compareVersions(specVersion, '0.14.1') >= 0) { + * // Use Blake2s hash for version >= 0.14.1 + * } + * ``` + */ +export function compareVersions(a: string, b: string): number { + const aParts = a.split('.').map(Number); + const bParts = b.split('.').map(Number); + + const maxLen = Math.max(aParts.length, bParts.length); + + for (let i = 0; i < maxLen; i += 1) { + const aNum = aParts[i] || 0; + const bNum = bParts[i] || 0; + + if (aNum > bNum) return 1; + if (aNum < bNum) return -1; + } + + return 0; +} + /** * Guard Pending Block * @param {GetBlockResponse} response answer of myProvider.getBlock() diff --git a/src/utils/responseParser/interface.ts b/src/utils/responseParser/interface.ts index 746f9fb3a..9b395b846 100644 --- a/src/utils/responseParser/interface.ts +++ b/src/utils/responseParser/interface.ts @@ -1,14 +1,12 @@ import { - FeeEstimate, CallContractResponse, DeclareContractResponse, DeployContractResponse, - EstimateFeeResponse, GetBlockResponse, GetTransactionResponse, InvokeFunctionResponse, - SimulateTransactionResponse, BlockWithTxHashes, + SimulateTransactionOverheadResponse, } from '../../types'; import type { GetTransactionReceiptResponse } from '../transactionReceipt/transactionReceipt.type'; @@ -19,8 +17,6 @@ export abstract class ResponseParser { abstract parseGetTransactionReceiptResponse(res: any): GetTransactionReceiptResponse; - abstract parseFeeEstimateResponse(res: FeeEstimate[]): EstimateFeeResponse; - abstract parseCallContractResponse(res: any): CallContractResponse; abstract parseInvokeFunctionResponse(res: any): InvokeFunctionResponse; @@ -29,5 +25,5 @@ export abstract class ResponseParser { abstract parseDeclareContractResponse(res: any): DeclareContractResponse; - abstract parseSimulateTransactionResponse(res: any): SimulateTransactionResponse; + abstract parseSimulateTransactionResponse(res: any): SimulateTransactionOverheadResponse; } diff --git a/src/utils/responseParser/rpc.ts b/src/utils/responseParser/rpc.ts index 5a4d44120..fc2ba693f 100644 --- a/src/utils/responseParser/rpc.ts +++ b/src/utils/responseParser/rpc.ts @@ -5,20 +5,22 @@ import type { ContractClassPayload, ContractClassResponse, - EstimateFeeResponse, - EstimateFeeResponseBulk, - FeeEstimate, GetBlockResponse, GetTxReceiptResponseWithoutHelper, RpcProviderOptions, SimulateTransactionResponse, BlockWithTxHashes, + SimulateTransactionOverheadResponse, + EstimateFeeResponseBulkOverhead, } from '../../provider/types/index.type'; -import { toBigInt, tryToBigInt } from '../num'; import { isString } from '../typed'; -import { estimateFeeToBounds, estimatedFeeToMaxFee } from '../stark'; +import { toOverheadOverallFee, toOverheadResourceBounds } from '../stark'; import { ResponseParser } from './interface'; -import { SimulateTransaction, TransactionReceipt } from '../../provider/types/spec.type'; +import { + ApiEstimateFeeResponse, + SimulateTransaction, + TransactionReceipt, +} from '../../provider/types/spec.type'; // import { TransactionReceipt } from '../../types/api/merge'; export class RPCResponseParser @@ -33,18 +35,10 @@ export class RPCResponseParser | 'parseCallContractResponse' > { - private margin: RpcProviderOptions['feeMarginPercentage']; + private resourceBoundsOverhead: RpcProviderOptions['resourceBoundsOverhead']; - constructor(margin?: RpcProviderOptions['feeMarginPercentage']) { - this.margin = margin; - } - - private estimatedFeeToMaxFee(estimatedFee: Parameters[0]) { - return estimatedFeeToMaxFee(estimatedFee, this.margin?.maxFee); - } - - private estimateFeeToBounds(estimate: Parameters[0]) { - return estimateFeeToBounds(estimate, this.margin?.bounds); + constructor(resourceBoundsOverhead?: RpcProviderOptions['resourceBoundsOverhead']) { + this.resourceBoundsOverhead = resourceBoundsOverhead; } public parseGetBlockResponse(res: BlockWithTxHashes): GetBlockResponse { @@ -55,56 +49,25 @@ export class RPCResponseParser return res as GetTxReceiptResponseWithoutHelper; } - public parseFeeEstimateResponse(res: FeeEstimate[]): EstimateFeeResponse { - const val = res[0]; - return { - overall_fee: toBigInt(val.overall_fee), - unit: val.unit, - - l1_gas_consumed: tryToBigInt(val.l1_gas_consumed) ?? tryToBigInt(val.gas_consumed) ?? 0n, - l1_gas_price: tryToBigInt(val.l1_gas_price) ?? tryToBigInt(val.gas_price) ?? 0n, - l2_gas_consumed: tryToBigInt(val.l2_gas_consumed) ?? undefined, - l2_gas_price: tryToBigInt(val.l2_gas_price) ?? undefined, - l1_data_gas_consumed: - tryToBigInt(val.l1_data_gas_consumed) ?? tryToBigInt(val.data_gas_consumed) ?? 0n, - l1_data_gas_price: tryToBigInt(val.l1_data_gas_price) ?? tryToBigInt(val.gas_price) ?? 0n, - - suggestedMaxFee: this.estimatedFeeToMaxFee(val.overall_fee), - resourceBounds: this.estimateFeeToBounds(val), - }; - } - - public parseFeeEstimateBulkResponse(res: FeeEstimate[]): EstimateFeeResponseBulk { + public parseFeeEstimateBulkResponse( + res: ApiEstimateFeeResponse + ): EstimateFeeResponseBulkOverhead { return res.map((val) => ({ - overall_fee: toBigInt(val.overall_fee), + resourceBounds: toOverheadResourceBounds(val, this.resourceBoundsOverhead), + overall_fee: toOverheadOverallFee(val, this.resourceBoundsOverhead), unit: val.unit, - - l1_gas_consumed: tryToBigInt(val.l1_gas_consumed) ?? tryToBigInt(val.gas_consumed) ?? 0n, - l1_gas_price: tryToBigInt(val.l1_gas_price) ?? tryToBigInt(val.gas_price) ?? 0n, - l2_gas_consumed: tryToBigInt(val.l2_gas_consumed) ?? undefined, - l2_gas_price: tryToBigInt(val.l2_gas_price) ?? undefined, - l1_data_gas_consumed: - tryToBigInt(val.l1_data_gas_consumed) ?? tryToBigInt(val.data_gas_consumed) ?? 0n, - l1_data_gas_price: tryToBigInt(val.l1_data_gas_price) ?? tryToBigInt(val.gas_price) ?? 0n, - - suggestedMaxFee: this.estimatedFeeToMaxFee(val.overall_fee), - resourceBounds: this.estimateFeeToBounds(val), })); } public parseSimulateTransactionResponse( - // TODO: revisit - // set as 'any' to avoid a mapped type circular recursion error stemming from - // merging src/types/api/rpcspec*/components/FUNCTION_INVOCATION.calls - // - // res: SimulateTransactionResponse - res: any - ): SimulateTransactionResponse { + res: SimulateTransactionResponse + ): SimulateTransactionOverheadResponse { return res.map((it: SimulateTransaction) => { return { - ...it, - suggestedMaxFee: this.estimatedFeeToMaxFee(it.fee_estimation.overall_fee), - resourceBounds: this.estimateFeeToBounds(it.fee_estimation), + transaction_trace: it.transaction_trace, + resourceBounds: toOverheadResourceBounds(it.fee_estimation, this.resourceBoundsOverhead), + overall_fee: toOverheadOverallFee(it.fee_estimation, this.resourceBoundsOverhead), + unit: it.fee_estimation.unit, }; }); } diff --git a/src/utils/shortString.ts b/src/utils/shortString.ts index 28d0eb26b..8861a6ce4 100644 --- a/src/utils/shortString.ts +++ b/src/utils/shortString.ts @@ -62,7 +62,7 @@ export function isDecimalString(str: string): boolean { * // result = false * ``` */ -export function isText(val: any): boolean { +export function isText(val: any): val is string { return isString(val) && !isHex(val) && !isStringWholeNumber(val); } @@ -106,6 +106,7 @@ export function splitLongString(longStr: string): string[] { } /** + * @deprecated use Utf8 instead * Convert an ASCII short string to a hexadecimal string. * @param {string} str short string (ASCII string, 31 characters max) * @returns {string} hex-string with 248 bits max @@ -122,6 +123,7 @@ export function encodeShortString(str: string): string { } /** + * @deprecated use Utf8 instead * Convert a hexadecimal or decimal string to an ASCII string. * @param {string} str representing a 248 bit max number (ex. "0x1A4F64EA56" or "236942575435676423") * @returns {string} short string; 31 characters max diff --git a/src/utils/stark/index.ts b/src/utils/stark/index.ts index 4ac141e07..1d76beb7b 100644 --- a/src/utils/stark/index.ts +++ b/src/utils/stark/index.ts @@ -1,19 +1,15 @@ import { getPublicKey, getStarkKey, utils } from '@scure/starknet'; import { gzip, ungzip } from 'pako'; - -import { PRICE_UNIT } from '@starknet-io/starknet-types-08'; import { config } from '../../global/config'; -import { SupportedRpcVersion, ZERO } from '../../global/constants'; -import { FeeEstimate } from '../../provider/types/index.type'; +import { EstimateFeeResponseOverhead, FeeEstimate } from '../../provider/types/index.type'; import { EDAMode, EDataAvailabilityMode, ETransactionVersion, - isRPC08_FeeEstimate, + ETransactionVersion3, ResourceBounds, + ResourceBoundsBN, ResourceBoundsOverhead, - ResourceBoundsOverheadRPC07, - ResourceBoundsOverheadRPC08, } from '../../provider/types/spec.type'; import { ArraySignatureType, @@ -37,10 +33,7 @@ import { bigNumberishArrayToHexadecimalStringArray, toHex, } from '../num'; -import { isVersion } from '../resolve'; -import { isBigInt, isString } from '../typed'; -import { estimateFeeToBounds as estimateFeeToBoundsRPC07 } from './rpc07'; -import { estimateFeeToBounds as estimateFeeToBoundsRPC08 } from './rpc08'; +import { isBigInt, isObject, isString } from '../typed'; type V3Details = Required< Pick< @@ -182,70 +175,153 @@ export function signatureToHexArray(sig?: Signature): ArraySignatureType { } /** - * Convert estimated fee to max fee including a margin - * @param {BigNumberish} estimatedFee - The estimated fee - * @param {number} [overhead] - The overhead added to the gas - * @returns {bigint} The maximum fee with the margin - * @example - * ```typescript - * const result = stark.estimatedFeeToMaxFee("8982300000000", 50); - * // result = "13473450000000n" - * ``` + * Returns a resource bounds with zero values and no overhead. + * @returns {ResourceBoundsBN} A resource bounds with zero values and no overhead. */ -export function estimatedFeeToMaxFee( - estimatedFee: BigNumberish, - overhead: number = config.get('feeMarginPercentage').maxFee -): bigint { - return addPercent(estimatedFee, overhead); +export function zeroResourceBounds(): ResourceBoundsBN { + return toOverheadResourceBounds(ZeroFeeEstimate(), false); } /** * Calculates the maximum resource bounds for fee estimation. * - * @param {FeeEstimate | 0n} estimate The estimate for the fee. If a BigInt is provided, the returned bounds will be set to '0x0'. - * @param {ResourceBoundsOverhead} [overhead] - The percentage overhead added to the max units and max price per unit. - * @returns {ResourceBounds} The resource bounds with overhead. + * @param {FeeEstimate} estimate The estimate for the fee. + * @param {ResourceBoundsOverhead | false} [overhead] - The percentage overhead added to the max units and max price per unit. Pass `false` to disable overhead. + * @returns {ResourceBoundsBN} The resource bounds with overhead represented as BigInt. * @throws {Error} If the estimate object is undefined or does not have the required properties. */ -export function estimateFeeToBounds( - estimate: FeeEstimate | 0n, - overhead: ResourceBoundsOverhead = config.get('feeMarginPercentage').bounds, - specVersion?: SupportedRpcVersion -): ResourceBounds { - if (isBigInt(estimate)) { - return { - l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - l1_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - ...(specVersion && - isVersion('0.8', specVersion) && { - l1_data_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - }), - }; - } +export function toOverheadResourceBounds( + estimate: FeeEstimate, + overhead: ResourceBoundsOverhead | false = config.get('resourceBoundsOverhead') +): ResourceBoundsBN { + return { + l2_gas: { + max_amount: addPercent( + estimate.l2_gas_consumed, + overhead !== false ? overhead.l2_gas.max_amount : 0 + ), + max_price_per_unit: addPercent( + estimate.l2_gas_price, + overhead !== false ? overhead.l2_gas.max_price_per_unit : 0 + ), + }, + l1_gas: { + max_amount: addPercent( + estimate.l1_gas_consumed, + overhead !== false ? overhead.l1_gas.max_amount : 0 + ), + max_price_per_unit: addPercent( + estimate.l1_gas_price, + overhead !== false ? overhead.l1_gas.max_price_per_unit : 0 + ), + }, + l1_data_gas: { + max_amount: addPercent( + estimate.l1_data_gas_consumed, + overhead !== false ? overhead.l1_data_gas.max_amount : 0 + ), + max_price_per_unit: addPercent( + estimate.l1_data_gas_price, + overhead !== false ? overhead.l1_data_gas.max_price_per_unit : 0 + ), + }, + }; +} - if (isRPC08_FeeEstimate(estimate)) { - return estimateFeeToBoundsRPC08(estimate, overhead as ResourceBoundsOverheadRPC08); // TODO: remove as - } - return estimateFeeToBoundsRPC07(estimate, overhead as ResourceBoundsOverheadRPC07); // TODO: remove as +/** + * Converts a resource bounds to an estimate fee response. No overhead is applied. + * @param {ResourceBoundsBN} resourceBounds - The resource bounds to convert. + * @returns {EstimateFeeResponseOverhead} The estimate fee response. + * @example + * ```typescript + * const resourceBounds = { + * l1_gas: { max_amount: 1000n, max_price_per_unit: 100n }, + * l2_gas: { max_amount: 2000n, max_price_per_unit: 200n }, + * l1_data_gas: { max_amount: 500n, max_price_per_unit: 50n } + * }; + * const result = stark.resourceBoundsToEstimateFeeResponse(resourceBounds); + * // result = { + * // resourceBounds: resourceBounds, + * // overall_fee: 129000n, + * // unit: 'FRI' + * // } + * ``` + */ +export function resourceBoundsToEstimateFeeResponse( + resourceBounds: ResourceBoundsBN +): EstimateFeeResponseOverhead { + return { + resourceBounds, + /** + * maximum overall fee for provided resource bounds + */ + overall_fee: + resourceBounds.l1_gas.max_amount * resourceBounds.l1_gas.max_price_per_unit + + resourceBounds.l1_data_gas.max_amount * resourceBounds.l1_data_gas.max_price_per_unit + + resourceBounds.l2_gas.max_amount * resourceBounds.l2_gas.max_price_per_unit, + unit: 'FRI', + }; } -export type feeOverhead = ResourceBounds; +/** + * Calculates the overall fee for a transaction based on resource consumption and prices. + * + * The estimated fee for the transaction (in wei or fri, depending on the tx version), equals to: + * l1_gas_consumed*l1_gas_price + l1_data_gas_consumed*l1_data_gas_price + l2_gas_consumed*l2_gas_price + * + * @param {FeeEstimate} estimate - The fee estimate containing gas consumption and price data + * @param {ResourceBoundsOverhead | false} overhead - The overhead percentage. Pass `false` to disable overhead. + * @returns {bigint} The calculated overall fee in wei or fri + * @example + * ```typescript + * const estimate = { + * l1_gas_consumed: 1000n, + * l1_gas_price: 100n, + * l1_data_gas_consumed: 500n, + * l1_data_gas_price: 50n, + * l2_gas_consumed: 200n, + * l2_gas_price: 20n + * }; + * const result = stark.toOverheadOverallFee(estimate, overhead); + * // result = 1000n * 100n + 500n * 50n + 200n * 20n = 129000n + * ``` + */ +export function toOverheadOverallFee( + estimate: FeeEstimate, + overhead: ResourceBoundsOverhead | false = config.get('resourceBoundsOverhead') +): bigint { + return ( + addPercent(estimate.l1_gas_consumed, overhead !== false ? overhead.l1_gas.max_amount : 0) * + addPercent( + estimate.l1_gas_price, + overhead !== false ? overhead.l1_gas.max_price_per_unit : 0 + ) + + addPercent( + estimate.l1_data_gas_consumed, + overhead !== false ? overhead.l1_data_gas.max_amount : 0 + ) * + addPercent( + estimate.l1_data_gas_price, + overhead !== false ? overhead.l1_data_gas.max_price_per_unit : 0 + ) + + addPercent(estimate.l2_gas_consumed, overhead !== false ? overhead.l2_gas.max_amount : 0) * + addPercent(estimate.l2_gas_price, overhead !== false ? overhead.l2_gas.max_price_per_unit : 0) + ); +} /** - * Mock zero fee response + * Mock zero fee API response */ -export function ZEROFee(specVersion: SupportedRpcVersion) { +export function ZeroFeeEstimate(): FeeEstimate { return { - l1_gas_consumed: 0n, - l1_gas_price: 0n, - l1_data_gas_consumed: 0n, - l1_data_gas_price: 0n, - l2_gas_consumed: 0n, - l2_gas_price: 0n, - overall_fee: ZERO, - unit: 'FRI' as PRICE_UNIT, - suggestedMaxFee: ZERO, - resourceBounds: estimateFeeToBounds(ZERO, undefined, specVersion), + l1_gas_consumed: '0', + l1_gas_price: '0', + l1_data_gas_consumed: '0', + l1_data_gas_price: '0', + l2_gas_consumed: '0', + l2_gas_price: '0', + overall_fee: '0', + unit: 'FRI', }; } @@ -268,33 +344,29 @@ export function intDAM(dam: EDataAvailabilityMode): EDAMode { } /** - * Convert to ETransactionVersion or throw an error. - * Return providedVersion is specified else return defaultVersion - * @param {BigNumberish} defaultVersion default estimate transaction version - * @param {BigNumberish} [providedVersion] estimate transaction version - * @returns {ETransactionVersion} if providedVersion is not provided, returns the default estimate version, else return the provided version - * @throws {Error} if estimate transaction version or default estimate transaction version is unknown + * Convert input versions to ETransactionVersion or throw an error. + * Returns providedVersion if specified, otherwise returns defaultVersion. + * @param {BigNumberish} defaultVersion - The default transaction version to use if providedVersion is not specified + * @param {BigNumberish} [providedVersion] - Optional transaction version that takes precedence if provided + * @returns {ETransactionVersion} The transaction version - either providedVersion if specified or defaultVersion + * @throws {Error} If either version is not a valid ETransactionVersion * @example * ```typescript * const result = stark.toTransactionVersion("0x100000000000000000000000000000003", stark.toFeeVersion(2)); * // result = "0x100000000000000000000000000000002" * ``` */ -export function toTransactionVersion( - defaultVersion: BigNumberish, - providedVersion?: BigNumberish -): ETransactionVersion { - const providedVersion0xs = providedVersion ? toHex(providedVersion) : undefined; - const defaultVersion0xs = toHex(defaultVersion); +export function toTransactionVersion(defaultVersion: BigNumberish, providedVersion?: BigNumberish) { + const version = providedVersion ? toHex(providedVersion) : toHex(defaultVersion); + const validVersions = Object.values(ETransactionVersion3); - if (providedVersion && !Object.values(ETransactionVersion).includes(providedVersion0xs as any)) { - throw Error(`providedVersion ${providedVersion} is not ETransactionVersion`); - } - if (!Object.values(ETransactionVersion).includes(defaultVersion0xs as any)) { - throw Error(`defaultVersion ${defaultVersion} is not ETransactionVersion`); + if (!validVersions.includes(version as ETransactionVersion3)) { + throw Error( + `${providedVersion ? 'providedVersion' : 'defaultVersion'} ${version} is not ETransactionVersion` + ); } - return (providedVersion ? providedVersion0xs : defaultVersion0xs) as ETransactionVersion; + return version as ETransactionVersion3; } /** @@ -342,37 +414,17 @@ export function toFeeVersion(providedVersion?: BigNumberish): ETransactionVersio * ``` */ -export function v3Details(details: UniversalDetails, specVersion?: SupportedRpcVersion): V3Details { +export function v3Details(details: UniversalDetails): V3Details { return { tip: details.tip || 0, paymasterData: details.paymasterData || [], accountDeploymentData: details.accountDeploymentData || [], nonceDataAvailabilityMode: details.nonceDataAvailabilityMode || EDataAvailabilityMode.L1, feeDataAvailabilityMode: details.feeDataAvailabilityMode || EDataAvailabilityMode.L1, - resourceBounds: details.resourceBounds ?? estimateFeeToBounds(ZERO, undefined, specVersion), + resourceBounds: details.resourceBounds ?? zeroResourceBounds(), }; } -/** - * It will reduce V2 to V1, else (V3) stay the same - * F2 -> F1 - * V2 -> V1 - * F3 -> F3 - * V3 -> V3 - * @param {ETransactionVersion} providedVersion - * @returns {ETransactionVersion} if v2 then returns v1. if v3 then return v3 - * @example - * ```typescript - * const result = stark.reduceV2(constants.TRANSACTION_VERSION.V2); - * // result = "0x1" - * ``` - */ -export function reduceV2(providedVersion: ETransactionVersion): ETransactionVersion { - if (providedVersion === ETransactionVersion.F2) return ETransactionVersion.F1; - if (providedVersion === ETransactionVersion.V2) return ETransactionVersion.V1; - return providedVersion; -} - /** * get the hex string of the full public key related to a Starknet private key. * @param {BigNumberish} privateKey a 252 bits private key. @@ -388,3 +440,79 @@ export function getFullPublicKey(privateKey: BigNumberish): string { const fullPrivKey = addHexPrefix(buf2hex(getPublicKey(privKey, false))); return fullPrivKey; } + +/** + * Converts ResourceBoundsBN (with bigint values) to ResourceBounds (with string values) + * + * @param {ResourceBoundsBN} resourceBoundsBN The resource bounds with bigint values + * @returns {ResourceBounds} The resource bounds with hex string values + * @example + * ```typescript + * const resourceBoundsBN = { + * l1_gas: { max_amount: 1000n, max_price_per_unit: 100n }, + * l2_gas: { max_amount: 2000n, max_price_per_unit: 200n }, + * l1_data_gas: { max_amount: 500n, max_price_per_unit: 50n } + * }; + * const result = stark.resourceBoundsToHexString(resourceBoundsBN); + * // result = { + * // l1_gas: { max_amount: '0x3e8', max_price_per_unit: '0x64' }, + * // l2_gas: { max_amount: '0x7d0', max_price_per_unit: '0xc8' }, + * // l1_data_gas: { max_amount: '0x1f4', max_price_per_unit: '0x32' } + * // } + * ``` + */ +export function resourceBoundsToHexString(resourceBoundsBN: ResourceBoundsBN): ResourceBounds { + const convertBigIntToHex = (obj: any): any => { + if (isBigInt(obj)) { + return toHex(obj); + } + if (isObject(obj)) { + const result: any = {}; + Object.keys(obj).forEach((key) => { + result[key] = convertBigIntToHex(obj[key as keyof typeof obj]); + }); + return result; + } + return obj; + }; + + return convertBigIntToHex(resourceBoundsBN) as ResourceBounds; +} + +/** + * Converts ResourceBounds (with string values) to ResourceBoundsBN (with BigInt values) + * + * @param {ResourceBounds} resourceBounds The resource bounds with string values + * @returns {ResourceBoundsBN} The resource bounds with BigInt values + * @example + * ```typescript + * const resourceBounds = { + * l1_gas: { max_amount: '0x3e8', max_price_per_unit: '0x64' }, + * l2_gas: { max_amount: '0x7d0', max_price_per_unit: '0xc8' }, + * l1_data_gas: { max_amount: '0x1f4', max_price_per_unit: '0x32' } + * }; + * const result = stark.resourceBoundsToBigInt(resourceBounds); + * // result = { + * // l1_gas: { max_amount: 1000n, max_price_per_unit: 100n }, + * // l2_gas: { max_amount: 2000n, max_price_per_unit: 200n }, + * // l1_data_gas: { max_amount: 500n, max_price_per_unit: 50n } + * // } + * ``` + */ +export function resourceBoundsToBigInt(resourceBounds: ResourceBounds): ResourceBoundsBN { + const convertStringToBigInt = (obj: any): any => { + if (isString(obj)) { + return BigInt(obj); + } + if (isObject(obj)) { + const result: any = {}; + Object.keys(obj).forEach((key) => { + result[key] = convertStringToBigInt(obj[key as keyof typeof obj]); + }); + return result; + } + return obj; + }; + + return convertStringToBigInt(resourceBounds) as ResourceBoundsBN; +} diff --git a/src/utils/stark/rpc07.ts b/src/utils/stark/rpc07.ts deleted file mode 100644 index fc1b547de..000000000 --- a/src/utils/stark/rpc07.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** Implementation for RPC 0.7 */ -import { ResourceBoundsOverheadRPC07 } from '../../provider/types/spec.type'; -import { RPCSPEC07 } from '../../types/api'; -import { addPercent, toHex } from '../num'; - -export function estimateFeeToBounds( - estimate: RPCSPEC07.FeeEstimate, - overhead: ResourceBoundsOverheadRPC07 -): RPCSPEC07.ResourceBounds { - const maxUnits = - estimate.data_gas_consumed !== undefined && estimate.data_gas_price !== undefined - ? toHex( - addPercent( - BigInt(estimate.overall_fee) / BigInt(estimate.gas_price), - overhead.l1_gas.max_amount - ) - ) - : toHex(addPercent(estimate.gas_consumed, overhead.l1_gas.max_amount)); - const maxUnitPrice = toHex(addPercent(estimate.gas_price, overhead.l1_gas.max_price_per_unit)); - - return { - l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - l1_gas: { max_amount: maxUnits, max_price_per_unit: maxUnitPrice }, - }; -} diff --git a/src/utils/stark/rpc08.ts b/src/utils/stark/rpc08.ts deleted file mode 100644 index d1a8a8729..000000000 --- a/src/utils/stark/rpc08.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** Implementation for RPC 0.8 */ - -import { ResourceBoundsOverheadRPC08 } from '../../provider/types/spec.type'; -import { RPCSPEC08 } from '../../types/api'; -import { addPercent, toHex } from '../num'; - -export function estimateFeeToBounds( - estimate: RPCSPEC08.FeeEstimate, - overhead: ResourceBoundsOverheadRPC08 -): RPCSPEC08.ResourceBounds { - return { - l2_gas: { - max_amount: toHex(addPercent(estimate.l2_gas_consumed, overhead.l2_gas.max_amount)), - max_price_per_unit: toHex( - addPercent(estimate.l2_gas_price, overhead.l2_gas.max_price_per_unit) - ), - }, - l1_gas: { - max_amount: toHex(addPercent(estimate.l1_gas_consumed, overhead.l1_gas.max_amount)), - max_price_per_unit: toHex( - addPercent(estimate.l1_gas_price, overhead.l1_gas.max_price_per_unit) - ), - }, - l1_data_gas: { - max_amount: toHex(addPercent(estimate.l1_data_gas_consumed, overhead.l1_data_gas.max_amount)), - max_price_per_unit: toHex( - addPercent(estimate.l1_data_gas_price, overhead.l1_data_gas.max_price_per_unit) - ), - }, - }; -} diff --git a/src/utils/transaction/getCompiledCalldata.ts b/src/utils/transaction/getCompiledCalldata.ts new file mode 100644 index 000000000..52f699672 --- /dev/null +++ b/src/utils/transaction/getCompiledCalldata.ts @@ -0,0 +1,17 @@ +import type { Calldata, RawArgs } from '../../types/lib'; + +/** + * Extract compiled calldata from args or execute callback + */ +export function getCompiledCalldata(constructorArguments: RawArgs, callback: Function): Calldata { + // Check if Calldata in args or args[0] else compile + if (Array.isArray(constructorArguments) && '__compiled__' in constructorArguments) + return constructorArguments as Calldata; + if ( + Array.isArray(constructorArguments) && + Array.isArray(constructorArguments[0]) && + '__compiled__' in constructorArguments[0] + ) + return constructorArguments[0] as Calldata; + return callback(); +} diff --git a/src/utils/transaction/index.ts b/src/utils/transaction/index.ts new file mode 100644 index 000000000..76ec07d36 --- /dev/null +++ b/src/utils/transaction/index.ts @@ -0,0 +1,2 @@ +export * from './getCompiledCalldata'; +export * from './transaction'; diff --git a/src/utils/transaction.ts b/src/utils/transaction/transaction.ts similarity index 69% rename from src/utils/transaction.ts rename to src/utils/transaction/transaction.ts index 152d98454..52afacbe0 100644 --- a/src/utils/transaction.ts +++ b/src/utils/transaction/transaction.ts @@ -1,19 +1,8 @@ -import { UDC } from '../global/constants'; -import { ETransactionVersion } from '../provider/types/spec.type'; -import { - BigNumberish, - CairoVersion, - Call, - Calldata, - ParsedStruct, - RawArgs, - UniversalDeployerContractPayload, -} from '../types'; -import { CallData } from './calldata'; -import { starkCurve } from './ec'; -import { calculateContractAddressFromHash, getSelectorFromName } from './hash'; -import { toBigInt, toCairoBool } from './num'; -import { randomAddress } from './stark'; +import { ETransactionVersion } from '../../provider/types/spec.type'; +import { BigNumberish, CairoVersion, Call, Calldata, ParsedStruct, RawArgs } from '../../types'; +import { CallData } from '../calldata'; +import { getSelectorFromName } from '../hash'; +import { toBigInt } from '../num'; /** * Transforms a list of Calls, each with their own calldata, into @@ -170,75 +159,6 @@ export const getExecuteCalldata = (calls: Call[], cairoVersion: CairoVersion = ' return fromCallsToExecuteCalldata(calls); }; -/** - * Builds a UDCCall object. - * - * @param {UniversalDeployerContractPayload | UniversalDeployerContractPayload[]} payload the payload data for the UDCCall. Can be a single payload object or an array of payload objects. - * @param {string} address the address to be used in the UDCCall - * @returns { calls: Call[], addresses: string[] } the UDCCall object containing an array of calls and an array of addresses. - * @example - * ```typescript - * const payload: UniversalDeployerContractPayload = { - * classHash: "0x1234567890123456789012345678901234567890", - * salt: "0x0987654321098765432109876543210987654321", - * unique:true, - * constructorCalldata: [1, 2, 3] - * }; - * const address = "0xABCDEF1234567890ABCDEF1234567890ABCDEF12"; - * const result = transaction.buildUDCCall(payload, address); - * // result = { - * // calls: [ - * // { - * // contractAddress: "0xABCDEF1234567890ABCDEF1234567890ABCDEF12", - * // entrypoint: "functionName", - * // calldata: [classHash, salt, true, 3, 1, 2, 3] - * // }], - * // addresses: ["0x6fD084B56a7EDc5C06B3eB40f97Ae5A0C707A865"] - * // } - * ``` - */ -export function buildUDCCall( - payload: UniversalDeployerContractPayload | UniversalDeployerContractPayload[], - address: string -) { - const params = [].concat(payload as []).map((it) => { - const { - classHash, - salt, - unique = true, - constructorCalldata = [], - } = it as UniversalDeployerContractPayload; - - const compiledConstructorCallData = CallData.compile(constructorCalldata); - const deploySalt = salt ?? randomAddress(); - - return { - call: { - contractAddress: UDC.ADDRESS, - entrypoint: UDC.ENTRYPOINT, - calldata: [ - classHash, - deploySalt, - toCairoBool(unique), - compiledConstructorCallData.length, - ...compiledConstructorCallData, - ], - }, - address: calculateContractAddressFromHash( - unique ? starkCurve.pedersen(address, deploySalt) : deploySalt, - classHash, - compiledConstructorCallData, - unique ? UDC.ADDRESS : 0 - ), - }; - }); - - return { - calls: params.map((it) => it.call), - addresses: params.map((it) => it.address), - }; -} - /** * Return transaction versions based on version type, default version type is 'transaction'. * @param {'fee' | 'transaction'} [versionType] the type of version ("fee" or "transaction") @@ -256,9 +176,7 @@ export function buildUDCCall( export function getVersionsByType(versionType?: 'fee' | 'transaction') { return versionType === 'fee' ? { - v1: ETransactionVersion.F1, - v2: ETransactionVersion.F2, v3: ETransactionVersion.F3, } - : { v1: ETransactionVersion.V1, v2: ETransactionVersion.V2, v3: ETransactionVersion.V3 }; + : { v3: ETransactionVersion.V3 }; } diff --git a/src/utils/transactionReceipt/transactionReceipt.ts b/src/utils/transactionReceipt/transactionReceipt.ts index affa28d48..1b26b2b43 100644 --- a/src/utils/transactionReceipt/transactionReceipt.ts +++ b/src/utils/transactionReceipt/transactionReceipt.ts @@ -7,6 +7,9 @@ import { } from '../../types'; import type { GetTransactionReceiptResponse, + SuccessfulTransactionReceiptResponseHelper, + RevertedTransactionReceiptResponseHelper, + ErrorReceiptResponseHelper, TransactionReceiptCallbacks, TransactionReceiptCallbacksDefault, TransactionReceiptStatus, @@ -14,6 +17,16 @@ import type { } from './transactionReceipt.type'; /** + * !! Main design decision: + * Class can't extend GetTransactionReceiptResponse because it is union type + * and it is not possible to extend union type in current typescript version + * So we have to use factory function to create 'data' return type and inject constructor + * + * ERROR case left but in library flow it is not possible as fetch would throw on error before it could be read by Helper + */ + +/** + * @deprecated Use `createTransactionReceipt` instead * Utility that analyses transaction receipt response and provides helpers to process it * @example * ```typescript @@ -29,58 +42,75 @@ import type { * } * ``` */ -export class ReceiptTx implements GetTransactionReceiptResponse { - public readonly statusReceipt: TransactionReceiptStatus; +// Legacy class for backward compatibility (defined first for prototype hack) +export class ReceiptTx { + public readonly statusReceipt!: TransactionReceiptStatus; - public readonly value: TransactionReceiptValue; + public readonly value!: TransactionReceiptValue; constructor(receipt: GetTxReceiptResponseWithoutHelper) { - [this.statusReceipt, this.value] = ReceiptTx.isSuccess(receipt) - ? ['success', receipt] + // Copy all receipt properties to this instance + Object.assign(this, receipt); + + // Determine status and value + const [statusReceipt, value] = ReceiptTx.isSuccess(receipt) + ? ['SUCCEEDED', receipt] : ReceiptTx.isReverted(receipt) - ? ['reverted', receipt] - : ['error', new Error('Unknown response type')]; - // eslint-disable-next-line no-restricted-syntax - for (const [key] of Object.entries(this)) { - Object.defineProperty(this, key, { - enumerable: false, - }); - } - // eslint-disable-next-line no-restricted-syntax - for (const [key, value] of Object.entries(receipt)) { - Object.defineProperty(this, key, { - enumerable: true, + ? ['REVERTED', receipt] + : ['ERROR', new Error('Unknown response type')]; + + // Define statusReceipt and value as non-enumerable properties + Object.defineProperties(this, { + statusReceipt: { + value: statusReceipt, writable: false, + enumerable: false, + configurable: false, + }, + value: { value, - }); - } - } - - match(callbacks: TransactionReceiptCallbacks) { - if (this.statusReceipt in callbacks) { - return callbacks[this.statusReceipt]!(this.value as any); - } - return (callbacks as TransactionReceiptCallbacksDefault)._(); - } - - isSuccess(): this is GetTransactionReceiptResponse<'success'> { - return this.statusReceipt === 'success'; + writable: false, + enumerable: false, + configurable: false, + }, + match: { + value(callbacks: TransactionReceiptCallbacks) { + return statusReceipt in callbacks + ? (callbacks as any)[statusReceipt]!(value) + : (callbacks as TransactionReceiptCallbacksDefault)._(); + }, + writable: false, + enumerable: false, + configurable: false, + }, + isSuccess: { + value: () => statusReceipt === 'SUCCEEDED', + writable: false, + enumerable: false, + configurable: false, + }, + isReverted: { + value: () => statusReceipt === 'REVERTED', + writable: false, + enumerable: false, + configurable: false, + }, + isError: { + value: () => statusReceipt === 'ERROR', + writable: false, + enumerable: false, + configurable: false, + }, + }); } - isReverted(): this is GetTransactionReceiptResponse<'reverted'> { - return this.statusReceipt === 'reverted'; - } + match!: (callbacks: TransactionReceiptCallbacks) => void; - // TODO: Missing is Pending or Production block + isSuccess!: () => this is SuccessfulTransactionReceiptResponseHelper; - // Status do not exist on receipts - /* isRejected(): this is RejectedTransactionReceiptResponse { - return this.statusReceipt === 'rejected'; - } */ + isReverted!: () => this is RevertedTransactionReceiptResponseHelper; - isError(): this is GetTransactionReceiptResponse<'error'> { - return this.statusReceipt === 'error'; - } + isError!: () => this is ErrorReceiptResponseHelper; static isSuccess( transactionReceipt: GetTxReceiptResponseWithoutHelper @@ -93,16 +123,96 @@ export class ReceiptTx implements GetTransactionReceiptResponse { ): transactionReceipt is RevertedTransactionReceiptResponse { return transactionReceipt.execution_status === TransactionExecutionStatus.REVERTED; } - - // Status do not exist on receipts - /* static isRejected( - transactionReceipt: GetTxReceiptResponseWithoutHelper - ): transactionReceipt is RejectedTransactionReceiptResponse { - return ( - (transactionReceipt as RejectedTransactionReceiptResponse).status === - TransactionExecutionStatus.REJECTED - ); - } */ } -// export type GetTransactionReceiptResponse = GetTxReceiptResponseWithoutHelper & ReceiptTx; +// Receipt configuration mapping - data-driven approach +const RECEIPT_CONFIG = { + [TransactionExecutionStatus.SUCCEEDED]: { + statusReceipt: 'SUCCEEDED' as const, + getBaseData: (receipt: GetTxReceiptResponseWithoutHelper) => receipt, + getValue: (receipt: GetTxReceiptResponseWithoutHelper) => + receipt as SuccessfulTransactionReceiptResponse, + }, + [TransactionExecutionStatus.REVERTED]: { + statusReceipt: 'REVERTED' as const, + getBaseData: (receipt: GetTxReceiptResponseWithoutHelper) => receipt, + getValue: (receipt: GetTxReceiptResponseWithoutHelper) => + receipt as RevertedTransactionReceiptResponse, + }, +} as const; + +/** + * Creates a transaction receipt response object with helpers + * @param receipt - The transaction receipt response from the provider + * @returns A transaction receipt response object with helpers + */ +export function createTransactionReceipt( + receipt: GetTxReceiptResponseWithoutHelper +): GetTransactionReceiptResponse { + const config = RECEIPT_CONFIG[receipt.execution_status]; + + let obj: any; + + if (config) { + const { statusReceipt, getBaseData, getValue } = config; + const value = getValue(receipt); + + obj = { + ...getBaseData(receipt), + statusReceipt, + value, + match(callbacks: TransactionReceiptCallbacks) { + return statusReceipt in callbacks + ? (callbacks as any)[statusReceipt]!(value) + : (callbacks as TransactionReceiptCallbacksDefault)._(); + }, + // @ts-ignore - docs + isSuccess(): this is SuccessfulTransactionReceiptResponseHelper { + return statusReceipt === 'SUCCEEDED'; + }, + // @ts-ignore - docs + isReverted(): this is RevertedTransactionReceiptResponseHelper { + return statusReceipt === 'REVERTED'; + }, + // @ts-ignore - docs + isError(): this is ErrorReceiptResponseHelper { + return false; + }, + }; + } else { + // Error case + const errorValue = new Error('Unknown response type'); + obj = { + statusReceipt: 'ERROR' as const, + value: errorValue, + match(callbacks: TransactionReceiptCallbacks) { + return 'ERROR' in callbacks + ? callbacks.ERROR!(errorValue) + : (callbacks as TransactionReceiptCallbacksDefault)._(); + }, + // @ts-ignore - docs + isSuccess(): this is SuccessfulTransactionReceiptResponseHelper { + return false; + }, + // @ts-ignore - docs + isReverted(): this is RevertedTransactionReceiptResponseHelper { + return false; + }, + // @ts-ignore - docs + isError(): this is ErrorReceiptResponseHelper { + return true; + }, + }; + } + + // 🔥 HACK: Make it look like ReceiptTx instance for instanceof checks + Object.setPrototypeOf(obj, ReceiptTx.prototype); + Object.defineProperty(obj, 'constructor', { + value: ReceiptTx, + writable: false, + enumerable: false, + configurable: false, + }); + + return obj as GetTransactionReceiptResponse; +} diff --git a/src/utils/transactionReceipt/transactionReceipt.type.ts b/src/utils/transactionReceipt/transactionReceipt.type.ts index 1ae61c0e9..622d85397 100644 --- a/src/utils/transactionReceipt/transactionReceipt.type.ts +++ b/src/utils/transactionReceipt/transactionReceipt.type.ts @@ -3,37 +3,67 @@ import { SuccessfulTransactionReceiptResponse, } from '../../provider/types/index.type'; +// Keep these for backward compatibility export type TransactionStatusReceiptSets = { - success: SuccessfulTransactionReceiptResponse; - reverted: RevertedTransactionReceiptResponse; - // rejected: RejectedTransactionReceiptResponse; - error: Error; + SUCCEEDED: SuccessfulTransactionReceiptResponse; + REVERTED: RevertedTransactionReceiptResponse; + // TODO: there should be no ERROR case in library flow as fetch would throw on error before it could be read by Helper + ERROR: Error; }; export type TransactionReceiptStatus = keyof TransactionStatusReceiptSets; + export type TransactionReceiptValue = TransactionStatusReceiptSets[TransactionReceiptStatus]; export type TransactionReceiptCallbacksDefined = { [key in TransactionReceiptStatus]: (response: TransactionStatusReceiptSets[key]) => void; }; + export type TransactionReceiptCallbacksDefault = Partial & { _: () => void; }; + export type TransactionReceiptCallbacks = | TransactionReceiptCallbacksDefined | TransactionReceiptCallbacksDefault; -type TransactionReceiptStatusFromMethod}`> = - T extends `is${infer R}` ? Uncapitalize : never; +// Transaction receipt types with helpers - clean, consolidated definitions +export type SuccessfulTransactionReceiptResponseHelper = SuccessfulTransactionReceiptResponse & { + readonly statusReceipt: 'SUCCEEDED'; + readonly value: SuccessfulTransactionReceiptResponse; + match(callbacks: TransactionReceiptCallbacks): void; + // @ts-ignore - docs + isSuccess(): this is SuccessfulTransactionReceiptResponseHelper; + // @ts-ignore - docs + isReverted(): this is RevertedTransactionReceiptResponseHelper; + // @ts-ignore - docs + isError(): this is ErrorReceiptResponseHelper; +}; -export type GetTransactionReceiptResponse< - T extends TransactionReceiptStatus = TransactionReceiptStatus, -> = { - readonly statusReceipt: T; - readonly value: TransactionStatusReceiptSets[T]; +export type RevertedTransactionReceiptResponseHelper = RevertedTransactionReceiptResponse & { + readonly statusReceipt: 'REVERTED'; + readonly value: RevertedTransactionReceiptResponse; match(callbacks: TransactionReceiptCallbacks): void; -} & { - // @ts-ignore - seems to be needed only for docs, check again after the doc dependencies are updated - [key in `is${Capitalize}`]: () => this is GetTransactionReceiptResponse< - TransactionReceiptStatusFromMethod - >; + // @ts-ignore - docs + isSuccess(): this is SuccessfulTransactionReceiptResponseHelper; + // @ts-ignore - docs + isReverted(): this is RevertedTransactionReceiptResponseHelper; + // @ts-ignore - docs + isError(): this is ErrorReceiptResponseHelper; }; + +export type ErrorReceiptResponseHelper = { + readonly statusReceipt: 'ERROR'; + readonly value: Error; + match(callbacks: TransactionReceiptCallbacks): void; + // @ts-ignore - docs + isSuccess(): this is SuccessfulTransactionReceiptResponseHelper; + // @ts-ignore - docs + isReverted(): this is RevertedTransactionReceiptResponseHelper; + // @ts-ignore - docs + isError(): this is ErrorReceiptResponseHelper; +}; + +export type GetTransactionReceiptResponse = + | SuccessfulTransactionReceiptResponseHelper + | RevertedTransactionReceiptResponseHelper + | ErrorReceiptResponseHelper; diff --git a/src/utils/typed.ts b/src/utils/typed.ts index 4498cdde5..6f8988c6c 100644 --- a/src/utils/typed.ts +++ b/src/utils/typed.ts @@ -87,6 +87,19 @@ export function isString(value: unknown): value is string { return typeof value === 'string'; } +/** + * Check if a value is a Buffer. + * + * @param {unknown} obj - The value to check. + * @returns {boolean} Returns true if the value is a Buffer, otherwise returns false. + * @example + * ```typescript + * const result = isBuffer(Buffer.from([1, 2, 3])); + */ +export function isBuffer(obj: unknown): obj is Buffer { + return typeof Buffer !== 'undefined' && obj instanceof Buffer; +} + /** * Checks if a given value is an object (Object or Array) * @param {unknown} item the tested item @@ -97,6 +110,15 @@ export function isString(value: unknown): value is string { * // result = true * ``` */ -export function isObject(item: unknown | undefined): boolean { +export function isObject(item: unknown | undefined): item is object { return !!item && typeof item === 'object' && !Array.isArray(item); } + +/** + * Checks if a given value is an integer. + * @param {unknown} value the value to be checked. + * @returns {boolean} returns true if the value is an integer, false otherwise. + */ +export function isInteger(value: unknown): value is number { + return Number.isInteger(value); +} diff --git a/src/utils/units.ts b/src/utils/units.ts index 5a0f10881..2e2bad8f2 100644 --- a/src/utils/units.ts +++ b/src/utils/units.ts @@ -1,4 +1,5 @@ import { isHex } from './num'; +import { isBigInt, isString } from './typed'; /** * Convert strk to fri or fri to strk @@ -11,8 +12,8 @@ import { isHex } from './num'; export function units(amount: string | bigint, simbol: 'fri' | 'strk' = 'fri') { if (simbol === 'strk') { let numStr = ''; - if (typeof amount === 'bigint') numStr = amount.toString(); - else if (typeof amount === 'string') { + if (isBigInt(amount)) numStr = amount.toString(); + else if (isString(amount)) { if (isHex(amount)) { numStr = BigInt(amount).toString(); } else { diff --git a/src/wallet/account.ts b/src/wallet/account.ts index 9f74bd826..460405d35 100644 --- a/src/wallet/account.ts +++ b/src/wallet/account.ts @@ -1,15 +1,7 @@ -import type { - AccountChangeEventHandler, - AddStarknetChainParameters, - NetworkChangeEventHandler, - Signature, - WatchAssetParameters, -} from '@starknet-io/starknet-types-08'; - import { Account, AccountInterface } from '../account'; import { StarknetChainId } from '../global/constants'; import { ProviderInterface } from '../provider'; -import { +import type { AllowArray, CairoVersion, Call, @@ -22,7 +14,6 @@ import { } from '../types'; import { extractContractHashes } from '../utils/contract'; import { stringify } from '../utils/json'; -import { buildUDCCall } from '../utils/transaction'; import { addDeclareTransaction, addInvokeTransaction, @@ -35,23 +26,24 @@ import { switchStarknetChain, watchAsset, } from './connect'; -import { StarknetWalletProvider } from './types'; -import { PaymasterOptions } from '../types/paymaster'; -import { PaymasterInterface } from '../paymaster'; +import type { StarknetWalletProvider, WalletAccountOptions } from './types/index.type'; +import type { PaymasterOptions } from '../paymaster/types/index.type'; +import type { PaymasterInterface } from '../paymaster'; +import { + AccountChangeEventHandler, + NetworkChangeEventHandler, + WatchAssetParameters, + AddStarknetChainParameters, + Signature, +} from '../types/api'; // Represent 'Selected Active' Account inside Connected Wallet export class WalletAccount extends Account implements AccountInterface { public walletProvider: StarknetWalletProvider; - constructor( - providerOrOptions: ProviderOptions | ProviderInterface, - walletProvider: StarknetWalletProvider, - address: string, - cairoVersion?: CairoVersion, - paymaster?: PaymasterOptions | PaymasterInterface - ) { - super(providerOrOptions, address, '', cairoVersion, undefined, paymaster); // At this point unknown address - this.walletProvider = walletProvider; + constructor(options: WalletAccountOptions) { + super({ ...options, signer: '' }); // At this point unknown address + this.walletProvider = options.walletProvider; // Update Address on change this.walletProvider.on('accountsChanged', (res) => { @@ -122,8 +114,11 @@ export class WalletAccount extends Account implements AccountInterface { return addInvokeTransaction(this.walletProvider, params); } - override declare(payload: DeclareContractPayload) { - const declareContractPayload = extractContractHashes(payload); + override async declare(payload: DeclareContractPayload) { + const declareContractPayload = extractContractHashes( + payload, + await this.channel.setUpSpecVersion() + ); // DISCUSS: HOTFIX: Adapt Abi format const pContract = payload.contract as CompiledSierra; @@ -148,7 +143,7 @@ export class WalletAccount extends Account implements AccountInterface { override async deploy( payload: UniversalDeployerContractPayload | UniversalDeployerContractPayload[] ): Promise { - const { calls, addresses } = buildUDCCall(payload, this.address); + const { calls, addresses } = this.deployer.buildDeployerCall(payload, this.address); const invokeResponse = await this.execute(calls); return { @@ -162,14 +157,20 @@ export class WalletAccount extends Account implements AccountInterface { } static async connect( - provider: ProviderInterface, + provider: ProviderOptions | ProviderInterface, walletProvider: StarknetWalletProvider, cairoVersion?: CairoVersion, paymaster?: PaymasterOptions | PaymasterInterface, silentMode: boolean = false ) { const [accountAddress] = await requestAccounts(walletProvider, silentMode); - return new WalletAccount(provider, walletProvider, accountAddress, cairoVersion, paymaster); + return new WalletAccount({ + provider, + walletProvider, + address: accountAddress, + cairoVersion, + paymaster, + }); } static async connectSilent( diff --git a/src/wallet/connect.ts b/src/wallet/connect.ts index 661bf9b59..732479ba3 100644 --- a/src/wallet/connect.ts +++ b/src/wallet/connect.ts @@ -1,21 +1,21 @@ import { - type WatchAssetParameters, - type AccountChangeEventHandler, - type AddDeclareTransactionParameters, - type AddInvokeTransactionParameters, - type AddStarknetChainParameters, - type NetworkChangeEventHandler, - type ChainId, - type StarknetWindowObject, - type TypedData, - type Permission, - type Address, + Address, + AddStarknetChainParameters, + ChainId, + AccountDeploymentData, + AddInvokeTransactionParameters, AddInvokeTransactionResult, + AddDeclareTransactionParameters, AddDeclareTransactionResult, - AccountDeploymentData, + Permission, + StarknetWindowObject, + WatchAssetParameters, + TypedData, Signature, SpecVersion, -} from '@starknet-io/starknet-types-07'; + AccountChangeEventHandler, + NetworkChangeEventHandler, +} from '../types/api'; /** * Request Permission for wallet account, return addresses that are allowed by user @@ -90,7 +90,7 @@ export function requestChainId(swo: StarknetWindowObject): Promise { * @returns The deployment data result. */ export function deploymentData(swo: StarknetWindowObject): Promise { - return swo.request({ type: 'wallet_deploymentData' }); // TODO: test + return swo.request({ type: 'wallet_deploymentData' }); } /** diff --git a/src/wallet/types.ts b/src/wallet/types.ts deleted file mode 100644 index b3b8aab7d..000000000 --- a/src/wallet/types.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { type RpcMessage, type StarknetWindowObject } from '@starknet-io/starknet-types-07'; - -// ---- TT Request Handler -export type RpcCall = Omit; - -// This is provider object expected by WalletAccount to communicate with wallet -export interface StarknetWalletProvider extends StarknetWindowObject {} diff --git a/src/wallet/types/index.type.ts b/src/wallet/types/index.type.ts new file mode 100644 index 000000000..71bcbb5b1 --- /dev/null +++ b/src/wallet/types/index.type.ts @@ -0,0 +1,18 @@ +import type { PaymasterInterface } from '../../paymaster'; +import type { ProviderInterface } from '../../provider'; +import type { CairoVersion, PaymasterOptions, ProviderOptions } from '../../types'; +import type { RpcMessage, StarknetWindowObject } from '../../types/api'; + +// ---- TT Request Handler +export type RpcCall = Omit; + +// This is provider object expected by WalletAccount to communicate with wallet +export interface StarknetWalletProvider extends StarknetWindowObject {} + +export type WalletAccountOptions = { + provider: ProviderOptions | ProviderInterface; + walletProvider: StarknetWalletProvider; + address: string; + cairoVersion?: CairoVersion; + paymaster?: PaymasterOptions | PaymasterInterface; +}; diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index ee06680d7..66ee5f317 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -1,4 +1,10 @@ { "extends": "./tsconfig.json", - "include": ["__mocks__/**/*", "__tests__/**/*", "src/**/*"] + "include": [ + // + "__mocks__/**/*", + "__tests__/**/*", + "src/**/*", + "jest.config.ts" + ] } diff --git a/www/ApiTitle.md b/www/ApiTitle.md index 0e94eb575..c372bc748 100644 --- a/www/ApiTitle.md +++ b/www/ApiTitle.md @@ -1,30 +1,28 @@ -This API is based on the [Starknet.js V3](https://github.com/starknet-io/starknet.js/discussions/102) Interface write up by [Janek](https://twitter.com/0xjanek) of [Argent](https://www.argent.xyz/) - ## Provider The Provider [**API**](./classes/Provider.md) allows you to interact with the Starknet network, without signing transactions or messages. Typically, these are _read_ calls on the blockchain. -Guide is [**here**](../guides/connect_network.md). +Guide is [**here**](../guides/provider_instance.md). ## Account -An Account extends [`Provider`](./classes/Provider) and inherits all of its methods. +Account extends [`Provider`](./classes/Provider) and inherits all of its methods. -It also introduces new methods that allow Accounts to create and verify signatures with a custom [`Signer`](./classes/Signer), declare and deploy Contract and deploy new Account +It also introduces new methods that allow Accounts to create and verify signatures with a custom [`Signer`](./classes/Signer), declare and deploy Contracts and new Accounts. This [**API**](./classes/Account.md) is the primary way to interact with an account contract on Starknet. -Guide is [**here**](../guides/create_account.md). +Guide is [**here**](../guides/account/create_account.md). ## Contract -Contracts [**API**](./classes/Contract.md) can do data transformations in JavaScript based on an ABI. They can also call and invoke to Starknet through a provided Signer. +Contract's [**API**](./classes/Contract.md) manages interactions with a smart contract based on a supplied ABI. It issues call and invoke requests to Starknet and applies appropriate data transformations to represent Cairo types in JavaScript. Contracts allow you to transform Cairo values, like `Uint256` to `BigNumber`. It could also allow users to pass their own transformers, similar to `JSON.parse`. -Guide is [**here**](../guides/create_contract.md). +Guide is [**here**](../guides/contracts/create_contract.md). ## Signer diff --git a/www/docs/guides/account/_category_.json b/www/docs/guides/account/_category_.json new file mode 100644 index 000000000..ec1b234ed --- /dev/null +++ b/www/docs/guides/account/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Account", + "position": 5, + "link": { + "type": "generated-index", + "description": "Learn how to work with Starknet accounts using Starknet.js" + } +} diff --git a/www/docs/guides/account/connect_account.md b/www/docs/guides/account/connect_account.md new file mode 100644 index 000000000..f3f13b142 --- /dev/null +++ b/www/docs/guides/account/connect_account.md @@ -0,0 +1,126 @@ +--- +sidebar_position: 1 +--- + +# Instance + +![Starknet.js Architecture](./pictures/Account-instance.svg) + +Once your provider is initialized, you can connect an existing account. + +You need: + +- the address of the account +- the private key of this account + +```typescript +import { Account, RpcProvider } from 'starknet'; +``` + +## Connect to a pre-deployed account (Starknet Devnet) + +When you launch `starknet-devnet`, 10 accounts are pre-deployed with 100 dummy ETH and STRK in each. + +:::info +Devnet predeployed accounts will change at each run. To freeze them, launch with: `cargo run --release -- --seed 0` or use docker image -seed0 +::: + +Addresses and private keys are displayed on the console at initialization. + +```text +| Account address | 0x064b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691 + +| Private key | 0x0000000000000000000000000000000071d7bb07b9a64f6f78ac4c816aff4da9 + +| Public key | 0x039d9e6ce352ad4530a0ef5d5a18fd3303c3606a7fa6ac5b620020ad681cc33b +``` + +Then you can use this code: + +```typescript +// initialize provider for Devnet +const myProvider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); +// initialize existing account 0 pre-deployed on Devnet +const accountAddress = '0x064b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691'; +const privateKey = '0x0000000000000000000000000000000071d7bb07b9a64f6f78ac4c816aff4da9'; + +const myAccount = new Account({ + provider: myProvider, + address: accountAddress, + signer: privateKey, +}); +``` + +Your account is now ready to be used. + +## 👛 Connect to an existing account (Network) + +The code is the same, you just have to: + +- connect to the appropriate network. +- use the address of this account (public data). +- use the private key of this account (very sensitive data: your code MUST not disclose it). + +For example, to connect an existing account on testnet, with a private key stored in a .env non-archived file: + +```typescript +// initialize RPC v0.9 provider +const myProvider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); +// initialize existing account +const privateKey = process.env.OZ_NEW_ACCOUNT_PRIVATE_KEY; +const accountAddress = '0x051158d244c7636dde39ec822873b29e6c9a758c6a9812d005b6287564908667'; + +const myAccount = new Account({ + provider: myProvider, + address: accountAddress, + signer: privateKey, +}); +``` + +:::info +**v8 Note**: Only V3 transactions are supported in Starknet.js v8. V2 transactions have been removed with Starknet 0.14. +All accounts now use V3 transactions with Starknet fees by default. +::: + +### Advanced Account Configuration (v8) + +Starknet.js v8 introduces additional configuration options for accounts: + +```typescript +const myAccount = new Account({ + provider: myProvider, + address: accountAddress, + signer: privateKey, + cairoVersion: '1', // optional - Cairo version ('1' is default) + transactionVersion: ETransactionVersion.V3, // ETransactionVersion.V3 is the default and only option + paymaster: undefined, // optional - paymaster for sponsored transactions + deployer: defaultDeployer, // optional - custom deployer (defaultDeployer or legacyDeployer) + defaultTipType: 'recommendedTip', // optional - tip strategy for transactions +}); +``` + +### New Parameters Explained + +- **`paymaster`**: Configure a paymaster for sponsored transactions (see [Paymaster guide](./paymaster.md)) +- **`deployer`**: Choose between `defaultDeployer` (UDC V2) or `legacyDeployer` (UDC V1) +- **`defaultTipType`**: Default tip calculation strategy - options include: + - `'minTip'`, `'maxTip'`, `'averageTip'`, `'medianTip'`, `'modeTip'` + - `'recommendedTip'` (default), `'p90Tip'`, `'p95Tip'` + +## Connect to an account that uses Ethereum signature + +Accounts that use Ethereum signatures are possible because of account abstraction. + +To connect to this type of account: + +```typescript +const myEthPrivateKey = '0x525bc68475c0955fae83869beec0996114d4bb27b28b781ed2a20ef23121b8de'; +const myEthAccountAddressInStarknet = + '0x65a822fbee1ae79e898688b5a4282dc79e0042cbed12f6169937fddb4c26641'; +const myEthSigner = new EthSigner(myEthPrivateKey); +const myEthAccount = new Account({ + provider: myProvider, + address: myEthAccountAddressInStarknet, + signer: myEthSigner, +}); +``` diff --git a/www/versioned_docs/version-7.6.2/guides/create_account.md b/www/docs/guides/account/create_account.md similarity index 92% rename from www/versioned_docs/version-7.6.2/guides/create_account.md rename to www/docs/guides/account/create_account.md index b547e80d5..a272229df 100644 --- a/www/versioned_docs/version-7.6.2/guides/create_account.md +++ b/www/docs/guides/account/create_account.md @@ -1,5 +1,5 @@ --- -sidebar_position: 8 +sidebar_position: 2 --- # Create an account @@ -29,7 +29,7 @@ import { Account, constants, ec, json, stark, RpcProvider, hash, CallData } from ```typescript // connect RPC 0.8 provider (Mainnet or Sepolia) -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); +const myProvider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); // new Open Zeppelin account v0.17.0 // Generate public and private key pair. @@ -73,7 +73,11 @@ curl -X POST http://127.0.0.1:5050/mint -d '{"address":"0x04a093c37ab61065d00155 If you have sent enough STRK to this new address, you can go forward to the final step: ```typescript -const OZaccount = new Account(provider, OZcontractAddress, privateKey); +const OZaccount = new Account({ + provider: myProvider, + address: OZcontractAddress, + signer: privateKey, +}); const { transaction_hash, contract_address } = await OZaccount.deployAccount({ classHash: OZaccountClassHash, @@ -81,7 +85,7 @@ const { transaction_hash, contract_address } = await OZaccount.deployAccount({ addressSalt: starkKeyPub, }); -await provider.waitForTransaction(transaction_hash); +await myProvider.waitForTransaction(transaction_hash); console.log('✅ New OpenZeppelin account created.\n address =', contract_address); ``` @@ -112,7 +116,7 @@ import { ```typescript // connect RPC 0.8 provider -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); +const myProvider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); //new Argent X account v0.4.0 const argentXaccountClassHash = @@ -149,7 +153,11 @@ Then you have to fund this address. If you have sent enough STRK to this new address, you can go forward to the final step: ```typescript -const accountAX = new Account(provider, AXcontractAddress, privateKeyAX); +const accountAX = new Account({ + provider: myProvider, + address: AXcontractAddress, + signer: privateKeyAX, +}); const deployAccountPayload = { classHash: argentXaccountClassHash, @@ -284,7 +292,12 @@ Then you have to fund this address with some STRK. If you have sent enough funds to this new address, you can go forward to the final step: ```typescript -const ethAccount = new Account(provider, contractETHaddress, ethSigner); +const ethAccount = new Account({ + provider: myProvider, + address: contractETHaddress, + signer: ethSigner, +}); + const deployPayload = { classHash: accountEthClassHash, constructorCalldata: accountETHconstructorCalldata, @@ -296,7 +309,7 @@ const estimatedFees = await ethAccount.estimateAccountDeployFee(deployPayload, { const { transaction_hash, contract_address } = await ethAccount.deployAccount(deployPayload, { skipValidate: false, }); -await provider.waitForTransaction(transaction_hash); +await myProvider.waitForTransaction(transaction_hash); console.log('✅ New Ethereum account final address =', contract_address); ``` @@ -334,12 +347,16 @@ import axios from 'axios'; ```typescript // connect provider -const provider = new RpcProvider({ network: 'http://127.0.0.1:5050/rpc' }); +const myProvider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); // initialize existing pre-deployed account 0 of Devnet const privateKey0 = '0x71d7bb07b9a64f6f78ac4c816aff4da9'; const accountAddress0 = '0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691'; -const account0 = new Account(provider, accountAddress0, privateKey0); +const account0 = new Account({ + provider: myProvider, + address: accountAddress0, + signer: privateKey0, +}); // new account abstraction // Generate public and private key pair. @@ -358,7 +375,7 @@ const { transaction_hash: declTH, class_hash: decCH } = await account0.declare({ contract: compiledAAaccount, }); console.log('Customized account class hash =', decCH); -await provider.waitForTransaction(declTH); +await myProvider.waitForTransaction(declTH); // Calculate future address of the account const AAaccountConstructorCallData = CallData.compile({ @@ -386,13 +403,18 @@ const { data: answer } = await axios.post( console.log('Answer mint =', answer); // deploy account -const AAaccount = new Account(provider, AAcontractAddress, AAprivateKey); +const AAaccount = new Account({ + provider: myProvider, + address: AAcontractAddress, + signer: AAprivateKey, +}); + const { transaction_hash, contract_address } = await AAaccount.deployAccount({ classHash: AAaccountClassHash, constructorCalldata: AAaccountConstructorCallData, addressSalt: AAstarkKeyPub, }); -await provider.waitForTransaction(transaction_hash); +await myProvider.waitForTransaction(transaction_hash); console.log('✅ New customized account created.\n address =', contract_address); ``` diff --git a/www/versioned_docs/version-7.5.1/guides/estimate_fees.md b/www/docs/guides/account/estimate_fees.md similarity index 69% rename from www/versioned_docs/version-7.5.1/guides/estimate_fees.md rename to www/docs/guides/account/estimate_fees.md index 6401fe41c..8dc209818 100644 --- a/www/versioned_docs/version-7.5.1/guides/estimate_fees.md +++ b/www/docs/guides/account/estimate_fees.md @@ -1,5 +1,5 @@ --- -sidebar_position: 11 +sidebar_position: 3 --- # Estimate fees @@ -28,43 +28,7 @@ The result is in `suggestedMaxFee`, of type BigInt. The corresponding unit for t More details about the complex subject of Starknet fees in [Starknet docs](https://docs.starknet.io/architecture-and-concepts/network-architecture/fee-mechanism/) ::: -The complete answer for an RPC 0.7 "legacy" transaction: - -```typescript -{ - overall_fee: 123900000000000n, - unit: 'WEI', - l1_gas_consumed: 1047n, - l1_gas_price: 100000000000n, - l1_data_gas_consumed: 192n, - l1_data_gas_price: 100000000000n, - suggestedMaxFee: 185850000000000n, - resourceBounds: { - l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - l1_gas: { max_amount: '0x742', max_price_per_unit: '0x22ecb25c00' } - } -} -``` - -The complete answer for an RPC 0.7 V3 transaction: - -```typescript -{ - overall_fee: 123900000000000n, - unit: 'FRI', - l1_gas_consumed: 1047n, - l1_gas_price: 100000000000n, - l1_data_gas_consumed: 192n, - l1_data_gas_price: 100000000000n, - suggestedMaxFee: 185850000000000n, - resourceBounds: { - l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - l1_gas: { max_amount: '0x742', max_price_per_unit: '0x22ecb25c00' } - } -} -``` - -The complete answer for an RPC 0.8 V3 transaction: +The complete answer for a V3 transaction: ```typescript { @@ -131,22 +95,19 @@ The result is in `suggestedMaxFee`, of type BigInt. Units and full response form In some cases, a transaction can fail due to the fees being underestimated. You can increase these limits by setting a global config setting (default values are 50): ```typescript -config.set('feeMarginPercentage', { - bounds: { - l1_gas: { - max_amount: 75, - max_price_per_unit: 60, - }, - l2_gas: { - max_amount: 100, - max_price_per_unit: 60, - }, - l1_data_gas: { - max_amount: 80, - max_price_per_unit: 70, - }, +config.set('resourceBoundsOverhead', { + l1_gas: { + max_amount: 75, + max_price_per_unit: 60, + }, + l2_gas: { + max_amount: 100, + max_price_per_unit: 60, + }, + l1_data_gas: { + max_amount: 80, + max_price_per_unit: 70, }, - maxFee: 22, }); ``` @@ -154,27 +115,26 @@ config.set('feeMarginPercentage', { - Values are additional percentage: 75 means 75% additional fees. - To get back to normal values: set all values to 50. - ::: +- In v8, `feeMarginPercentage` has been replaced with `resourceBoundsOverhead`. + +::: Example for declaring, with 80% additional fees: ```typescript -config.set('feeMarginPercentage', { - bounds: { - l1_gas: { - max_amount: 80, - max_price_per_unit: 80, - }, - l2_gas: { - max_amount: 80, - max_price_per_unit: 80, - }, - l1_data_gas: { - max_amount: 80, - max_price_per_unit: 80, - }, +config.set('resourceBoundsOverhead', { + l1_gas: { + max_amount: 80, + max_price_per_unit: 80, + }, + l2_gas: { + max_amount: 80, + max_price_per_unit: 80, + }, + l1_data_gas: { + max_amount: 80, + max_price_per_unit: 80, }, - maxFee: 80, }); const declareResponse = await account0.declareIfNot({ contract: testSierra, casm: testCasm }); ``` @@ -184,7 +144,7 @@ const declareResponse = await account0.declareIfNot({ contract: testSierra, casm After a transaction has been processed, you can read the fees that have actually been paid: ```typescript -const txR = await provider.waitForTransaction(declareResponse.transaction_hash); +const txR = await myProvider.waitForTransaction(declareResponse.transaction_hash); txR.match({ success: (txR: SuccessfulTransactionReceiptResponse) => { console.log('Fees paid =', txR.actual_fee); diff --git a/www/docs/guides/account/outsideExecution.md b/www/docs/guides/account/outsideExecution.md new file mode 100644 index 000000000..4db005746 --- /dev/null +++ b/www/docs/guides/account/outsideExecution.md @@ -0,0 +1,272 @@ +--- +sidebar_position: 7 +--- + +# Outside Execution + +## Introduction + +Outside execution refers to the ability to execute transactions on behalf of an account without having access to its private key. This is useful in scenarios where you want to: + +1. Execute transactions for users who have delegated permission +2. Implement meta-transactions +3. Build automation systems that can operate on behalf of users + +## Prerequisites + +To enable outside execution, the account contract must implement the necessary validation logic to verify external signatures or permissions. + +## Basic concept + +Instead of using the account's private key, outside execution uses: + +1. A separate signer for transaction authorization +2. Custom validation logic in the account contract +3. Additional parameters to prove execution permission + +## Implementation + +### 1. Create a signer + +First, create a signer that will authorize the execution: + +```typescript +import { Signer } from 'starknet'; + +const externalSigner = new Signer(externalPrivateKey); +``` + +### 2. Prepare execution parameters + +Include the necessary parameters for validation: + +```typescript +const executionParams = { + signature: await externalSigner.signMessage({ + message: messageHash, + domain: { + name: 'External Execution', + chainId: constants.StarknetChainId.SN_SEPOLIA, + }, + }), + nonce: await myAccount.getNonce(), + // Other validation parameters +}; +``` + +### 3. Execute the transaction + +Use the execution parameters when calling the contract: + +```typescript +const result = await myAccount.execute({ + contractAddress: targetContract, + entrypoint: 'externalExecute', + calldata: [ + ...executionParams.signature, + executionParams.nonce, + // Transaction parameters + ], +}); +``` + +## Example: Delegated execution + +Here's a complete example of implementing delegated execution: + +```typescript +import { Account, Contract, RpcProvider, Signer, constants } from 'starknet'; + +async function executeDelegated(chosenAccount: Account, delegateSigner: Signer, transaction: any) { + // Get current nonce + const nonce = await chosenAccount.getNonce(); + + // Create message hash + const messageHash = hash.computeHashOnElements([ + transaction.contractAddress, + transaction.entrypoint, + ...transaction.calldata, + nonce, + ]); + + // Sign with delegate key + const signature = await delegateSigner.signMessage({ + message: messageHash, + domain: { + name: 'Delegate Execution', + chainId: constants.StarknetChainId.SN_SEPOLIA, + }, + }); + + // Execute with signature + const result = await chosenAccount.execute({ + contractAddress: transaction.contractAddress, + entrypoint: 'executeFromDelegate', + calldata: [ + ...signature, + nonce, + transaction.contractAddress, + transaction.entrypoint, + ...transaction.calldata, + ], + }); + + return result; +} + +// Usage +const myProvider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); +const myAccount = new Account({ + provider: myProvider, + address: accountAddress, + signer: accountPrivateKey, +}); +const delegateSigner = new Signer(delegatePrivateKey); + +const transaction = { + contractAddress: '0x...', + entrypoint: 'transfer', + calldata: ['0x...', '1000'], +}; + +const result = await executeDelegated(myAccount, delegateSigner, transaction); +console.log('Transaction hash:', result.transaction_hash); +``` + +## Example: Meta-transactions + +Implement meta-transactions where a relayer executes transactions: + +```typescript +import { Account, RpcProvider, Signer, constants, hash } from 'starknet'; + +class MetaTransaction { + constructor( + public readonly sender: string, + public readonly target: string, + public readonly entrypoint: string, + public readonly calldata: string[], + public readonly nonce: string, + public readonly signature: string[] + ) {} + + static async create( + sender: string, + target: string, + entrypoint: string, + calldata: string[], + nonce: string, + signer: Signer + ): Promise { + const messageHash = hash.computeHashOnElements([ + sender, + target, + entrypoint, + ...calldata, + nonce, + ]); + + const signature = await signer.signMessage({ + message: messageHash, + domain: { + name: 'Meta Transaction', + chainId: constants.StarknetChainId.SN_SEPOLIA, + }, + }); + + return new MetaTransaction(sender, target, entrypoint, calldata, nonce, signature); + } +} + +class Relayer { + constructor( + private readonly account: Account, + private readonly provider: RpcProvider + ) {} + + async relay(metaTx: MetaTransaction) { + const result = await this.account.execute({ + contractAddress: metaTx.target, + entrypoint: 'executeMetaTransaction', + calldata: [ + metaTx.sender, + metaTx.target, + metaTx.entrypoint, + ...metaTx.calldata, + metaTx.nonce, + ...metaTx.signature, + ], + }); + + return result; + } +} + +// Usage +const myProvider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); +const relayerAccount = new Account({ + provider: myProvider, + address: relayerAddress, + signer: relayerPrivateKey, +}); +const userSigner = new Signer(userPrivateKey); + +const relayer = new Relayer(relayerAccount, myProvider); + +// Create meta-transaction +const metaTx = await MetaTransaction.create( + userAddress, + targetContract, + 'transfer', + ['0x...', '1000'], + await myProvider.getNonceForAddress(userAddress), + userSigner +); + +// Relay transaction +const result = await relayer.relay(metaTx); +console.log('Transaction hash:', result.transaction_hash); +``` + +## Security considerations + +When implementing outside execution: + +1. Validate all signatures and permissions thoroughly +2. Use nonces to prevent replay attacks +3. Implement proper access control in contracts +4. Consider gas costs and limitations +5. Monitor for suspicious activity + +## Error handling + +Handle common outside execution errors: + +```typescript +try { + const result = await executeDelegated(myAccount, delegateSigner, transaction); +} catch (error) { + if (error.message.includes('Invalid delegate signature')) { + console.error('Delegate signature verification failed'); + } else if (error.message.includes('Invalid nonce')) { + console.error('Nonce mismatch'); + } else if (error.message.includes('Unauthorized delegate')) { + console.error('Delegate not authorized'); + } else { + console.error('Transaction failed:', error); + } +} +``` + +## Best practices + +1. Always verify signatures before execution +2. Use unique nonces for each transaction +3. Implement proper error handling +4. Test thoroughly with different scenarios +5. Monitor gas costs and optimize when needed +6. Keep private keys secure +7. Implement proper logging and monitoring +8. Consider rate limiting for security +9. Document the validation requirements +10. Regular security audits diff --git a/www/versioned_docs/version-7.5.1/guides/paymaster.md b/www/docs/guides/account/paymaster.md similarity index 87% rename from www/versioned_docs/version-7.5.1/guides/paymaster.md rename to www/docs/guides/account/paymaster.md index 98cc98ce4..4bed5b758 100644 --- a/www/versioned_docs/version-7.5.1/guides/paymaster.md +++ b/www/docs/guides/account/paymaster.md @@ -1,8 +1,8 @@ --- -sidebar_position: 20 +sidebar_position: 5 --- -# Execute calls using paymaster +# Execute calls using Paymaster ## Overview @@ -11,7 +11,7 @@ STRK. :::info -There are 2 types of paymaster transaction: +There are 2 types of Paymaster transactions: - `default` when the account is paying the fees. - `sponsored` when a dApp wants to cover the gas fees on behalf of users. @@ -40,7 +40,7 @@ By default, a random service is selected in the list of available services: const myPaymasterRpc = new PaymasterRpc({ default: true }); ``` -If you want a specific paymaster service: +If you want a specific Paymaster service: ```typescript const myPaymasterRpc = new PaymasterRpc({ nodeUrl: 'https://sepolia.paymaster.avnu.fi' }); @@ -52,19 +52,17 @@ Current available services are: | :--: | :--------------------------------: | :-------------------------------: | | AVNU | https://starknet.paymaster.avnu.fi | https://sepolia.paymaster.avnu.fi | -## Account with paymaster feature +## Account with Paymaster feature -To instantiate a new account compatible with paymaster: +To instantiate a new account compatible with Paymaster: ```typescript -const myAccount = new Account( - myProvider, - accountAddress, - privateKey, - undefined, - undefined, - myPaymasterRpc -); +const myAccount = new Account({ + provider: myProvider, + address: accountAddress, + signer: privateKey, + paymaster: myPaymasterRpc, +}); ``` ## Getting Supported Gas Tokens @@ -95,7 +93,7 @@ console.log(supported); ## Sending a Transaction with a Paymaster -To send a [`Call`](./define_call_message.md#call-or-call) (result of [`myContract.populate()`](./define_call_message.md#object-with-abi-conformity-check) or `myCallData.compile()`), here for a `default` paymaster transaction: +To send a [`Call`](../contracts/define_call_message.md#call-or-call) (result of [`myContract.populate()`](../contracts/define_call_message.md#object-with-abi-conformity-check) or `myCallData.compile()`), here for a `default` Paymaster transaction: ```typescript const gasToken = '0x53b40a647cedfca6ca84f542a0fe36736031905a9639a7f19a3c1e66bfd5080'; // USDC in Testnet @@ -112,23 +110,21 @@ const res = await myAccount.executePaymasterTransaction( const txR = await myProvider.waitForTransaction(res.transaction_hash); ``` -### Sponsored paymaster +### Sponsored Paymaster -For a sponsored transaction, use : +For a sponsored transaction, use: ```typescript const myPaymasterRpc = new PaymasterRpc({ nodeUrl: 'https://sepolia.paymaster.avnu.fi', - headers: { 'api-key': process.env.PAYMASTER_API_KEY }, + headers: { 'x-paymaster-api-key': process.env.PAYMASTER_API_KEY }, +}); +const myAccount = new Account({ + provider: myProvider, + address: accountAddress, + signer: privateKey, + paymaster: myPaymasterRpc, }); -const myAccount = new Account( - myProvider, - accountAddress, - privateKey, - undefined, - undefined, - myPaymasterRpc -); const feesDetails: PaymasterDetails = { feeMode: { mode: 'sponsored' }, }; @@ -200,7 +196,7 @@ Here are the available methods: | `isAvailable() ` | Returns `true` if the Paymaster service is up and running. | | ` getSupportedTokens()` | Returns the accepted tokens and their price in STRK. | | `buildTransaction(...) ` | Builds the required data (could include a typed data to sign) for the execution | -| `executeTransaction(...)` | Calls the paymasters service to execute the transaction | +| `executeTransaction(...)` | Calls the Paymaster service to execute the transaction | ## Examples @@ -208,7 +204,7 @@ Here are the available methods: A demo DAPP is available [here](https://starknet-paymaster-snip-29.vercel.app/) (needs some USDC in an account to process). -## Full Example – React + starknet.js + Paymaster +## Full Example – React + Starknet.js + Paymaster ```tsx import { FC, useEffect, useState } from 'react'; @@ -306,3 +302,5 @@ const App: FC = () => { export default App; ``` + +For more information about defining call messages and parameters, see [this guide](../contracts/define_call_message.md). diff --git a/www/docs/guides/account/pictures/Account-instance.svg b/www/docs/guides/account/pictures/Account-instance.svg new file mode 100644 index 000000000..4bcd05d0f --- /dev/null +++ b/www/docs/guides/account/pictures/Account-instance.svg @@ -0,0 +1 @@ +

Starknet Network

Starknet JS

Client dApp


read/write



Browser

Node.js

Instance

Channel

Provider

Account

Utils

Signer

WalletAccount

Paymaster

Starknet RPC Node

\ No newline at end of file diff --git a/www/docs/guides/pictures/LedgerConnectivity.png b/www/docs/guides/account/pictures/LedgerConnectivity.png similarity index 100% rename from www/docs/guides/pictures/LedgerConnectivity.png rename to www/docs/guides/account/pictures/LedgerConnectivity.png diff --git a/www/docs/guides/pictures/LedgerTitle.png b/www/docs/guides/account/pictures/LedgerTitle.png similarity index 100% rename from www/docs/guides/pictures/LedgerTitle.png rename to www/docs/guides/account/pictures/LedgerTitle.png diff --git a/www/docs/guides/pictures/SelectWallet.png b/www/docs/guides/account/pictures/SelectWallet.png similarity index 100% rename from www/docs/guides/pictures/SelectWallet.png rename to www/docs/guides/account/pictures/SelectWallet.png diff --git a/www/docs/guides/pictures/WalletAccountArchitecture.png b/www/docs/guides/account/pictures/WalletAccountArchitecture.png similarity index 100% rename from www/docs/guides/pictures/WalletAccountArchitecture.png rename to www/docs/guides/account/pictures/WalletAccountArchitecture.png diff --git a/www/docs/guides/pictures/addToken.png b/www/docs/guides/account/pictures/addToken.png similarity index 100% rename from www/docs/guides/pictures/addToken.png rename to www/docs/guides/account/pictures/addToken.png diff --git a/www/docs/guides/pictures/executeTx.png b/www/docs/guides/account/pictures/executeTx.png similarity index 100% rename from www/docs/guides/pictures/executeTx.png rename to www/docs/guides/account/pictures/executeTx.png diff --git a/www/docs/guides/pictures/switchNetwork.png b/www/docs/guides/account/pictures/switchNetwork.png similarity index 100% rename from www/docs/guides/pictures/switchNetwork.png rename to www/docs/guides/account/pictures/switchNetwork.png diff --git a/www/versioned_docs/version-7.6.2/guides/signature.md b/www/docs/guides/account/signature.md similarity index 92% rename from www/versioned_docs/version-7.6.2/guides/signature.md rename to www/docs/guides/account/signature.md index 83ded72c1..5b53c9ac6 100644 --- a/www/versioned_docs/version-7.6.2/guides/signature.md +++ b/www/docs/guides/account/signature.md @@ -1,5 +1,5 @@ --- -sidebar_position: 15 +sidebar_position: 4 --- # Signature @@ -60,12 +60,16 @@ const isValid2 = ec.starkCurve.verify(signature1, msgHash, fullPublicKey); Read the Public Key of the account: ```typescript -const provider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); //devnet +const myProvider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); //devnet const compiledAccount = json.parse( fs.readFileSync('./__mocks__/cairo/account/accountOZ080.json').toString('ascii') ); const accountAddress = '0x....'; // account of sender -const contractAccount = new Contract(compiledAccount.abi, accountAddress, provider); +const contractAccount = new Contract({ + abi: compiledAccount.abi, + address: accountAddress, + providerOrAccount: myProvider, +}); const pubKey3 = await contractAccount.call('getPublicKey'); ``` @@ -142,7 +146,11 @@ const myTypedData: TypedData = { }, }; -const account0 = new Account(myProvider, address, privateKey); +const account0 = new Account({ + provider: myProvider, + address: address, + signer: privateKey, +}); const fullPublicKey = stark.getFullPublicKey(privateKey); const msgHash = await account0.hashMessage(myTypedData); @@ -211,10 +219,10 @@ console.log('signature message =', sig0); Starknet.js has a support for Ledger Nano S+ or X, to sign your Starknet transactions. You have to use a transporter to interact with the Ledger Nano. Depending if you use an USB or a Bluetooth connection, depending on your framework (Node, Web, Mobile), you have to use the appropriate library to create your transporter. -The Ledger documentation lists all the available cases : +The Ledger documentation lists all the available cases: ![](./pictures/LedgerConnectivity.png) -The libs available are : +The libs available are: ```typescript import TransportNodeHid from '@ledgerhq/hw-transport-node-hid'; @@ -242,7 +250,11 @@ const fullPubK = await myLedgerSigner.getFullPubKey(); // ... // deploy here an account related to this public key // ... -const ledgerAccount = new Account(myProvider, ledger0addr, myLedgerSigner); +const ledgerAccount = new Account({ + provider: myProvider, + address: ledger0addr, + signer: myLedgerSigner, +}); ``` :::warning important @@ -253,9 +265,9 @@ const ledgerAccount = new Account(myProvider, ledger0addr, myLedgerSigner); ::: -Some complete examples : -A Node script : [here](https://github.com/PhilippeR26/starknet.js-workshop-typescript/blob/main/src/scripts/ledgerNano/10.testLedger231-rpc08.ts). -A test Web DAPP, to use in devnet-rs network : [here](https://github.com/PhilippeR26/Starknet-Ledger-Wallet). +Some complete examples: +A Node script: [here](https://github.com/PhilippeR26/starknet.js-workshop-typescript/blob/main/src/scripts/ledgerNano/10.testLedger231-rpc08.ts). +A test Web DAPP, to use in devnet-rs network: [here](https://github.com/PhilippeR26/Starknet-Ledger-Wallet). If you want to read the version of the Ledger Starknet APP: @@ -272,7 +284,7 @@ You also have in Starknet.js a signer for the old v1.1.1 Ledger Starknet APP. const myLedgerSigner = new LedgerSigner111(myLedgerTransport, 0); ``` -If you want to use the accounts created with the v1.1.1, using the v2.3.1 signer : +If you want to use the accounts created with the v1.1.1, using the v2.3.1 signer: ```typescript const myLedgerSigner = new LedgerSigner231(myLedgerTransport, 0, undefined, getLedgerPathBuffer111); diff --git a/www/versioned_docs/version-7.6.2/guides/walletAccount.md b/www/docs/guides/account/walletAccount.md similarity index 98% rename from www/versioned_docs/version-7.6.2/guides/walletAccount.md rename to www/docs/guides/account/walletAccount.md index c10558554..feba3d924 100644 --- a/www/versioned_docs/version-7.6.2/guides/walletAccount.md +++ b/www/docs/guides/account/walletAccount.md @@ -1,5 +1,5 @@ --- -sidebar_position: 9 +sidebar_position: 6 --- # WalletAccount @@ -76,7 +76,11 @@ const resp = await myWalletAccount.execute(claimCall); You can connect a `WalletAccount` with a [`Contract`](../API/classes/Contract) instance. All reading actions are performed by the provider of the `WalletAccount`, and all writing actions (that need a signature) are performed by the browser wallet. ```typescript -const lendContract = new Contract(contract.abi, contractAddress, myWalletAccount); +const lendContract = new Contract({ + abi: contract.abi, + address: contractAddress, + providerOrAccount: myWalletAccount, +}); const qty = await lendContract.get_available_asset(addr); // use of the WalletAccount provider const resp = await lendContract.process_lend_asset(addr); // use of the browser wallet ``` diff --git a/www/docs/guides/configuration.md b/www/docs/guides/configuration.md index 0963af17e..caa29f5af 100644 --- a/www/docs/guides/configuration.md +++ b/www/docs/guides/configuration.md @@ -1,5 +1,5 @@ --- -sidebar_position: 2.1 +sidebar_position: 3 --- # Configuration @@ -17,13 +17,17 @@ Custom keys can also be used to store and use arbitrary values during runtime. import { config } from 'starknet'; // Set existing or custom global property -config.set('mode', 'DEFAULT'); +config.set('rpcVersion', '0.9.1'); + +// Set WebSocket implementation for Node.js (if using older than Node.js 22) +import WebSocket from 'ws'; +config.set('websocket', WebSocket); // Retrieve entire configuration config.getAll(); // Retrieve single global property -config.get('legacyMode'); +config.get('resourceBoundsOverhead'); // Update (merge) existing configuration with modified or custom property config.update({ logLevel: 'DEBUG', newKey: 'value' }); @@ -36,20 +40,66 @@ config.delete('newKey'); // Check existence of the global property config.hasKey('newKey'); + +// Configure resource bounds overhead for fee estimation +config.set('resourceBoundsOverhead', { + l1_gas: { + max_amount: 75, + max_price_per_unit: 60, + }, + l2_gas: { + max_amount: 100, + max_price_per_unit: 60, + }, + l1_data_gas: { + max_amount: 80, + max_price_per_unit: 70, + }, +}); ``` ### Global parameters and Default Global Configuration Default global configuration is the initial state that global configuration starts with. - -Details can be found in [global/constants.ts](https://github.com/starknet-io/starknet.js/blob/develop/src/global/constants.ts) +Here are all the available configuration properties: ```ts - logLevel: 'INFO', // verbosity levels of the system logger, more details under logger - accountTxVersion: ETransactionVersion.V2, // by default use V2 transactions in Account class instances - legacyMode: false, // enable legacy transaction types (note: this could break the code depending on the Starknet version used by the network) +{ + // RPC version to use when communicating with nodes ('0.8.1' or '0.9.1') + rpcVersion: '0.9.1', + + // Transaction version to use (only V3 is supported in v8) + transactionVersion: ETransactionVersion.V3, + + // Verbosity levels of the system logger (more details under logger section) + logLevel: 'INFO', + + // Resource bounds overhead configuration for transaction fee estimation (v8) + resourceBoundsOverhead: { + l1_gas: { + max_amount: 50, // percentage increase for L1 gas amount + max_price_per_unit: 50, // percentage increase for L1 gas price + }, + l1_data_gas: { + max_amount: 50, // percentage increase for L1 data gas amount + max_price_per_unit: 50, // percentage increase for L1 data gas price + }, + l2_gas: { + max_amount: 50, // percentage increase for L2 gas amount + max_price_per_unit: 50, // percentage increase for L2 gas price + }, + }, + + // Custom fetch implementation (optional) + fetch: undefined, + + // Custom websocket implementation (optional) + websocket: undefined +} ``` +Details can be found in [global/constants.ts](https://github.com/starknet-io/starknet.js/blob/develop/src/global/constants.ts) + ## Logger Logger is a singleton object through which the Starknet.js logs are managed. diff --git a/www/docs/guides/contracts/_category_.json b/www/docs/guides/contracts/_category_.json new file mode 100644 index 000000000..ffbd13157 --- /dev/null +++ b/www/docs/guides/contracts/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Contracts", + "position": 6, + "link": { + "type": "generated-index", + "description": "Learn how to interact with smart contracts on Starknet using Starknet.js" + } +} diff --git a/www/docs/guides/contracts/abi_typescript.md b/www/docs/guides/contracts/abi_typescript.md new file mode 100644 index 000000000..105c9a032 --- /dev/null +++ b/www/docs/guides/contracts/abi_typescript.md @@ -0,0 +1,117 @@ +--- +sidebar_position: 6 +--- + +# TypeScript Integration with Cairo ABIs + +Starknet.js provides seamless TypeScript integration for Cairo smart contracts through [Abi-Wan-Kanabi](https://github.com/keep-starknet-strange/abi-wan-kanabi). This powerful feature enables: + +- 🔍 Real-time type checking for contract interactions +- 💡 Smart autocompletion in your IDE +- 🐛 Early error detection before on-chain execution +- 📝 Better developer experience with type safety + +## Supported Cairo Versions + +The integration supports various Cairo versions through Abi-Wan-Kanabi. Check the [compatibility matrix](https://github.com/keep-starknet-strange/abi-wan-kanabi#cairo-versions) for specific version support. + +## Basic Usage + +### 1. Define Your Contract ABI + +First, create a TypeScript file with your contract's ABI. The ABI must be wrapped in an array and exported as a `const`: + +```typescript +export const ABI = [ + { + type: 'function', + name: 'increase_balance', + inputs: [ + { + name: 'amount', + type: 'core::felt252', + }, + ], + outputs: [], + state_mutability: 'external', + }, +] as const; +``` + +### 2. Create a Typed Contract Instance + +Use the ABI to create a typed contract instance: + +```typescript +import { Contract, RpcProvider } from 'starknet'; + +const address = 'YOUR_CONTRACT_ADDRESS'; +const myProvider = new RpcProvider({ nodeUrl: `${yourNodeUrl}` }); + +// Create a typed contract instance +const myContract = new Contract({ + abi: ABI, + address, + providerOrAccount: myProvider, +}).typedv2(ABI); + +// Enjoy autocompletion and type checking! +const result = await myContract.increase_balance(100); +``` + +## Working with Deployed Contracts + +### Generating TypeScript Types from Deployed Contracts + +For existing contracts on Starknet, you can generate TypeScript types in two ways: + +1. **Using Contract Class JSON**: + + ```bash + npx abi-wan-kanabi --input /path/to/contract_class.json --output /path/to/abi.ts + ``` + +2. **Directly from Network** (using starkli): + ```bash + # Fetch ABI and generate types in one command + starkli class-at "CONTRACT_ADDRESS" --network mainnet | npx abi-wan-kanabi --input /dev/stdin --output abi.ts + ``` + +### Example: Interacting with a Deployed Contract + +Here's a complete example of interacting with a deployed contract using generated types: + +```typescript +import { Contract, RpcProvider, constants } from 'starknet'; +import { ABI } from './abi'; + +const address = '0x00000005dd3d2f4429af886cd1a3b08289dbcea99a294197e9eb43b0e0325b4b'; +const myProvider = new RpcProvider({ nodeUrl: constants.NetworkName.SN_MAIN }); + +// Create typed contract instance +const myContract = new Contract({ + abi: ABI, + address, + providerOrAccount: myProvider, +}).typedv2(ABI); + +// Enjoy type inference and autocompletion +const primaryInterfaceId = await myContract.get_primary_interface_id(); +const protocolFees = await myContract.get_protocol_fees_collected('0x1'); +``` + +## Benefits of Type Safety + +Using typed contracts provides several advantages: + +1. **Compile-Time Error Detection**: Catch parameter type mismatches before deployment +2. **IDE Support**: Get function parameter hints and return type information +3. **Refactoring Support**: Safely rename functions and update parameters +4. **Documentation**: Types serve as inline documentation for contract interfaces + +## Best Practices + +1. Always use `typedv2()` for the latest type-checking features +2. Keep your ABI files in a dedicated directory for better organization +3. Use meaningful variable names that reflect the typed nature of your contracts +4. Consider creating type-safe wrapper functions for common contract interactions diff --git a/www/versioned_docs/version-7.6.2/guides/cairo_enum.md b/www/docs/guides/contracts/cairo_enum.md similarity index 99% rename from www/versioned_docs/version-7.6.2/guides/cairo_enum.md rename to www/docs/guides/contracts/cairo_enum.md index 20dfeec7e..0077e8f85 100644 --- a/www/versioned_docs/version-7.6.2/guides/cairo_enum.md +++ b/www/docs/guides/contracts/cairo_enum.md @@ -1,5 +1,6 @@ --- -sidebar_position: 17 +title: Enum type +sidebar_position: 5 --- # Cairo Enums diff --git a/www/docs/guides/contracts/connect_contract.md b/www/docs/guides/contracts/connect_contract.md new file mode 100644 index 000000000..2c9a434db --- /dev/null +++ b/www/docs/guides/contracts/connect_contract.md @@ -0,0 +1,324 @@ +--- +sidebar_position: 2 +--- + +# Contract Instance + +This guide explains how to connect to and interact with smart contracts on Starknet using Starknet.js. + +## Quick Start + +```typescript +import { Contract, RpcProvider, Account } from 'starknet'; + +// For read-only access +const readOnlyContract = new Contract({ + abi: contractAbi, + address: contractAddress, + providerOrAccount: myProvider, // Provider for reading +}); + +// For read-write access +const readWriteContract = new Contract({ + abi: contractAbi, + address: contractAddress, + providerOrAccount: myAccount, // Account for writing +}); +``` + +## Prerequisites + +Before connecting to a contract, you need: + +- ✅ A configured `Provider` (for read-only) or `Account` (for read-write) - see [Provider guide](../provider_instance.md) and [Account guide](../account/connect_account.md) +- ✅ The contract's address +- ✅ The contract's ABI (Application Binary Interface) + +## Loading Contract ABI + +### From Local File (Recommended) + +:::tip Important +Use Starknet.js's `json` utility to correctly parse contract artifacts with `BigInt` values. +::: + +```typescript +import fs from 'fs'; +import { json } from 'starknet'; + +const contractArtifact = json.parse(fs.readFileSync('./path/to/contract.json').toString('ascii')); +const abi = contractArtifact.abi; +``` + +### From Network (Fallback) + +```typescript +// ⚠️ Network intensive - avoid in production +const { abi } = await myProvider.getClassAt(contractAddress); +// Save for future use +fs.writeFileSync('./contract-abi.json', json.stringify(abi, null, 2)); +``` + +## Creating Contract Instances + +### Read-Only Access (Provider) + +```typescript +const contract = new Contract({ + abi: contractAbi, + address: contractAddress, + providerOrAccount: myProvider, // Provider instance +}); + +// Only view functions work +const balance = await contract.get_balance(); +``` + +### Read-Write Access (Account) + +```typescript +const contract = new Contract({ + abi: contractAbi, + address: contractAddress, + providerOrAccount: myAccount, // Account instance +}); + +// Both view and invoke functions work +const balance = await contract.get_balance(); +const tx = await contract.transfer(recipient, amount); +``` + +## Reading Contract State + +### Direct Method Calls + +```typescript +// Using contract methods (recommended) +const balance = await myContract.get_balance(address); +console.log('Balance:', balance.toString()); + +// Using generic call +const result = await myContract.call('get_balance', [address]); +``` + +### Handling Complex Return Types + +```typescript +// Struct return value +const { amount, owner } = await myContract.get_token_info(tokenId); + +// Array return value +const holders = await myContract.get_all_holders(); +for (const holder of holders) { + console.log('Holder:', holder); +} +``` + +## Writing to Contracts + +### Basic Transaction + +```typescript +// Send a transaction +const { transaction_hash } = await myContract.transfer(recipient, amount); + +// Wait for confirmation +await myProvider.waitForTransaction(transaction_hash); +``` + +### Handling Complex Parameters + +#### Structs + +```typescript +// Cairo struct +/* +struct TokenInfo { + amount: felt252, + owner: ContractAddress, +} +*/ + +// JavaScript object +await myContract.set_token_info({ + amount: 1000n, + owner: '0x123...', +}); +``` + +#### Arrays and Tuples + +```typescript +// Arrays +await myContract.set_values([1, 2, 3]); + +// Tuples +await myContract.set_coordinate({ x: 10, y: 20 }); +``` + +## Advanced Features + +### Using withOptions + +The `withOptions` method allows you to customize how the next contract interaction is processed. These options only apply to the immediately following operation and don't persist for subsequent calls. For a complete list of available options, see the [ContractOptions API reference](../../API/modules#contractoptions). + +```typescript +// Example: Multiple options for a transaction +const result = await myContract + .withOptions({ + // Block identifier for reading state + blockIdentifier: 'latest', + + // Request/Response parsing + parseRequest: true, // Parse and validate input arguments + parseResponse: true, // Parse response into structured data + + // Custom response formatting + formatResponse: { + balance: uint256ToBN, // Convert uint256 to BigNumber + tokens: (arr) => arr.map(Number), // Convert array elements to numbers + }, + + // Transaction details (for writes) + nonce: '0x1', + version: '0x1', + + // V1 transaction max fee, soon to be deprecated + maxFee: 1000n, + + // V3 transaction resource bounds, for RPC 0.8 and later + resourceBounds: { + l1_gas: { max_amount: '0x186a0', max_price_per_unit: '0x1' }, + l2_gas: { max_amount: '0x186a0', max_price_per_unit: '0x1' }, + l1_data_gas: { max_amount: '0x186a0', max_price_per_unit: '0x1' }, + }, + }) + .myFunction(arg1, arg2); +``` + +#### Common Use Cases + +1. **Reading Historical State**: + +```typescript +const pastBalance = await myContract + .withOptions({ blockIdentifier: '0x123...' }) + .get_balance(address); +``` + +2. **Custom Response Formatting**: + +```typescript +const { tokens, owner } = await myContract + .withOptions({ + formatResponse: { + tokens: (arr) => arr.map(BigInt), + owner: (addr) => addr.toLowerCase(), + }, + }) + .get_token_info(); +``` + +3. **Raw Data Mode**: + +```typescript +const rawResult = await myContract + .withOptions({ + parseRequest: false, + parseResponse: false, + }) + .my_function(); +``` + +4. **V3 Transaction with Resource Bounds**: + +```typescript +const tx = await myContract + .withOptions({ + version: '0x3', + resourceBounds: { + l1_gas: { max_amount: '0x186a0', max_price_per_unit: '0x1' }, + l2_gas: { max_amount: '0x186a0', max_price_per_unit: '0x1' }, + l1_data_gas: { max_amount: '0x186a0', max_price_per_unit: '0x1' }, + }, + }) + .transfer(recipient, amount); +``` + +### Fee Estimation + +```typescript +// Estimate before sending +const { resourceBounds } = await myContract.estimateFee.transfer(recipient, amount); +console.log('Estimated fee:', json.stringify(resourceBounds)); + +// Use in transaction +const tx = await myContract + .withOptions({ + resourceBounds, + }) + .transfer(recipient, amount); +``` + +### Transaction Building + +```typescript +// Prepare transaction without sending +const tx = myContract.populateTransaction.transfer(recipient, amount); + +// Use in multicall +const { transaction_hash } = await myAccount.execute([ + tx, + anotherContract.populateTransaction.approve(spender, amount), +]); +``` + +### Event Handling + +```typescript +// Listen for events +const receipt = await myProvider.waitForTransaction(tx.transaction_hash); +const events = myContract.parseEvents(receipt); + +// Process events +for (const event of events) { + console.log('Event:', { + name: event.name, + data: event.data, + }); +} +``` + +## Type Safety + +For enhanced development experience with TypeScript: + +- ✨ Full type checking +- 💡 IDE autocompletion +- 🐛 Compile-time error detection + +See our [TypeScript Integration Guide](./abi_typescript.md) for details. + +## Next Steps + +- **Deploy contracts**: See [Contract Deployment guide](./create_contract.md) +- **Interact with contracts**: See [Contract Interaction guide](./interact.md) +- **Handle complex data types**: See [Data Types guide](./define_call_message.md) +- **Work with multiple contracts**: See [Multicall guide](./multiCall.md) + +## Best Practices + +- Store ABIs locally instead of fetching from network +- Always update ABIs when recompiling contracts +- Use TypeScript for better type safety (see [TypeScript guide](./abi_typescript.md)) +- Estimate fees before transactions +- Handle errors appropriately + +## Common Issues and Solutions + +| Issue | Solution | +| -------------------- | ----------------------------------------- | +| Transaction Reverted | Check parameters and contract state | +| Insufficient Fee | Use `estimateFee` and add buffer | +| Nonce Too Low | Wait for previous transaction to complete | +| Contract Not Found | Verify address and network | diff --git a/www/docs/guides/contracts/create_contract.md b/www/docs/guides/contracts/create_contract.md new file mode 100644 index 000000000..ff7dbd92a --- /dev/null +++ b/www/docs/guides/contracts/create_contract.md @@ -0,0 +1,362 @@ +--- +sidebar_position: 1 +--- + +# Deploy + +## Overview + +In Starknet, deploying a smart contract involves two distinct phases: + +1. **Declaring the contract class** - Publishing the contract's logic and code on the network +2. **Deploying a contract instance** - Creating a specific instance with its own storage and address + +This two-phase deployment model is unique to Starknet and offers several advantages: + +- Cost efficiency: Multiple instances can reuse the same declared class +- Storage optimization: Contract code is stored once per class +- Upgradability: New instances can be deployed from existing classes + +![Contract Creation Process](./pictures/DeclareDeploy.svg) + +:::tip Important Concepts + +- **Contract Class**: Contains the logic and code (identified by Class Hash) +- **Contract Instance**: Contains the state/storage (identified by Contract Address) +- **Fees**: Both declaration and deployment incur fees, paid by the declaring account + +::: + +## Deployment Methods Overview + +Starknet.js provides two main approaches for contract deployment: + +| Method | Use Case | Declare + Deploy | Deploy Only | ABI Handling | +| ---------------------- | ------------------------------ | :--------------: | :---------: | -------------------- | +| **Contract.factory()** | Quick, streamlined deployments | ✅ | ✅ | Auto-fetch or manual | +| **Account methods** | Fine-grained control | ✅ | ✅ | Manual | + +Choose the method that best fits your use case: + +- **Contract.factory()**: Best for most use cases, especially when deploying from existing class hashes +- **Account methods**: Use when you need maximum control over the deployment process + +## Using Contract.factory() Static Method + +The `Contract.factory()` static method provides a streamlined approach for both declaring and deploying contracts, or deploying from existing class hashes. It handles the entire deployment lifecycle: compiling constructor calldata, declaring the contract class, deploying an instance, and returning a ready-to-use Contract object. + +This approach is useful when you need to: + +- Deploy contracts with automatic declaration and deployment +- Deploy from existing class hashes with automatic ABI fetching +- Ensure constructor argument validation against the contract ABI +- Get a ready-to-use Contract instance immediately after deployment + +### Declare and Deploy Mode + +Use this mode when you need to declare a new contract class and deploy an instance: + +```typescript +import { Contract } from 'starknet'; + +// Declare and deploy in one step +const myContract = await Contract.factory({ + contract: compiledSierra, // Compiled Sierra contract + casm: compiledCasm, // Compiled CASM file + account: myAccount, // Deploying account + constructorCalldata: { + name: 'MyToken', + symbol: 'MTK', + decimals: 18, + initialSupply: 1000n * 10n ** 18n, + recipient: myAccount.address, + }, +}); + +console.log('Contract deployed at:', myContract.address); +console.log('Class hash:', myContract.classHash); + +// Contract is immediately ready to use +const balance = await myContract.balanceOf(myAccount.address); +``` + +### Deploy-Only Mode + +When you have an existing class hash (e.g., standard contracts like ERC20), you can deploy directly without declaring: + +#### Deploy with ABI Fetched from Network + +```typescript +// ABI will be automatically fetched from the network +const myContract = await Contract.factory({ + classHash: '0x1234...', // Existing class hash + account: myAccount, + constructorCalldata: { + name: 'MyToken', + symbol: 'MTK', + decimals: 18, + initialSupply: 1000n * 10n ** 18n, + recipient: myAccount.address, + }, +}); + +// Contract is ready with automatically fetched ABI +const totalSupply = await myContract.totalSupply(); +``` + +#### Deploy with Provided ABI (Faster) + +```typescript +// Provide ABI to skip network fetch +const myContract = await Contract.factory({ + classHash: '0x1234...', // Existing class hash + abi: contractAbi, // Your contract ABI + account: myAccount, + constructorCalldata: { + name: 'MyToken', + symbol: 'MTK', + decimals: 18, + initialSupply: 1000n * 10n ** 18n, + recipient: myAccount.address, + }, +}); +``` + +### Advanced Options + +The factory method supports all deployment parameters: + +```typescript +const myContract = await Contract.factory({ + classHash: '0x1234...', + abi: contractAbi, // Optional: will fetch from network if not provided + account: myAccount, + constructorCalldata: { + // Your constructor parameters + }, + salt: '0xabcd...', // Optional: custom salt for address generation + unique: false, // Optional: set to false for predictable addresses + parseRequest: true, // Optional: enable/disable request parsing (default: true) +}); +``` + +The factory method supports all deployment parameters: + +```typescript +const myContract = await Contract.factory({ + classHash: '0x1234...', + abi: contractAbi, // Optional: will fetch from network if not provided + account: myAccount, + constructorCalldata: { + // Your constructor parameters + }, + salt: '0xabcd...', // Optional: custom salt for address generation + unique: false, // Optional: set to false for predictable addresses + parseRequest: true, // Optional: enable/disable request parsing (default: true) +}); +``` + +### Error Handling + +```typescript +try { + const myContract = await Contract.factory({ + classHash: '0x1234...', + account: myAccount, + constructorCalldata: constructorParams, + }); + console.log('Deployed at:', myContract.address); +} catch (error) { + if (error.message.includes('Class hash not declared')) { + console.error('Class hash does not exist on the network'); + } else if (error.message.includes('ABI not found')) { + console.error('Could not fetch ABI from network, provide it manually'); + } else if (error.message.includes('Insufficient funds')) { + console.error('Account has insufficient funds for deployment'); + } else { + console.error('Deployment failed:', error.message); + } +} +``` + +:::tip Recommended Approach + +`Contract.factory()` is the recommended way to deploy and create contract instances in Starknet.js. It provides a streamlined API that handles both declaration and deployment, with automatic ABI fetching when deploying from existing class hashes. + +::: + +## Using Account Methods Directly + +If you need more fine-grained control over the deployment process, you can use the Account methods directly. + +### Quick Start: `declareAndDeploy()` + +The fastest way to get your contract on Starknet is using the `declareAndDeploy()` method, which handles both phases in one transaction. + +```typescript +import { + RpcProvider, + Account, + Contract, + json, + stark, + uint256, + shortString, + type RawCalldata, + type Calldata, +} from 'starknet'; + +// Assuming provider and account are already set up (see Account guide) +// Load compiled contract files +const compiledSierra = json.parse( + fs.readFileSync('./compiledContracts/test.contract_class.json').toString('ascii') +); +const compiledCasm = json.parse( + fs.readFileSync('./compiledContracts/test.compiled_contract_class.json').toString('ascii') +); + +// 3. Declare & Deploy +const response = await myAccount.declareAndDeploy({ + contract: compiledSierra, + casm: compiledCasm, +}); + +// 4. Create Contract Instance +const myContract = new Contract({ + abi: compiledSierra.abi, + address: response.deploy.contract_address, + providerOrAccount: myProvider, +}); + +console.log('Contract Class Hash:', response.declare.class_hash); +console.log('Contract Address:', myContract.address); +``` + +### Deploying from Existing Classes + +If you want to deploy a new instance of an already declared contract class (e.g., a standard ERC20), use `deployContract()`: + +```typescript +// 1. Setup (provider & account setup same as above) + +// 2. Deploy using existing class hash +const existingClassHash = '0xff0378becffa6ad51c67ac968948dbbd110b8a8550397cf17866afebc6c17d'; +const deployResponse = await myAccount.deployContract({ + classHash: existingClassHash, +}); + +// 3. Wait for deployment +await myProvider.waitForTransaction(deployResponse.transaction_hash); + +// 4. Get contract ABI and create instance +const { abi } = await myProvider.getClassByHash(existingClassHash); +if (!abi) throw new Error('Contract ABI not found'); + +const myContract = new Contract({ + abi, + address: deployResponse.contract_address, + providerOrAccount: myProvider, +}); +``` + +:::tip Simplified Alternative +For a more streamlined approach, consider using `Contract.factory()` which handles ABI fetching automatically: + +```typescript +const myContract = await Contract.factory({ + classHash: existingClassHash, + account: myAccount, + // ABI will be fetched automatically from the network +}); +``` + +::: + +### Working with Constructors + +Many contracts require constructor arguments during deployment. Here are the recommended ways to handle constructor parameters: + +#### 1. Using `myCalldata.compile` (Recommended) + +This method provides type safety and automatic validation against the contract's ABI: + +```typescript +// Example constructor with multiple parameter types +const myArray: RawCalldata = ['0x0a', 24, 36n]; +const contractCallData = new CallData(compiledContractSierra.abi); + +const constructorParams = contractCallData.compile('constructor', { + name: 'MyToken', + symbol: 'MTK', + decimals: 18, + initialSupply: 1000n * 10n ** 18n, + array: myArray, +}); + +const deployResponse = await myAccount.deployContract({ + classHash: contractClassHash, + constructorCalldata: constructorParams, +}); +``` + +#### 2. Using `CallData.compile` (Simple Cases) + +For straightforward constructors, you can use the simpler `CallData.compile`: + +```typescript +// Named parameters +const constructorParams = CallData.compile({ + name: 'MyToken', + symbol: 'MTK', + decimals: 18, +}); + +// OR array format +const constructorParams = CallData.compile(['MyToken', 'MTK', 18]); +``` + +:::warning +Unlike `myCalldata.compile`, even the named parameters must match their order in the ABI since `CallData.compile` doesn't have access to the ABI to verify and enforce its constraints. +::: + +:::tip String Handling +For Cairo 2.4.0+, you can pass strings directly. For older versions, use: + +```typescript +shortString.splitLongString('Your long string here'); +``` + +::: + +### Declaring New Contract Classes + +To only declare a new contract class without deployment, use `declare()`: + +```typescript +const declareResponse = await myAccount.declare({ + contract: compiledSierra, + casm: compiledCasm, +}); + +await myProvider.waitForTransaction(declareResponse.transaction_hash); +console.log('Class Hash:', declareResponse.class_hash); +``` + +:::tip Avoiding Duplicate Declarations +Use `declareIfNot()` to prevent errors when declaring an already existing contract class: + +```typescript +const declareResponse = await myAccount.declareIfNot({ + contract: compiledSierra, + casm: compiledCasm, +}); +``` + +::: + +## Best Practices + +1. **Always wait for transactions**: Use `myProvider.waitForTransaction()` after deployments +2. **Error handling**: Implement proper try-catch blocks for network issues +3. **Gas estimation**: Consider estimating fees before deployment +4. **Contract verification**: Verify your contract works as intended on Devnet and/or Testnet before deploying to Mainnet diff --git a/www/versioned_docs/version-7.5.1/guides/define_call_message.md b/www/docs/guides/contracts/define_call_message.md similarity index 98% rename from www/versioned_docs/version-7.5.1/guides/define_call_message.md rename to www/docs/guides/contracts/define_call_message.md index 58acb1556..7924b90bd 100644 --- a/www/versioned_docs/version-7.5.1/guides/define_call_message.md +++ b/www/docs/guides/contracts/define_call_message.md @@ -1,8 +1,8 @@ --- -sidebar_position: 10 +sidebar_position: 4 --- -# Data transformation +# Data types This guide is the most important of all this documentation. Take your time, and read it carefully... @@ -293,8 +293,8 @@ Do not add the `array_len` parameter before your array. Starknet.js will manage ### Fixed array -Starknet type `[type_array; n]` is waiting for an array of `n` items of type `type_array`, without initial length parameter : item1, item2, ... -You can send it to Starknet.js the same way than arrays & spans: bigNumberish[]. +Starknet type `[type_array; n]` expects an array of `n` items of type `type_array`, without the initial length parameter: item1, item2, etc. +You can send it to Starknet.js the same way as arrays and spans: `bigNumberish[]`. ```typescript // for Cairo type [core::integer::u32; 4] @@ -501,7 +501,7 @@ const tx = await account0.execute([myCall1, myCall2, myCall3]); This type is particularly useful when you need the maximum performance and speed in your code; You have no automatic transformation, no checks with ABI, and no parsing. -You provide to starknet.js the low-level data expected by Starknet: +You provide to Starknet.js the low-level data expected by Starknet: ```typescript const specialParameters: Calldata = [ @@ -638,10 +638,10 @@ The result will be an object, with 2 strings: ## Tool to learn how to encode/decode -A DAPP has been created to learn how to encode/decode with Starknet.js : **Startnet-encode-decode**. +A DAPP has been created to learn how to encode/decode with Starknet.js: **Startnet-encode-decode**. It's also a convenient tool for the exploration of any contract ABI. ![](./pictures/encodeFn2.png) -Follow these links : -DAPP : https://starknet-encode-decode.vercel.app/ -Tuto : https://github.com/PhilippeR26/starknet-encode-decode/blob/main/tuto.md +Follow these links: +DAPP: https://starknet-encode-decode.vercel.app/ +Tuto: https://github.com/PhilippeR26/starknet-encode-decode/blob/main/tuto.md diff --git a/www/versioned_docs/version-7.6.2/guides/events.md b/www/docs/guides/contracts/events.md similarity index 78% rename from www/versioned_docs/version-7.6.2/guides/events.md rename to www/docs/guides/contracts/events.md index e2e61ac91..a354b46bc 100644 --- a/www/versioned_docs/version-7.6.2/guides/events.md +++ b/www/docs/guides/contracts/events.md @@ -51,7 +51,7 @@ const transactionHash = myContract.invoke('emitEventPanic', [8, 'Mega Panic.']); Then get the transaction receipt: ```typescript -const txReceipt = await provider.waitForTransaction(transactionHash); +const txReceipt = await myProvider.waitForTransaction(transactionHash); ``` ### Raw response @@ -125,10 +125,10 @@ In this example, if you want to read the events recorded in the last 10 blocks, ```typescript import { RpcProvider } from 'starknet'; -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); -const lastBlock = await provider.getBlock('latest'); -const keyFilter = [[num.toHex(hash.starknetKeccak('EventPanic')), '0x8']]; -const eventsList = await provider.getEvents({ +const myProvider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); +const lastBlock = await myProvider.getBlock('latest'); +const keyFilter = [[num.toHex(hash.starknetKeccak('EventPanic'))], ['0x8']]; +const eventsList = await myProvider.getEvents({ address: myContractAddress, from_block: { block_number: lastBlock.block_number - 9 }, to_block: { block_number: lastBlock.block_number }, @@ -142,11 +142,14 @@ const eventsList = await provider.getEvents({ ::: :::tip -If you don't want to filter by key, you can either remove the `keys` parameter, or affect it this way: `[[]]` . -::: + +- If you don't want to filter by key, you can either remove the `keys` parameter, or affect it this way: `[[]]`. +- `keys` is an array of accepted keys values (see [SNIP-13](https://github.com/starknet-io/SNIPs/tree/main/SNIPS/snip-13.md#specification)). If you are looking at only A in first key : use [[A]]. + If you want A or B in the first key: use [[A,B]]. If you want A in the first key, and B in the second key, use [[A],[B]]. If you want A or B in the first key AND C in the second key, use `[[A,B],[C]]`. + ::: :::warning CAUTION -An event can be nested in a Cairo component (See the Cairo code of the contract to verify). In this case, the array of keys will start with additional hashes, and you will have to adapt your code in consequence; in this example, we have to skip one hash : +An event can be nested in a Cairo component (See the Cairo code of the contract to verify). In this case, the array of keys will start with additional hashes, and you will have to adapt your code in consequence; in this example, we have to skip one hash: ```typescript const keyFilter = [[], [num.toHex(hash.starknetKeccak('EventPanic'))]]; @@ -166,25 +169,27 @@ To limit the workload of the node, the parameter `chunk_size` defines a size of Hereunder a code to read all the chunks of a request: ```typescript -const keyFilter = [num.toHex(hash.starknetKeccak('EventPanic')), '0x8']; -let block = await provider.getBlock('latest'); +import type { EMITTED_EVENT } from '@starknet-io/types-js'; +const keyFilter = [[num.toHex(hash.starknetKeccak('EventPanic'))], ['0x8']]; +const block = await myProvider.getBlock('latest'); console.log('bloc #', block.block_number); - let continuationToken: string | undefined = '0'; let chunkNum: number = 1; +const collectedEvents: EMITTED_EVENT[] = []; while (continuationToken) { - const eventsRes = await providerRPC.getEvents({ + const eventsRes = await myProvider.getEvents({ from_block: { - block_number: block.block_number - 30, + block_number: Math.max(0, block.block_number - 30), }, to_block: { block_number: block.block_number, }, - address: myContractAddress, - keys: [keyFilter], + address: myTestContract.address, + keys: keyFilter, chunk_size: 5, continuation_token: continuationToken === '0' ? undefined : continuationToken, }); + collectedEvents.push(...eventsRes.events); const nbEvents = eventsRes.events.length; continuationToken = eventsRes.continuation_token; console.log('chunk nb =', chunkNum, '.', nbEvents, 'events recovered.'); @@ -206,12 +211,14 @@ while (continuationToken) { } ``` -If you want to parse an array of events of the same contract (abi of the contract available) : +If you want to parse an array of events of the same contract (abi of the contract available): ```typescript -const abiEvents = events.getAbiEvents(abi); -const abiStructs = CallData.getAbiStruct(abi); -const abiEnums = CallData.getAbiEnum(abi); -const parsed = events.parseEvents(eventsRes.events, abiEvents, abiStructs, abiEnums); -console.log('parsed events=', parsed); +const myTestCallData = new CallData((compiledSierra as CompiledSierra).abi); +const abiEvents = events.getAbiEvents(myTestCallData.abi); +const abiStructs = CallData.getAbiStruct(myTestCallData.abi); +const abiEnums = CallData.getAbiEnum(myTestCallData.abi); +const parser = myTestCallData.parser; +const parsedEvents = events.parseEvents(collectedEvents, abiEvents, abiStructs, abiEnums, parser); +console.log('parsed events =', parsedEvents); ``` diff --git a/www/docs/guides/contracts/interact.md b/www/docs/guides/contracts/interact.md new file mode 100644 index 000000000..ce0242ccb --- /dev/null +++ b/www/docs/guides/contracts/interact.md @@ -0,0 +1,225 @@ +--- +sidebar_position: 3 +--- + +# Interact with your contract + +Once your contract is connected (see [Contract Instance guide](./connect_contract.md)), you can interact with it: + +- **Read operations**: Free - query contract state without fees +- **Write operations**: Paid - modify contract state with STRK fees + +:::info + +Ensure your account has sufficient STRK for transaction fees (20 STRK is a good start). + +::: + +![](./pictures/contract-interaction.svg) + +Here we will interact with a `test.cairo` contract (Cairo 1) already deployed in Sepolia Testnet at the address: + +- [0x02d2a4804f83c34227314dba41d5c2f8a546a500d34e30bb5078fd36b5af2d77](https://sepolia.starkscan.co/contract/0x02d2a4804f83c34227314dba41d5c2f8a546a500d34e30bb5078fd36b5af2d77) + +This contract contains a storage variable called `balance`. + +- It can be read with the `fn get_balance(self: @TContractState) -> felt252;` +- Balance can be modified with `fn increase_balance(ref self: TContractState, amount: felt252);` + +```typescript +import { Contract, CallData } from 'starknet'; +``` + +## 🔍 Reading Contract State + +Use the contract instance (connected with Provider) to call view functions: + +```typescript +// Assuming contract is already connected (see connect_contract.md) +const balance = await myContract.get_balance(); +console.log('Balance:', balance); + +// View functions with parameters +const userBalance = await myContract.balanceOf(userAddress); +console.log('User balance:', userBalance); +``` + +:::tip + +- Cairo 1 contracts return values directly as `bigint` +- Cairo 0 contracts return objects with named properties (e.g., `result.res`) + +::: + +## ✍️ Writing to Contract State + +Use the contract instance (connected with Account) to call state-changing functions: + +```typescript +// Assuming contract is connected with Account (see connect_contract.md) +// Direct function call +const tx = await myContract.increase_balance(10); +await myProvider.waitForTransaction(tx.transaction_hash); + +// Using populate for complex parameters +const call = myContract.populate('transfer', { + recipient: recipientAddress, + amount: transferAmount, +}); +const tx2 = await myContract.transfer(call.calldata); +await myProvider.waitForTransaction(tx2.transaction_hash); +``` + +:::tip + +Use `Contract.populate()` to prepare call data for complex parameters or multicalls. + +::: + +:::info + +**v8 Note**: Only V3 transactions with STRK fees are supported in Starknet.js v8. ETH fee transactions (V1/V2) have been removed with Starknet 0.14. + +All transactions now use V3 transactions with STRK fees by default. + +::: + +## ✍️ Send a transaction, paying fees with ETH or any supported Token + +Check Account Paymaster Section. + +## Sending sequential transactions + +If you intend to send sequential transactions through the contract object, like so: + +```typescript +const tx = await cairo1Contract.array2d_ex(data); +const tx1 = await cairo1Contract.array2d_ex(data); +``` + +Be sure to use `waitForTransaction` between the calls, because you may experience issues with the nonce not incrementing. For more details about multicalls, see [this guide](./multiCall.md). + +For more information about defining call messages and parameters, see [this guide](./define_call_message.md). + +## Multiple Operations (Multicall) + +Execute multiple contract calls in a single transaction: + +```typescript +const result = await myAccount.execute([ + { + contractAddress: tokenAddress, + entrypoint: 'approve', + calldata: CallData.compile({ spender: recipient, amount: 1000n }), + }, + { + contractAddress: tokenAddress, + entrypoint: 'transfer', + calldata: CallData.compile({ recipient, amount: 500n }), + }, +]); +await myProvider.waitForTransaction(result.transaction_hash); +``` + +For detailed multicall examples, see the [Multicall guide](./multiCall.md). + +## Fast consecutive transactions + +In some cases, it's important to be able to process as fast as possible consecutive transactions. Gaming is fond of this feature. +A normal transaction (with `myProvider.waitForTransaction(txH)`) needs more than 10 seconds. To be able to process a transaction each 2-3 seconds, use: + +```ts +const myProvider = new RpcProvider({ + nodeUrl: url, + specVersion: '0.9.0', + blockIdentifier: BlockTag.PRE_CONFIRMED, +}); +const myAccount = new Account({ + provider: myProvider, + address: accountAddress0, + signer: privateKey0, +}); +const call1 = gameContract.populate('decrease_qty_weapons', { qty: 5 }); +const tipStats = await myProvider.getEstimateTip(); +const resp = await myAccount.fastExecute( + call1, + { tip: recommendedTip }, + { retries: 30, retryInterval: 500 } +); +if (resp.isReady) { + const call2 = gameContract.populate('increase_qty_weapons', { qty: 10 }); + const resp = await myAccount.fastExecute( + call2, + { tip: tipStats.recommendedTip }, + { retries: 30, retryInterval: 500 } + ); +} +``` + +:::warning Warning + +- This method requires the provider to be initialized with `pre_confirmed` blockIdentifier option. +- Rpc 0.9 minimum. +- In a normal `myAccount.execute()` call, followed by `myProvider.waitForTransaction()`, you have an immediate access to the events and to the transaction report. Here, we are processing consecutive transactions faster ; then events & transaction reports are not available immediately. +- As a consequence of the previous point, do not use contract/account deployment with this method. Use the normal way. +- `fastExecute()` is generating a significant amount of communication with the node. To use sparingly, especially with a public node. + +::: + +## Other existing methods + +Some other useful methods to interact with Starknet: + +### Function name defined in the code + +If you want to call a function with its name contained in a variable: + +```typescript +const listFn = ['calc-sum', 'calc-hash', 'calc-proof']; +// fnChoice is a number defined during execution +const res = await myTestContract[listFn[fnChoice]](200, 234567897n, 865423); +``` + +### Light and fast call + +If you want to have a very fast execution, with minimum resource usage: + +```typescript +const specialParameters: Calldata = ['2036735872918048433518', '5130580', '18']; +const getResponse = await myAccount.call('get_bal', specialParameters, { parseRequest: false }); +``` + +You provide the low-level numbers expected by Starknet, without any parsing or checking. See more details [here](./define_call_message.md#parse-configuration). + +## Transaction receipt response + +You can interpret the transaction receipt response to check whether it succeeded or not. + +```typescript +const result = await myAccount.execute(myCall); +const txR = await myProvider.waitForTransaction(result.transaction_hash); + +console.log(txR.statusReceipt, txR.value); +console.log(txR.isSuccess(), txR.isReverted(), txR.isError()); + +txR.match({ + success: () => { + console.log('Success'); + }, + _: () => { + console.log('Unsuccess'); + }, +}); + +txR.match({ + success: (txR: SuccessfulTransactionReceiptResponse) => { + console.log('Success =', txR); + }, + reverted: (txR: RevertedTransactionReceiptResponse) => { + console.log('Reverted =', txR); + }, + error: (err: Error) => { + console.log('An error occured =', err); + }, +}); +``` diff --git a/www/docs/guides/contracts/l1_message.md b/www/docs/guides/contracts/l1_message.md new file mode 100644 index 000000000..1144bf5d9 --- /dev/null +++ b/www/docs/guides/contracts/l1_message.md @@ -0,0 +1,279 @@ +--- +title: Messages L1 - L2 +sidebar_position: 8 +--- + +# Messages L1 - L2 + +This guide explains how to handle communication between Ethereum (Layer 1) and Starknet (Layer 2) using Starknet.js. Messages can be exchanged between: + +- L2 Starknet Mainnet ↔️ L1 Ethereum +- L2 Starknet Testnet ↔️ L1 Sepolia ETH testnet +- L2 local Starknet Devnet ↔️ L1 local ETH testnet (Foundry/Anvil, ...) + +For a detailed explanation of the messaging architecture, see the [Starknet documentation](https://docs.starknet.io/architecture/messaging/). + +## Prerequisites + +- A deployed Starknet contract that can handle L1 messages +- An Ethereum contract that can send messages to Starknet +- Basic knowledge of Ethereum and Starknet development + +## Sending Messages from L1 ➡️ L2 + +### 1. Estimate the Message Fee + +When sending a message from L1 to L2, you need to pay two fees: + +1. The normal L1 gas fee for the Ethereum transaction +2. An extra fee (passed as value to `sendMessageToL2`) to pay for the L2 part (with the L1 fee TOKEN) + +You can estimate the L2 fee (the extra fee) with this function: + +```typescript +import { RpcProvider, constants } from 'starknet'; + +// Initialize provider for testnet +const myProvider = new RpcProvider({ nodeUrl: constants.NetworkName.SN_SEPOLIA }); + +// Estimate the L2 part of the message fee +const messageFee = await myProvider.estimateMessageFee({ + from_address: l1ContractAddress, // The L1 contract address + to_address: l2ContractAddress, // The L2 contract address + entry_point_selector: 'handle_l1_message', // The L2 function name + payload: ['1234567890123456789', '200'], // The parameters (without from_address) +}); +``` + +### 2. Sending + +On your L1 contract, use the Starknet core contract's `sendMessageToL2` function: + +```solidity +/** + Sends a message to an L2 contract. + This function is payable, the paid amount is the message fee. + Returns the hash of the message and the nonce of the message. +*/ +function sendMessageToL2( + uint256 toAddress, + uint256 selector, + uint256[] calldata payload +) external payable returns (bytes32, uint256); +``` + +The L2 contract at `to_address` will automatically execute the function specified by `entry_point_selector`. This function must: + +- Have the `#[l1_handler]` decorator +- Have `from_address: felt252` as its first parameter +- The payload should NOT include the `from_address` parameter + +### 3. Consuming + +Your Starknet contract needs to implement the appropriate interface to handle L1 messages. Here's an example in Cairo: + +```cairo +#[starknet::interface] +trait IL1Handler { + fn handle_l1_message(ref self: TContractState, from_address: felt252, payload: Array); +} + +#[starknet::contract] +mod MyContract { + #[storage] + struct Storage { + value: felt252, + } + + #[l1_handler] + fn handle_l1_message(ref self: TContractState, from_address: felt252, payload: Array) { + // Handle the message from L1 + // payload[0] contains the first parameter, payload[1] contains the second, etc. + self.value.write(payload[0]); + } +} +``` + +### 4. Status + +You can check the status of L1-L2 messages: + +```typescript +// For L1->L2 messages +const l1MessagesStatus = await myProvider.getL1MessagesStatus(l1TransactionHash); +``` + +### 5. Hashes and Verification + +You can calculate and verify message hashes in three ways: + +#### a) Get Message Hash from L1 Transaction + +```typescript +const l1FromAddress = '0x0000000000000000000000008453fc6cd1bcfe8d4dfc069c400b433054d47bdc'; +const l2ToAddress = 2158142789748719025684046545159279785659305214176670733242887773692203401023n; +const l2Selector = 774397379524139446221206168840917193112228400237242521560346153613428128537n; +const payload = [ + 4543560n, + 829565602143178078434185452406102222830667255948n, + 3461886633118033953192540141609307739580461579986333346825796013261542798665n, + 9000000000000000n, + 0n, +]; +const l1Nonce = 8288n; + +const l1ToL2MessageHash = hash.getL2MessageHash( + l1FromAddress, + l2ToAddress, + l2Selector, + payload, + l1Nonce +); +// Verify at: https://sepolia.starkscan.co/message/0x2e350fa9d830482605cb68be4fdb9f0cb3e1f95a0c51623ac1a5d1bd997c2090#messagelogs +``` + +#### b) Get L1 Message Hash from L2 Transaction + +```typescript +const l2TransactionHash = '0x28dfc05eb4f261b37ddad451ff22f1d08d4e3c24dc646af0ec69fa20e096819'; +const l1MessageHash = await myProvider.getL1MessageHash(l2TransactionHash); +// Verify at: https://sepolia.voyager.online/tx/0x28dfc05eb4f261b37ddad451ff22f1d08d4e3c24dc646af0ec69fa20e096819#messages +``` + +#### c) Get Transaction Hash from L1 Transaction + +```typescript +const l1ToL2TransactionHash = hash.calculateL2MessageTxHash( + l1FromAddress, + l2ToAddress, + l2Selector, + payload, + constants.StarknetChainId.SN_SEPOLIA, + l1Nonce +); +// Verify at: https://sepolia.starkscan.co/tx/0x067d959200d65d4ad293aa4b0da21bb050a1f669bce37d215c6edbf041269c07 +``` + +## Sending Messages from L2 ➡️ L1 + +### 1. Estimate the Fee + +Before sending a message, estimate the fee that will cover both L1 and L2 costs: + +```typescript +// Assuming account0 is initialized with the v8 object syntax +// const account0 = new Account({ provider: myProvider, address: accountAddress, signer: privateKey }); + +const { suggestedMaxFee } = await account0.estimateInvokeFee({ + contractAddress: L2ContractAddress, + entrypoint: 'send_message_to_l1', + calldata: [ + toAddress, // L1 recipient address + '123', // First parameter + '456', // Second parameter + ], +}); +``` + +### 2. Sending + +The message is sent by invoking a function in your Cairo contract. The contract will handle the actual message sending to L1. + +```typescript +// Send the message by invoking the contract function +const tx = await account0.execute({ + contractAddress: L2ContractAddress, + entrypoint: 'send_message_to_l1', + calldata: [toAddress, '123', '456'], + maxFee: suggestedMaxFee, +}); + +// Wait for the transaction to be accepted +await myProvider.waitForTransaction(tx.transaction_hash); +``` + +### 3. Consuming + +Your Ethereum contract needs to implement the logic to consume messages from L2. Here's an example in Solidity: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface IStarknetCore { + function consumeMessageFromL2( + uint256 fromAddress, + uint256[] calldata payload + ) external; +} + +contract L1Contract { + IStarknetCore starknetCore; + + constructor(address _starknetCore) { + starknetCore = IStarknetCore(_starknetCore); + } + + function consumeMessage( + uint256 fromAddress, + uint256[] calldata payload + ) external { + // Consume the message from L2 + starknetCore.consumeMessageFromL2(fromAddress, payload); + + // Handle the message data + // payload[0] contains the first parameter, payload[1] contains the second, etc. + } +} +``` + +### 4. Hashes and Verification + +You can calculate the L2->L1 message hash for verification: + +```typescript +const fromL2Address = '0x04c5772d1914fe6ce891b64eb35bf3522aeae1315647314aac58b01137607f3f'; +const toL1Address = '0x8453fc6cd1bcfe8d4dfc069c400b433054d47bdc'; +const payloadMessage = [ + 0n, + 1270393329865452722422775477982592488490549769359n, + 4543560n, + 200000000000000, + 0n, +]; +const l2ToL1MessageHash = hash.getL1MessageHash(fromL2Address, toL1Address, payloadMessage); +// Verify at: https://sepolia.voyager.online/message/0x2eace1d0ab5dbe354a93fb0a59c6b98f26e6a0fe7c33f87329f8fc9829058b8b +``` + +## Best Practices + +1. **Message Fees**: Always estimate and include the correct message fee when sending messages from L1 to L2. + +2. **State Synchronization**: Remember that L1-L2 communication is not instant. Design your application to handle asynchronous state updates. + +3. **Error Handling**: Implement proper error handling for cases where messages fail to be delivered or consumed. + +4. **Testing**: Test your L1-L2 messaging thoroughly on devnet or testnet before deploying to mainnet. + +## Common Issues and Solutions + +### Message Not Received + +If a message is not being received, check: + +- Message fee is sufficient +- Contract addresses are correct +- Function signatures match +- Network state is properly synced + +### Message Consumption Fails + +If message consumption fails: + +- Verify payload format matches the expected parameters +- Check if the message has already been consumed +- Ensure the consuming contract has proper permissions + +## Additional Resources + +- [Starknet Messaging Documentation](https://docs.starknet.io/architecture/messaging/#l2_l1_messages) diff --git a/www/docs/guides/contracts/multiCall.md b/www/docs/guides/contracts/multiCall.md new file mode 100644 index 000000000..ba9690ee6 --- /dev/null +++ b/www/docs/guides/contracts/multiCall.md @@ -0,0 +1,71 @@ +--- +sidebar_position: 7 +--- + +# Interact with Multiple Contracts + +Interacting with more than one contract with one transaction is one of Starknet's features. To use this feature, two contracts are required. + +## Prerequisites + +Before using multicalls, ensure you have: + +- A connected Account instance (see [Account guide](../account/connect_account.md)) +- Contract addresses you want to interact with + +```typescript +// Example contract addresses +const ethTokenAddress = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7'; +const bridgeAddress = '0x078f36c1d59dd29e00a0bb60aa2a9409856f4f9841c47f165aba5bab4225aa6b'; +``` + +## Interact with contracts + +Interact with more than one contract by using `account.execute([calls])`. The example is as follows. + +```typescript +import { CallData, cairo } from 'starknet'; + +const multiCall = await myAccount.execute([ + // First call: Approve tokens + { + contractAddress: ethTokenAddress, + entrypoint: 'approve', + calldata: CallData.compile({ + spender: bridgeAddress, + amount: cairo.uint256(1), + }), + }, + // Second call: Use approved tokens + { + contractAddress: bridgeAddress, + entrypoint: 'transfer_ether', + calldata: CallData.compile({ + amount: cairo.uint256(1), + }), + }, +]); + +await myProvider.waitForTransaction(multiCall.transaction_hash); +console.log('Multicall completed!'); +``` + +## Using Contract.populate() + +For better type safety and parameter validation: + +```typescript +// Prepare calls using contract instances +const approveCall = ethContract.populate('approve', { + spender: bridgeAddress, + amount: cairo.uint256(transferAmount), +}); + +const transferCall = bridgeContract.populate('transfer_ether', { + amount: cairo.uint256(transferAmount), +}); + +// Execute both calls in one transaction +const tx = await myAccount.execute([approveCall, transferCall]); +await myProvider.waitForTransaction(tx.transaction_hash); +``` diff --git a/www/docs/guides/contracts/pictures/DeclareDeploy.svg b/www/docs/guides/contracts/pictures/DeclareDeploy.svg new file mode 100644 index 000000000..88fff795c --- /dev/null +++ b/www/docs/guides/contracts/pictures/DeclareDeploy.svg @@ -0,0 +1 @@ +

Starknet Network

Starknet JS

Client dApp

Contract Class A

Contract Instance A1

Contract Instance A2

Instance

Account

contractFactory

Browser

Node.js

Declare

Class Hash

Con. Instance A2 Adderss

Deploy

\ No newline at end of file diff --git a/www/docs/guides/pictures/ERC20.png b/www/docs/guides/contracts/pictures/ERC20.png similarity index 100% rename from www/docs/guides/pictures/ERC20.png rename to www/docs/guides/contracts/pictures/ERC20.png diff --git a/www/docs/guides/contracts/pictures/contract-interaction.svg b/www/docs/guides/contracts/pictures/contract-interaction.svg new file mode 100644 index 000000000..f3fee6ee6 --- /dev/null +++ b/www/docs/guides/contracts/pictures/contract-interaction.svg @@ -0,0 +1 @@ +

Starknet Network

Starknet JS

Client dApp

Contract Instance A1

Instance

Account

Contract

Browser

Node.js

write

tx hash

read data

read

\ No newline at end of file diff --git a/www/versioned_docs/version-7.5.1/guides/pictures/encodeFn2.png b/www/docs/guides/contracts/pictures/encodeFn2.png similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/pictures/encodeFn2.png rename to www/docs/guides/contracts/pictures/encodeFn2.png diff --git a/www/docs/guides/contracts/use_ERC20.md b/www/docs/guides/contracts/use_ERC20.md new file mode 100644 index 000000000..f1632a5d1 --- /dev/null +++ b/www/docs/guides/contracts/use_ERC20.md @@ -0,0 +1,112 @@ +--- +sidebar_position: 5 +--- + +# ERC20 tokens + +Based on what has been seen in the previous pages of this guide, we will use an ERC20 contract. + +## What's an ERC20 + +As in Ethereum, a token has an ERC20 contract to manage it. This contract contains a table, that lists the quantity of tokens owned by each involved account: +![](./pictures/ERC20.png) + +For example, Account address 2 owns 100 tokens of this ERC20 contract. + +Users have the feeling that their tokens are stored in their wallets, but it's absolutely false. You have no list of assets stored in your account contract. In fact, a token has its own ERC20 contract, and the amount of token owned by your account address is stored in this contract. + +If you want to have your balance of a token, ask for its ERC20 contract, with the function `ERC20contract.balanceOf(accountAddress)`. + +When you want to transfer some tokens in your possession, you have to use the ERC20 contract function `transfer`, through the `account.execute` function (or meta-class methods). In this way, Starknet.js will send to the account contract a message signed with the private key. + +This message contains the name of the function to call in the ERC20 contract, with its optional parameters. + +The account contract will use the public key to check that you have the private key, then will ask the ERC20 contract to execute the requested function. + +This way, the ERC20 contract is absolutely sure that the caller of the transfer function knows the private key of this account. + +## STRK token is an ERC20 in Starknet + +Unlike Ethereum, the ETH and STRK fee tokens are both ERC20 in Starknet, just like all other tokens. In all networks, their ERC20 contract addresses are: + +```typescript +const addrSTRK = '0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d'; +const addrETH = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7'; +``` + +## Deploy an ERC20 + +This example shows deploying an ERC20 token. For basic setup (provider, account), see the [Account Connection guide](../account/connect_account.md). + +### Using Contract.factory() (Recommended) + +```typescript +import { Contract, CallData, cairo } from 'starknet'; + +// Deploy ERC20 using the factory method +const erc20Contract = await Contract.factory({ + compiledContract: compiledSierra, + account: myAccount, + casm: compiledCasm, + constructorArguments: { + name: 'niceToken', + symbol: 'NIT', + fixed_supply: cairo.uint256(20n * 10n ** 18n), + recipient: myAccount.address, + }, +}); + +console.log('ERC20 deployed at:', erc20Contract.address); +``` + +### Using Account Methods Directly + +```typescript +// Alternative: using declareAndDeploy for more control +const erc20CallData = new CallData(compiledSierra.abi); +const constructorCallData = erc20CallData.compile('constructor', { + name: 'niceToken', + symbol: 'NIT', + fixed_supply: cairo.uint256(20n * 10n ** 18n), + recipient: myAccount.address, +}); + +const deployResponse = await myAccount.declareAndDeploy({ + contract: compiledSierra, + casm: compiledCasm, + constructorCalldata: constructorCallData, +}); + +// Create contract instance +const erc20 = new Contract({ + abi: compiledSierra.abi, + address: deployResponse.deploy.contract_address, + providerOrAccount: myAccount, +}); +``` + +## Interact with an ERC20 + +Standard ERC20 operations: + +```typescript +// Check balance +const balance = await erc20.balanceOf(myAccount.address); +console.log('Balance:', balance); + +// Transfer tokens (direct method call) +const recipient = '0x78662e7352d062084b0010068b99288486c2d8b914f6e2a55ce945f8792c8b1'; +const amount = cairo.uint256(1n * 10n ** 18n); // 1 token +const tx = await erc20.transfer(recipient, amount); +await myProvider.waitForTransaction(tx.transaction_hash); + +// Approve spending +const spender = '0x...'; +const allowanceAmount = cairo.uint256(5n * 10n ** 18n); +const approveTx = await erc20.approve(spender, allowanceAmount); +await myProvider.waitForTransaction(approveTx.transaction_hash); + +// Check allowance +const allowance = await erc20.allowance(myAccount.address, spender); +console.log('Allowance:', allowance); +``` diff --git a/www/docs/guides/estimate_fees.md b/www/docs/guides/estimate_fees.md deleted file mode 100644 index 6401fe41c..000000000 --- a/www/docs/guides/estimate_fees.md +++ /dev/null @@ -1,206 +0,0 @@ ---- -sidebar_position: 11 ---- - -# Estimate fees - -By default, all non-free Starknet commands (declare, deploy, invoke) work without any cost limits. - -You might want to inform the DAPP user of the cost of the incoming paid command before proceeding and requesting its validation. - -Starknet.js proposes several functions to estimate the fees: - -## estimateInvokeFee - -To estimate the cost to invoke a contract in the network: - -```typescript -const { suggestedMaxFee, unit } = await account0.estimateInvokeFee({ - contractAddress: testAddress, - entrypoint: 'increase_balance', - calldata: ['10', '30'], -}); -``` - -The result is in `suggestedMaxFee`, of type BigInt. The corresponding unit for this number is in `unit`. It's WEI for "legacy" transactions, and FRI for V3 transactions. - -:::tip -More details about the complex subject of Starknet fees in [Starknet docs](https://docs.starknet.io/architecture-and-concepts/network-architecture/fee-mechanism/) -::: - -The complete answer for an RPC 0.7 "legacy" transaction: - -```typescript -{ - overall_fee: 123900000000000n, - unit: 'WEI', - l1_gas_consumed: 1047n, - l1_gas_price: 100000000000n, - l1_data_gas_consumed: 192n, - l1_data_gas_price: 100000000000n, - suggestedMaxFee: 185850000000000n, - resourceBounds: { - l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - l1_gas: { max_amount: '0x742', max_price_per_unit: '0x22ecb25c00' } - } -} -``` - -The complete answer for an RPC 0.7 V3 transaction: - -```typescript -{ - overall_fee: 123900000000000n, - unit: 'FRI', - l1_gas_consumed: 1047n, - l1_gas_price: 100000000000n, - l1_data_gas_consumed: 192n, - l1_data_gas_price: 100000000000n, - suggestedMaxFee: 185850000000000n, - resourceBounds: { - l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - l1_gas: { max_amount: '0x742', max_price_per_unit: '0x22ecb25c00' } - } -} -``` - -The complete answer for an RPC 0.8 V3 transaction: - -```typescript -{ - overall_fee: 4188627200000000000n, - unit: 'FRI', - l1_gas_consumed: 0n, - l1_gas_price: 100000000000n, - l2_gas_consumed: 41886080n, - l2_gas_price: 100000000000n, - l1_data_gas_consumed: 192n, - l1_data_gas_price: 100000000000n, - suggestedMaxFee: 6282940800000000000n, - resourceBounds: { - l2_gas: { max_amount: '0x3beb240', max_price_per_unit: '0x22ecb25c00' }, - l1_gas: { max_amount: '0x0', max_price_per_unit: '0x22ecb25c00' }, - l1_data_gas: { max_amount: '0x120', max_price_per_unit: '0x22ecb25c00' } - } -} -``` - -## estimateDeclareFee - -To estimate the cost to declare a contract in the network: - -```typescript -const { suggestedMaxFee } = await account0.estimateDeclareFee({ - contract: compiledTest, - classHash: testClassHash, -}); -``` - -The result is in `suggestedMaxFee`, of type BigInt. The units and full response format are the same as `invoke`. - -## estimateDeployFee - -To estimate the cost to deploy a contract in the network: - -```typescript -const { suggestedMaxFee } = await account0.estimateDeployFee({ - classHash: testClassHash, - // `constructorCalldata` is not necessary if the contract to deploy has no constructor - constructorCalldata: callData, -}); -``` - -The result is in `suggestedMaxFee`, of type BigInt. The units and full response format are the same as `invoke`. - -## estimateAccountDeployFee - -To estimate the cost to deploy an account in the network: - -```typescript -const { suggestedMaxFee } = await account0.estimateAccountDeployFee({ - classHash: OZaccountClassHash, - constructorCalldata: OZaccountConstructorCallData, - contractAddress: OZcontractAddress, -}); -``` - -The result is in `suggestedMaxFee`, of type BigInt. Units and full response format are the same than `invoke`. - -## Fee limitation - -In some cases, a transaction can fail due to the fees being underestimated. You can increase these limits by setting a global config setting (default values are 50): - -```typescript -config.set('feeMarginPercentage', { - bounds: { - l1_gas: { - max_amount: 75, - max_price_per_unit: 60, - }, - l2_gas: { - max_amount: 100, - max_price_per_unit: 60, - }, - l1_data_gas: { - max_amount: 80, - max_price_per_unit: 70, - }, - }, - maxFee: 22, -}); -``` - -:::note - -- Values are additional percentage: 75 means 75% additional fees. -- To get back to normal values: set all values to 50. - ::: - -Example for declaring, with 80% additional fees: - -```typescript -config.set('feeMarginPercentage', { - bounds: { - l1_gas: { - max_amount: 80, - max_price_per_unit: 80, - }, - l2_gas: { - max_amount: 80, - max_price_per_unit: 80, - }, - l1_data_gas: { - max_amount: 80, - max_price_per_unit: 80, - }, - }, - maxFee: 80, -}); -const declareResponse = await account0.declareIfNot({ contract: testSierra, casm: testCasm }); -``` - -## Real fees paid - -After a transaction has been processed, you can read the fees that have actually been paid: - -```typescript -const txR = await provider.waitForTransaction(declareResponse.transaction_hash); -txR.match({ - success: (txR: SuccessfulTransactionReceiptResponse) => { - console.log('Fees paid =', txR.actual_fee); - }, - _: () => {}, -}); -``` - -For STRK fees, the result is: - -```json -{ "unit": "FRI", "amount": "0x3a4f43814e180000" } -``` - -For ETH fees: - -```json -{ "unit": "WEI", "amount": "0x70c6fff3c000" } -``` diff --git a/www/docs/guides/intro.md b/www/docs/guides/intro.md index ee8722836..f49bb0639 100644 --- a/www/docs/guides/intro.md +++ b/www/docs/guides/intro.md @@ -1,5 +1,5 @@ --- -sidebar_position: 1 +sidebar_position: 2 --- # Getting Started diff --git a/www/docs/guides/migrate.md b/www/docs/guides/migrate.md index cffa4ec04..0a8949f4c 100644 --- a/www/docs/guides/migrate.md +++ b/www/docs/guides/migrate.md @@ -1,127 +1,563 @@ --- -sidebar_position: 101 +sidebar_position: 12 --- -# Migrate from v6 to v7 +# Migrate from v7 to v8 -This document only covers the features present in v6 which have changed in some significant way in v7. +This document covers the features present in v7 which have changed in some significant way in v8. If you encounter any missing changes, please let us know and we will update this guide. -## Fetch dependencies +## Starknet 0.14 -`isomorphic-fetch` and `fetch-cookie` have been removed as dependencies. +Starknet.js v8 introduces support for **Starknet protocol version 0.14**, which brings several important network-level changes that affect how you build and interact with Starknet: -For users who might require the features of either library, a `baseFetch` override parameter has been enabled for the `RpcProvider` and `RpcChannel` classes, including classes that inherit from them such as `Account` and `WalletAccount`. +### RPC 0.9 Support + +Starknet.js v8 introduces support for **RPC 0.9** and maintains compatibility with **RPC 0.8**. + +**RPC 0.7 support has been removed.** If you were using **RPC 0.7** endpoints, you must upgrade to **0.8** or **0.9**. ```typescript -import makeFetchCookie from 'fetch-cookie'; -import isomorphicFetch from 'isomorphic-fetch'; +// Option 1: Use RPC 0.8 +const provider = new RpcProvider({ + nodeUrl: 'https://starknet-sepolia.public.blastapi.io/rpc/v0_8', + specVersion: '0.8.1', +}); +// Option 2: Use RPC 0.9 (default) const provider = new RpcProvider({ - baseFetch: makeFetchCookie(isomorphicFetch), + nodeUrl: 'https://starknet-sepolia.public.blastapi.io/rpc/v0_9', + // specVersion defaults to '0.9.0' }); + +// Option 3: Automatic specVersion detection +const provider = await RpcProvider.create({ nodeUrl: `${myNodeUrl}` }); ``` -## Rpc compatibility +### Transaction Version Changes -Starknet.js v6 is compatible with Starknet RPC **0.6** and **0.7** nodes. +**Only V3 transactions are supported** - Starknet 0.14 has removed support for legacy transaction versions: -Starknet.js v7 drops support for RPC **0.6**, and introduces support for RPC **0.8**, it supports RPC **0.7** and **0.8** nodes. +- ❌ **V0, V1, V2** transactions are no longer supported on the network +- ✅ Only **V3** transactions work with the new protocol +- All transactions now use **STRK fees** instead of ETH fees (for an advanced alternative, check the [Paymaster guide](./account/paymaster)) -By default, Starknet.js v7 uses RPC **0.8** with **V3** transactions (STRK fees). This means that you can no longer execute **V1** transactions (ETH fees) by default. +```typescript +const account = new Account({ + provider, + address, + signer: privateKey, + // ❌ No longer supported, will fail on Starknet 0.14 + transactionVersion: ETransactionVersion.V2, + // ✅ Default and only correct option for Starknet 0.14 + transactionVersion: ETransactionVersion.V3, +}); +``` -| | RPC 0.7 | RPC 0.8
(default) | -| ----------------: | :------: | :----------------------: | -| V1 tx (ETH fees) | Possible | Impossible | -| V3 tx (STRK fees) | Default | Default | +### Transaction Tips -You can configure your code to use RPC **0.7** with ETH and STRK fees available by using the following options: +Starknet 0.14 introduces a **tip mechanism** for transaction prioritization in the mempool: -- Define `specVersion: '0.7.1'` when instantiating an RpcProvider -- Use `config.set('legacyMode', true)` to enable **V1** transactions -- Use `logger.setLogLevel('ERROR')` if you want to remove the warnings when processing **V1** transactions +- Transactions can include tips to prioritize execution +- Higher tips increase the likelihood of faster inclusion +- Tips are separate from transaction fees and go to the sequencer + +Starknet.js applies a tip estimation for `Account` class interactions if a tip value is not provided. It can be accessed manually with [`getEstimateTip`](../API/classes/Provider#getestimatetip). ```typescript -import { RpcProvider, Account, config, logger, ETransactionVersion } from 'starknet'; +import { Account } from 'starknet'; -const myProvider = new RpcProvider({ - nodeUrl: 'https://starknet-sepolia.public.blastapi.io/rpc/v0_8', - specVersion: '0.7.1', +const account = new Account({ + provider, + address: accountAddress, + signer: privateKey, + defaultTipType: 'recommendedTip', // 'minTip' | 'maxTip' | 'averageTip' | 'medianTip' | 'modeTip' | 'recommendedTip' | 'p90Tip' | 'p95Tip' +}); + +// Using tips in transactions +const result = await account.execute(calls, { + tip: 1000n, // Custom tip amount in wei + // other transaction details }); -config.set('legacyMode', true); +// Get recommended tip +const tipEstimate = await provider.getEstimateTip(); +console.log('Recommended tip:', tipEstimate.recommendedTip); +``` + +### Block State Changes + +**Important block handling changes:** + +- ❌ **Pending blocks have been removed** from the protocol +- ✅ **New decentralized pre-confirmation state** replaces pending blocks +- Block statuses are now: `PRE_CONFIRMED` → `ACCEPTED_ON_L2` → `ACCEPTED_ON_L1` -logger.setLogLevel('ERROR'); +**Starknet.js v8 now waits for transactions to reach `ACCEPTED_ON_L2` status:** + +- `waitForTransaction()` now waits for `ACCEPTED_ON_L2` instead of pending confirmation + +```typescript +// v8 behavior - waits for ACCEPTED_ON_L2 +const txReceipt = await account.waitForTransaction(txHash); +// Transaction is now confirmed on L2 ``` -With the above settings the code still uses **V3** transactions with RPC **0.7** by default. To utilize **V1** transactions there are two approaches: +This affects how you handle transaction states and block confirmations in your applications. + +## Breaking Changes + +Starknet.js v8 also introduces several breaking changes unrelated to Starknet 0.14. The most significant change is the move from argument-based constructors to object-based APIs for better developer experience and extensibility. -- either configure it at the `Account` instance level by setting the appropriate constructor parameter: +### Constructor API Changes + +All major classes now use object-based constructors instead of positional arguments for better clarity and extensibility. + +#### Account Class + +**v7 (Arguments-based):** ```typescript -const account0 = new Account( - myProvider, - accountAddress0, - privateKey0, +const account = new Account( + provider, + accountAddress, + privateKey, undefined, - ETransactionVersion.V2 + ETransactionVersion.V3 ); ``` -- or configure it for individual method invocations by setting the corresponding options parameter property: +**v8 (Object-based):** ```typescript -const res = await account0.execute(myCall, { version: 1 }); +const account = new Account({ + provider, + address: accountAddress, + signer: privateKey, + cairoVersion: undefined, // optional + transactionVersion: ETransactionVersion.V3, // optional + paymaster: undefined, // optional + deployer: undefined, // optional - new in v8 + defaultTipType: 'recommendedTip', // optional - new in v8 +}); ``` -## Transaction receipt +#### Contract Class -In the `ReceiptTx` class, the status [`isRejected`](https://starknetjs.com/docs/6.23.1/API/classes/ReceiptTx#isrejected) has been removed. +**v7 (Arguments-based):** -## Removed deprecated functionalities +```typescript +const contract = new Contract(abi, contractAddress, provider); +``` -### RpcProvider +**v8 (Object-based):** -| method | replacement | -| :-------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`getPendingTransactions(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getpendingtransactions) | [`getBlockWithTxHashes(BlockTag.PENDING)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getblockwithtxhashes)
[`getBlock(BlockTag.PENDING)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getblock) | -| [`getEstimateFee(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getestimatefee) | [`getInvokeEstimateFee(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getinvokeestimatefee)
[`getDeclareEstimateFee(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getdeclareestimatefee)
[`getDeployAccountEstimateFee(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getdeployaccountestimatefee) | +```typescript +const contract = new Contract({ + abi, + address: contractAddress, + providerOrAccount: provider, + classHash: undefined, // optional - new in v8 + parseRequest: true, // optional - new in v8 + parseResponse: true, // optional - new in v8 +}); +``` -### Account +#### WalletAccount Class -| method | details | -| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`execute(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Account#execute) | The deprecated [`execute(transactions, abis?, transactionsDetail?)`](https://starknetjs.com/docs/6.23.1/API/classes/Account#parameters-20) override with the optional (and unused) `abis` parameter has been removed.

[`execute(transactions, transactionsDetail?)`](https://starknetjs.com/docs/6.23.1/API/classes/Account#parameters-19) now only accepts two parameters and should be used as such. | -| [`verifyMessage(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Account#verifymessage)

[`verifyMessageHash(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Account#verifymessagehash) | The deprecated `Account` message verification methods have been removed.

The `RpcProvider` [`verifyMessageInStarknet(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#verifymessageinstarknet) method should be used instead. | +**v7 (Arguments-based):** -### WalletAccount +```typescript +const walletAccount = new WalletAccount(provider, walletProvider, address, cairoVersion); +``` -When initializing a `WalletAccount` instance through the constructor [`new WalletAccount(...)`](https://starknetjs.com/docs/6.23.1/API/classes/WalletAccount#constructor) the `address` parameter has been made mandatory with the deprecated eager address retrieval removed. +**v8 (Object-based):** -To initialize a `WalletAccount` instance [`WalletAccount.connect(...)`](https://starknetjs.com/docs/6.23.1/API/classes/WalletAccount#connect) should be used. +```typescript +const walletAccount = new WalletAccount({ + provider, + walletProvider, + address, + cairoVersion, // optional + paymaster: undefined, // optional +}); +``` + +### Removed Types Namespace + +The `types` namespace export has been removed. Types must now be imported directly from the main module. + +**v7:** + +```typescript +import { types } from 'starknet'; + +const details: types.UniversalDetails = { + nonce: 1, + version: 3, +}; +const call: types.Call = { + contractAddress: '0x...', + entrypoint: 'transfer', + calldata: ['0x1', '0x2'], +}; +``` + +**v8:** + +```typescript +import { UniversalDetails, Call } from 'starknet'; + +const details: UniversalDetails = { + nonce: 1, + version: 3, +}; +const call: Call = { + contractAddress: '0x...', + entrypoint: 'transfer', + calldata: ['0x1', '0x2'], +}; +``` + +### Contract Factory Changes + +The Contract factory API has been completely redesigned. The `Contract.connect()` method and `contractFactory` class have been removed. + +**v7:** + +```typescript +import { Contract, contractFactory } from 'starknet'; + +// Using connect method +const contract = Contract.connect(abi, contractAddress, account); + +// Using contractFactory +const factory = new contractFactory(contract, casm); +const deployedContract = await factory.deploy(constructorCalldata); +``` + +**v8:** + +```typescript +import { Contract } from 'starknet'; + +// New async factory method +const contract = await Contract.factory({ + contract: sierraContract, // Compiled Sierra contract + casm: casmContract, // Compiled CASM contract + account: account, + constructorCalldata: { + name: 'Token', + symbol: 'ERC20', + amount: 1000n, + recipient: account.address, + owner: account.address, + }, // optional - normal arguments object, not compiled + classHash: '0x...', // optional + salt: '0x0', // optional + unique: true, // optional + deployer: account.deployer, // optional +}); +``` + +### Removed Helper Functions + +Several helper functions have been removed as they are now handled internally by the deployer system: + +- `parseUDCEvent()` - Use `defaultDeployer.parseDeployerEvent()` instead +- `buildUDCCall()` - Use `defaultDeployer.buildDeployerCall()` instead + +**v7:** + +```typescript +import { parseUDCEvent, buildUDCCall } from 'starknet'; + +const { calls, addresses } = buildUDCCall(payload, accountAddress); +const deployedContract = parseUDCEvent(txReceipt); +``` + +**v8:** + +```typescript +import { defaultDeployer } from 'starknet'; + +// These are now handled internally by the deployer +const deployTx = await account.deploy(payload, details); +const txReceipt = await account.waitForTransaction(deployTx.transaction_hash); +const deployedContract = defaultDeployer.parseDeployerEvent(txReceipt); +``` + +### Response Parser Fee Estimate Changes + +The response parser now automatically adds overhead calculations to fee estimations, providing `resourceBounds` and `overall_fee` with configurable overhead margins. + +**All estimate methods now use `parseFeeEstimateBulkResponse`** internally, which: + +- Adds overhead to resource bounds for safety margin +- Formats responses to include both `resourceBounds` and `overall_fee` +- Returns `EstimateFeeResponseBulkOverhead` type with standardized structure + +**v7 Response Structure:** + +```typescript +// Raw fee estimate from RPC +{ + l1_gas_consumed: "0x1000", + l1_gas_price: "0x20", + l1_data_gas_consumed: "0x500", + l1_data_gas_price: "0x10", + l2_gas_consumed: "0x200", + l2_gas_price: "0x5", + unit: "FRI" +} +``` + +**v8 Response Structure:** + +```typescript +// Enhanced response with overhead and resource bounds +{ + resourceBounds: { + l1_gas: { amount: "0x1200", price: "0x20" }, // With overhead + l2_gas: { amount: "0x240", price: "0x5" }, // With overhead + l1_data_gas: { amount: "0x600", price: "0x10" } // With overhead + }, + overall_fee: 12345n, // Total fee calculation with overhead + unit: "FRI" +} +``` + +**Configuring Resource Bounds Overhead:** + +```typescript +import { RpcProvider } from 'starknet'; + +// Configure custom overhead percentages (default: 50% for all) +const provider = new RpcProvider({ + nodeUrl: 'https://your-node-url', + resourceBoundsOverhead: { + l1_gas: { + max_amount: 10, // 10% overhead for L1 gas amount + max_price_per_unit: 10, // 10% overhead for L1 gas price + }, + l2_gas: { + max_amount: 5, // 5% overhead for L2 gas amount + max_price_per_unit: 5, // 5% overhead for L2 gas price + }, + l1_data_gas: { + max_amount: 15, // 15% overhead for L1 data gas amount + max_price_per_unit: 15, // 15% overhead for L1 data gas price + }, + }, +}); + +// All estimate methods benefit from this overhead +const invokeEstimate = await account.estimateInvokeFee(calls); +const declareEstimate = await account.estimateDeclareFee(contract); +const deployEstimate = await account.estimateDeployFee(payload); +const bulkEstimate = await account.estimateFeeBulk(invocations); +``` + +This change ensures safer transaction execution by automatically adding a margin to prevent out-of-gas errors due to network fluctuations. + +### Removed Fee Utility Methods + +The following utility methods have been removed and replaced with new resource bounds methods: + +**Removed Methods:** + +- `RPCResponseParser.ZEROFee()` → replaced with `stark.ZeroFeeEstimate()` +- `stark.estimatedFeeToMaxFee()` → replaced with `stark.toOverheadOverallFee()` +- `stark.estimateFeeToBounds()` → replaced with `stark.toOverheadResourceBounds()` + +**Replaced Types:** + +- `EstimateFeeResponse` → replaced with `EstimateFeeResponseOverhead` +- `EstimateFeeResponseBulk` → replaced with `EstimateFeeResponseBulkOverhead` + +The new overhead types provide enhanced structure with `resourceBounds` (ResourceBoundsBN) and `overall_fee` (bigint) instead of the previous flat structure with individual gas consumption fields. + +**New Resource Bounds Methods:** + +- `stark.zeroResourceBounds()` - Returns zero resource bounds +- `stark.toOverheadResourceBounds()` - Converts fee estimates to resource bounds with overhead +- `stark.resourceBoundsToEstimateFeeResponse()` - Converts resource bounds back to fee response format +- `stark.toOverheadOverallFee()` - Calculates total fee with overhead +- `stark.ZeroFeeEstimate()` - Returns zero fee estimate structure + +These new methods provide better handling of the enhanced resource bounds structure introduced in v8. + +:::tip Important: Default Overhead Configuration +By default, all fee estimation methods now include a **50% overhead** on all resource bounds (l1_gas, l2_gas, l1_data_gas) for both `max_amount` and `max_price_per_unit`. This global configuration ensures safer transaction execution by preventing out-of-gas errors due to network fluctuations. You can customize this overhead using `resourceBoundsOverhead` in provider options, with custom parser or global config. +`toOverheadOverallFee()` and `toOverheadResourceBounds()` use default global overhead +if overhead not specified. This could be disabled by providing false to overhead argument. +::: + +:::warning Fee Estimation Implementation Notice +The current fee estimation calculation, particularly regarding tip handling, is still under discussion. The implementation may change based on the final solution determined by the Starknet protocol team. Future updates may modify how fees are calculated and structured. +::: + +## New Features + +### Custom Deployer Support + +v8 allows you to specify a custom deployer for contract deployments. Starknet.js provides two built-in deployer options: + +- **`defaultDeployer`**: Uses UDC V2 (Universal Deployer Contract V2) - recommended for new projects +- **`legacyDeployer`**: Uses the old UDC V1 - for backward compatibility + +```typescript +import { Account, defaultDeployer, legacyDeployer, Deployer } from 'starknet'; + +const account = new Account({ + provider, + address: accountAddress, + signer: privateKey, + + // Option 1: Use the default deployer (UDC V2) + deployer: defaultDeployer, + + // Option 2: Use the legacy deployer (old UDC V1) + deployer: legacyDeployer, + + // Option 3: Create a custom deployer + deployer: new Deployer({ + address: '0x...', // Custom deployer contract address + entryPoint: 'deploy_contract', // Custom entry point + }), +}); +``` + +## Backward Compatibility + +To ease migration, you can create these helper functions that use the old API style but create v8 instances. **These are temporary migration helpers and should be removed once migration is complete.** + +
+ Helpers + +```typescript +// Temporary migration helpers - add these to your codebase during migration +import { Account, Contract, WalletAccount } from 'starknet'; +import type { + AccountInterface, + ProviderInterface, + ContractInterface, + Abi, + CairoVersion, + SupportedTransactionVersion, + PaymasterInterface, +} from 'starknet'; + +/** + * @deprecated Use new Account({ ... }) constructor instead + */ +export function createAccount( + provider: ProviderInterface, + address: string, + privateKey: string | Uint8Array, + cairoVersion?: CairoVersion, + transactionVersion?: SupportedTransactionVersion, + paymaster?: PaymasterInterface +): AccountInterface { + return new Account({ + provider, + address, + signer: privateKey, + cairoVersion, + transactionVersion, + paymaster, + }); +} + +/** + * @deprecated Use new Contract({ ... }) constructor instead + */ +export function createContract( + abi: Abi, + address: string, + providerOrAccount?: ProviderInterface | AccountInterface +): ContractInterface { + return new Contract({ + abi, + address, + providerOrAccount, + }); +} + +/** + * @deprecated Use new WalletAccount({ ... }) constructor instead + */ +export function createWalletAccount( + provider: ProviderInterface, + walletProvider: any, + address: string, + cairoVersion?: CairoVersion, + paymaster?: PaymasterInterface +): WalletAccount { + return new WalletAccount({ + provider, + walletProvider, + address, + cairoVersion, + paymaster, + }); +} + +// Usage during migration: +const account = createAccount(provider, address, privateKey, cairoVersion, transactionVersion); +const contract = createContract(abi, address, providerOrAccount); +const walletAccount = createWalletAccount(provider, walletProvider, address, cairoVersion); +``` + +
+ +## Migration Steps + +1. **Upgrade RPC endpoints**: Replace any RPC 0.7 endpoints with RPC 0.8 or 0.9 +2. **Update imports**: Remove any usage of the `types` namespace and import types directly +3. **Update constructors**: Convert all class instantiations to use object-based APIs +4. **Update Contract factory usage**: Replace with `await Contract.factory()` +5. **Replace removed helpers**: Update code using `parseUDCEvent` and `buildUDCCall` +6. **Test thoroughly**: Run your test suite to catch any remaining issues +7. **Consider new features**: Optionally add tip support and custom deployment +8. **Remove backward compatibility**: Once migration is complete, remove any usage of deprecated helpers + +## Common Migration Issues + +### TypeScript Compilation Errors + +If you encounter TypeScript errors after migration, ensure you're importing types directly: + +```typescript +// ❌ This will fail in v8 +import { types } from 'starknet'; +const call: types.Call = { ... }; + +// ✅ Correct way in v8 +import { Call } from 'starknet'; +const call: Call = { ... }; +``` -### Removed namespace +...To be added as encountered. -The `number` namespace alias has been removed in favor of `num` as noted in the v5 migration guide. +## Testing Your Migration -### Removed utility functions +After completing the migration: -| namespace | function | replacement | -| :-----------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: | -| `encode` | [`stringToArrayBuffer(...)`](https://starknetjs.com/docs/6.23.1/API/namespaces/encode#stringtoarraybuffer) | [`utf8ToArray(...)`](https://starknetjs.com/docs/next/API/namespaces/encode#utf8toarray) | -| `json` | [`stringifyAlwaysAsBig(...)`](https://starknetjs.com/docs/6.23.1/API/namespaces/json#stringifyalwaysasbig) | [`stringify(...)`](https://starknetjs.com/docs/next/API/namespaces/json#stringify) | -| `stark` | [`makeAddress(...)`](https://starknetjs.com/docs/6.23.1/API/namespaces/stark#makeaddress) | [`validateAndParseAddress(...)`](https://starknetjs.com/docs/next/API/modules#validateandparseaddress) | -| `transaction` | [`fromCallsToExecuteCalldataWithNonce(...)`](https://starknetjs.com/docs/6.23.1/API/namespaces/transaction#fromcallstoexecutecalldatawithnonce)
[`transformCallsToMulticallArrays_cairo1(...)`](https://starknetjs.com/docs/6.23.1/API/namespaces/transaction#transformcallstomulticallarrays_cairo1) | / | +1. **Compile your TypeScript**: Ensure no compilation errors +2. **Run your test suite**: Verify all functionality works as expected +3. **Test contract interactions**: Ensure contract calls and deployments work +4. **Test account operations**: Verify transactions, signatures, and account management +5. **Performance testing**: The new tip system may affect transaction timing -- the [`CallStruct`](https://starknetjs.com/docs/6.23.1/API/interfaces/types.CallStruct) type that was used by the `transaction` methods has also been removed +## Need Help? -### Removed type alias exports +If you encounter issues during migration: -Multiple TypeScript types have had their old location re-exports removed. They are no longer available within their old namespace but are available as direct imports: `import { *type* } from 'starknet'`. +1. Check this guides +2. Review the [API documentation](../API/) for detailed method signatures +3. Open an issue on the [GitHub repository](https://github.com/starknet-io/starknet.js) if you find bugs +4. Ask for help on [Discord](https://discord.com/channels/793094838509764618/1270119831559078061) -| namespace | type | -| :---------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | -| `num` | [`BigNumberish`](https://starknetjs.com/docs/6.23.1/API/namespaces/num#bignumberish) | -| `typedData` | [`TypedDataRevision`](https://starknetjs.com/docs/6.23.1/API/namespaces/typedData#typeddatarevision)
[`StarknetEnumType`](https://starknetjs.com/docs/6.23.1/API/namespaces/typedData#starknetenumtype)
[`StarknetMerkleType`](https://starknetjs.com/docs/6.23.1/API/namespaces/typedData#starknetmerkletype)
[`StarknetType`](https://starknetjs.com/docs/6.23.1/API/namespaces/typedData#starknettype)
[`StarknetDomain`](https://starknetjs.com/docs/6.23.1/API/namespaces/typedData#starknetdomain)
[`TypedData`](https://starknetjs.com/docs/6.23.1/API/namespaces/typedData#typeddata) | -| `uint256` | [`UINT_128_MAX`](https://starknetjs.com/docs/6.23.1/API/namespaces/uint256#uint_128_max)
[`UINT_256_MAX`](https://starknetjs.com/docs/6.23.1/API/namespaces/uint256#uint_256_max) | +The v8 migration requires updating constructor calls and import statements, but provides a more robust and extensible API for future development. diff --git a/www/docs/guides/paymaster.md b/www/docs/guides/paymaster.md deleted file mode 100644 index 98cc98ce4..000000000 --- a/www/docs/guides/paymaster.md +++ /dev/null @@ -1,308 +0,0 @@ ---- -sidebar_position: 20 ---- - -# Execute calls using paymaster - -## Overview - -A Paymaster in Starknet allows your account to pay gas fees using alternative tokens (e.g. ETH, USDC, ...) instead of -STRK. - -:::info - -There are 2 types of paymaster transaction: - -- `default` when the account is paying the fees. -- `sponsored` when a dApp wants to cover the gas fees on behalf of users. - -::: - -In `starknet.js`, you can interact with a Paymaster in two ways: - -- Through the `Account` or `WalletAccount` classes -- Or directly via the `PaymasterRpc` class - -:::warning IMPORTANT - -To be able to use the Paymaster, accounts must be compatible with SNIP-9 (Outside execution). -See [SNIP-9 compatibility](./outsideExecution.md#check-snip-9-support) - -::: - -## Paymaster service - -Paymaster service is provided by specific backends compatible with [SNIP-29](https://github.com/starknet-io/SNIPs/blob/main/SNIPS/snip-29.md). - -By default, a random service is selected in the list of available services: - -```typescript -const myPaymasterRpc = new PaymasterRpc({ default: true }); -``` - -If you want a specific paymaster service: - -```typescript -const myPaymasterRpc = new PaymasterRpc({ nodeUrl: 'https://sepolia.paymaster.avnu.fi' }); -``` - -Current available services are: - -| Name | Mainnet | Testnet | -| :--: | :--------------------------------: | :-------------------------------: | -| AVNU | https://starknet.paymaster.avnu.fi | https://sepolia.paymaster.avnu.fi | - -## Account with paymaster feature - -To instantiate a new account compatible with paymaster: - -```typescript -const myAccount = new Account( - myProvider, - accountAddress, - privateKey, - undefined, - undefined, - myPaymasterRpc -); -``` - -## Getting Supported Gas Tokens - -Before sending a transaction with a Paymaster, you must first know which tokens are accepted: - -```typescript -const supported = await myAccount.paymaster.getSupportedTokens(); -// or -const supported = await myPaymaster.getSupportedTokens(); - -console.log(supported); -/* -[ - { - "address": "0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7", - "decimals": 18, - "priceInStrk": "0x5ffeeacbaf058dfee0" - }, - { - "address": "0x53b40a647cedfca6ca84f542a0fe36736031905a9639a7f19a3c1e66bfd5080", - "decimals": 6, - "priceInStrk": "0x38aea" - } -] -*/ -``` - -## Sending a Transaction with a Paymaster - -To send a [`Call`](./define_call_message.md#call-or-call) (result of [`myContract.populate()`](./define_call_message.md#object-with-abi-conformity-check) or `myCallData.compile()`), here for a `default` paymaster transaction: - -```typescript -const gasToken = '0x53b40a647cedfca6ca84f542a0fe36736031905a9639a7f19a3c1e66bfd5080'; // USDC in Testnet -const feesDetails: PaymasterDetails = { - feeMode: { mode: 'default', gasToken }, -}; -const feeEstimation = await myAccount.estimatePaymasterTransactionFee([myCall], feesDetails); -// ask here to the user to accept this fee -const res = await myAccount.executePaymasterTransaction( - [myCall], - feesDetails, - feeEstimation.suggested_max_fee_in_gas_token -); -const txR = await myProvider.waitForTransaction(res.transaction_hash); -``` - -### Sponsored paymaster - -For a sponsored transaction, use : - -```typescript -const myPaymasterRpc = new PaymasterRpc({ - nodeUrl: 'https://sepolia.paymaster.avnu.fi', - headers: { 'api-key': process.env.PAYMASTER_API_KEY }, -}); -const myAccount = new Account( - myProvider, - accountAddress, - privateKey, - undefined, - undefined, - myPaymasterRpc -); -const feesDetails: PaymasterDetails = { - feeMode: { mode: 'sponsored' }, -}; -const res = await myAccount.executePaymasterTransaction([myCall], feesDetails); -const txR = await myProvider.waitForTransaction(res.transaction_hash); -``` - -### Time bounds - -Optional execution window with `executeAfter` and `executeBefore` dates: - -```typescript -const feesDetails: PaymasterDetails = { - feeMode: { mode: 'default', gasToken }, - timeBounds: { - executeBefore: Math.floor(Date.now() / 1000) + 60 * 5, // 5 minutes - }, -}; -``` - -:::note - -- Time unit is the Starknet blockchain time unit: seconds. -- `executeAfter` is optional. If omitted, the transaction can be executed immediately. -- if `executeAfter` is defined, it must be strictly lower than the timestamp of the last block if you want to be able to process immediately. -- `executeBefore`: the transaction is possible as long as the Unix time of the SNIP-29 server is lower than executeBefore. - -::: - -### Deploy Account - -:::warning important - -If the account selected in the Wallet extension (Braavos, ArgentX, ...) is not deployed, you can't process a Paymaster transaction. - -::: - -If necessary, deploy first the account, using: - -```typescript -// starknetWalletObject is the wallet selected by get-starknet v4. -// Get data to deploy the account: -const deploymentData: AccountDeploymentData = await wallet.deploymentData(starknetWalletObject); -const feesDetails: PaymasterDetails = { - feeMode: { mode: 'default', gasToken }, - deploymentData: { ...deploymentData, version: 1 as 1 }, -}; -// MyWalletAccount is the WalletAccount instance related to the selected wallet. -const estimatedFees: PaymasterFeeEstimate = await MyWalletAccount.estimatePaymasterTransactionFee( - [], - feesDetails -); -const resp = await MyWalletAccount.executePaymasterTransaction( - [], - feesDetails, - estimatedFees.suggested_max_fee_in_gas_token -); -const txR = await newAccount.waitForTransaction(resp.transaction_hash); -``` - -## PaymasterRpc Functions - -The `account.paymaster` property is an instance of `PaymasterRpc`. - -Here are the available methods: - -| Method | Description | -| ---------------------------- | ------------------------------------------------------------------------------- | -| `isAvailable() ` | Returns `true` if the Paymaster service is up and running. | -| ` getSupportedTokens()` | Returns the accepted tokens and their price in STRK. | -| `buildTransaction(...) ` | Builds the required data (could include a typed data to sign) for the execution | -| `executeTransaction(...)` | Calls the paymasters service to execute the transaction | - -## Examples - -### Demo DAPP - -A demo DAPP is available [here](https://starknet-paymaster-snip-29.vercel.app/) (needs some USDC in an account to process). - -## Full Example – React + starknet.js + Paymaster - -```tsx -import { FC, useEffect, useState } from 'react'; -import { connect } from 'get-starknet'; // v4 only -import { Account, PaymasterRpc, TokenData, WalletAccount } from 'starknet'; // v7.4.0+ - -const paymasterRpc = new PaymasterRpc({ default: true }); - -const App: FC = () => { - const [account, setAccount] = useState(); - const [loading, setLoading] = useState(false); - const [tx, setTx] = useState(); - const [gasToken, setGasToken] = useState(); - const [gasTokens, setGasTokens] = useState([]); - - const handleConnect = async () => { - const starknet = await connect(); - if (!starknet) return; - await starknet.enable(); - if (starknet.isConnected && starknet.provider && starknet.account.address) { - setAccount( - new WalletAccount(starknet.provider, starknet, undefined, undefined, paymasterRpc) - ); - } - }; - - useEffect(() => { - paymasterRpc.getSupportedTokens().then((tokens) => { - setGasTokens(tokens); - }); - }, []); - - if (!account) { - return ; - } - - const onClickExecute = () => { - const calls = [ - { - entrypoint: 'approve', - contractAddress: '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7', - calldata: [ - '0x0498E484Da80A8895c77DcaD5362aE483758050F22a92aF29A385459b0365BFE', - '0xf', - '0x0', - ], - }, - ]; - setLoading(true); - account - .executePaymasterTransaction(calls, { - feeMode: { mode: 'default', gasToken: gasToken.address }, - }) - .then((res) => { - setTx(res.transaction_hash); - setLoading(false); - }) - .catch((err) => { - console.error(err); - setLoading(false); - }); - }; - - return ( -
-
-

- Gas tokens -

- {gasTokens.map((token) => ( - - ))} -
- {tx && ( - - Success:{tx} - - )} - {!gasToken &&

Select a gas token

} -
- {account && ( - - )} -
-
- ); -}; - -export default App; -``` diff --git a/www/docs/guides/pictures/provider.svg b/www/docs/guides/pictures/provider.svg new file mode 100644 index 000000000..a0753802e --- /dev/null +++ b/www/docs/guides/pictures/provider.svg @@ -0,0 +1 @@ +

Starknet Network

Starknet JS

Client dApp

Starknet RPC Node

Instance

Channel

Provider

Utils

Browser

Node.js

read

\ No newline at end of file diff --git a/www/docs/guides/pictures/why-starknet.mmd b/www/docs/guides/pictures/why-starknet.mmd new file mode 100644 index 000000000..e2db10e6b --- /dev/null +++ b/www/docs/guides/pictures/why-starknet.mmd @@ -0,0 +1,37 @@ +--- +config: + theme: neo-dark + layout: elk +--- +flowchart LR + subgraph CLIENT["Client dApp"] + Browser["Browser"] + Nodejs["Node.js"] + end + subgraph LIBRARY["Starknet JS"] + Interface["Instance"] + Channel["Channel"] + Provider["Provider"] + Account["Account"] + Contract["Contract"] + Utils["Utils"] + Signer["Signer"] + end + subgraph NETWORK["Starknet Network"] + Starknet["Starknet RPC Node"] + end + Browser L_Browser_Interface_0@--
--> Interface + Nodejs --> Interface + Interface --> Provider & Account & Contract & Channel + Channel L_Channel_Starknet_0@--
--> Starknet + Provider L_Provider_Channel_0@--
--> Channel + Account L_Account_Provider_0@--
--> Provider + Contract L_Contract_Account_0@--
--> Account + Contract --> Provider + Interface@{ shape: dbl-circ} + L_Browser_Interface_0@{ animation: slow } + L_Interface_Contract_0@{ animation: slow } + L_Channel_Starknet_0@{ animation: slow } + L_Provider_Channel_0@{ animation: slow } + L_Account_Provider_0@{ animation: slow } + L_Contract_Account_0@{ animation: slow } \ No newline at end of file diff --git a/www/docs/guides/pictures/why-starknet.svg b/www/docs/guides/pictures/why-starknet.svg new file mode 100644 index 000000000..eb3071568 --- /dev/null +++ b/www/docs/guides/pictures/why-starknet.svg @@ -0,0 +1 @@ +

Starknet Network

Starknet JS

Client dApp

Starknet RPC Node

Instance

Channel

Provider

Account

Contract

Utils

Signer

Browser

Node.js

\ No newline at end of file diff --git a/www/versioned_docs/version-7.6.2/guides/connect_network.md b/www/docs/guides/provider_instance.md similarity index 58% rename from www/versioned_docs/version-7.6.2/guides/connect_network.md rename to www/docs/guides/provider_instance.md index 64d69afd7..6261d0bab 100644 --- a/www/versioned_docs/version-7.6.2/guides/connect_network.md +++ b/www/docs/guides/provider_instance.md @@ -1,10 +1,14 @@ --- -sidebar_position: 3 +sidebar_position: 4 --- -# RpcProvider object 🔌 connect to the network +# Provider -The first thing to do is to define with which network you want to interact (Mainnet, Testnet, Devnet, ...). +![Starknet.js Architecture](./pictures/provider.svg) + +The `RpcProvider` object connects your DAPP to the network. + +The first thing to do is to define which network you want to interact with (Mainnet, Testnet, Devnet, ...). Then you need to select a node. A node is a safe way to connect with the Starknet blockchain. You can use: @@ -16,10 +20,10 @@ Then you need to select a node. A node is a safe way to connect with the Starkne > Main development devnets are Starknet Devnet, Madara, ... Starknet.js communicates with nodes in accordance to a version of the RPC specification. Most nodes are able to use two RPC versions. -For example, this node is compatible with v0.7.1 and v0.8.0, using the following entry points: +For example, this node is compatible with v0.8.x and v0.9.x, using the following entry points: -- "https://starknet-sepolia.public.blastapi.io/rpc/v0_7" - "https://starknet-sepolia.public.blastapi.io/rpc/v0_8" +- "https://starknet-sepolia.public.blastapi.io/rpc/v0_9" From RPC v0.5.0, you can make a request to retrieve the RPC version that a node uses: @@ -33,12 +37,9 @@ The Starknet.js version must align with the RPC version supported by the chosen | RPC spec version of your node | Starknet.js version to use | | :---------------------------: | ----------------------------- | -| v0.4.0 | Starknet.js v5.21.1 | -| v0.5.0 | Starknet.js v5.23.0 | -| v0.5.1 | Starknet.js v5.29.0 or v6.1.0 | -| v0.6.0 | Starknet.js v6.24.1 | -| v0.7.1 | Starknet.js v6.24.1 or v7.0.1 | -| v0.8.0 | Starknet.js v7.0.1 | +| v0.7.x | Starknet.js v6.24.1 or v7.x.x | +| v0.8.x | Starknet.js v7.x.x or v8.x.x | +| v0.9.x | Starknet.js v8.x.x | :::note From version 6.x.x, Starknet.js is compatible with two RPC spec versions. @@ -56,32 +57,32 @@ import { RpcProvider } from 'starknet'; **Mainnet network:** -| Node | with public url | with API key | -| -----------------------: | :--------------: | :--------------: | -| Alchemy | No | v0_6, v0_7 | -| Infura | No | v0_7 | -| Blast | v0_6, v0_7, v0_8 | v0_6, v0_7, v0_8 | -| Lava | v0_6, v0_7, v0_8 | v0_8 | -| Local Pathfinder v0.16.2 | v0_6, v0_7, v0_8 | N/A | -| Local Juno v0.14.2 | v0_6, v0_7, v0_8 | N/A | +| Node | with public url | with API key | +| -----------------------: | :-------------: | :----------: | +| Alchemy | No | v0_7 | +| Infura | No | v0_7 | +| Blast | v0_7, v0_8 | v0_7, v0_8 | +| Lava | v0_7, v0_8 | v0_8 | +| Local Pathfinder v0.16.2 | v0_7, v0_8 | N/A | +| Local Juno v0.14.2 | v0_7, v0_8 | N/A | **Sepolia Testnet network:** -| Node | with public url | with API key | -| -----------------------: | :--------------: | :----------: | -| Alchemy | No | v0_6, v0_7 | -| Infura | No | v0_7 | -| Blast | v0_6, v0_7, v0_8 | No | -| Lava | v0_6, v0_7, v0_8 | No | -| Local Pathfinder v0.16.2 | v0_6, v0_7, v0_8 | N/A | -| Local Juno v0.14.2 | v0_6, v0_7, v0_8 | N/A | +| Node | with public url | with API key | +| -----------------------: | :-------------: | :----------: | +| Alchemy | No | v0_7 | +| Infura | No | v0_7 | +| Blast | v0_7, v0_8 | No | +| Lava | v0_7, v0_8 | No | +| Local Pathfinder v0.16.2 | v0_7, v0_8 | N/A | +| Local Juno v0.14.2 | v0_7, v0_8 | N/A | **Local Starknet Devnet network:** | Node | with public url | with API key | | ---------------------: | :-------------: | :----------: | -| starknet-devnet v0.2.4 | v0_7 | N/A | -| starknet-devnet v0.3.0 | v0_8 | N/A | +| starknet-devnet v0.4.x | v0_8 | N/A | +| starknet-devnet v0.5.x | v0_9 | N/A | :::note This status has been verified 02/apr/2025. @@ -89,7 +90,7 @@ This status has been verified 02/apr/2025. ### Default RPC node -If you don't want to use a specific node or to handle an API key, you can use one of the defaults (using RPC spec v0.8.0): +If you don't want to use a specific node or to handle an API key, you can use one of the defaults (using RPC spec v0.9.1): ```typescript const myProvider = new RpcProvider({ nodeUrl: constants.NetworkName.SN_SEPOLIA }); @@ -107,47 +108,36 @@ Some examples of `RpcProvider` instantiation to connect to RPC node providers: ### Mainnet ```typescript -// Infura node RPC 0.7.0 for Mainnet: +// Infura node RPC 0.9.1 for Mainnet: const providerInfuraMainnet = new RpcProvider({ nodeUrl: 'https://starknet-mainnet.infura.io/v3/' + infuraKey, - specVersion: '0.7.1', }); -// Blast node RPC 0.8.0 for Mainnet (0.6 & 0_7 also available): +// Blast node RPC 0.9.1 for Mainnet (0.8 also available): const providerBlastMainnet = new RpcProvider({ - nodeUrl: 'https://starknet-mainnet.blastapi.io/' + blastKey + '/rpc/v0_8', + nodeUrl: 'https://starknet-mainnet.blastapi.io/' + blastKey + '/rpc/v0_9', }); -// Lava node RPC 0.8.0 for Mainnet: +// Lava node RPC 0.9.1 for Mainnet: const providerMainnetLava = new RpcProvider({ nodeUrl: 'https://g.w.lavanet.xyz:443/gateway/strk/rpc-http/' + lavaMainnetKey, }); -// Alchemy node RPC 0.7.0 for Mainnet (0_6 also available): +// Alchemy node RPC 0.9.1 for Mainnet (0.8 also available): const providerAlchemyMainnet = new RpcProvider({ - nodeUrl: 'https://starknet-mainnet.g.alchemy.com/starknet/version/rpc/v0_7/' + alchemyKey, - specVersion: '0.7.1', + nodeUrl: 'https://starknet-mainnet.g.alchemy.com/starknet/version/rpc/v0_9/' + alchemyKey, }); -// Public Blast node RPC 0.8.0 for Mainnet (0.6 & 0_7 also available): +// Public Blast node RPC 0.9.1 for Mainnet (0.8 also available): const providerBlastMainnet = new RpcProvider({ - nodeUrl: 'https://starknet-mainnet.public.blastapi.io/rpc/v0_8', + nodeUrl: 'https://starknet-mainnet.public.blastapi.io/rpc/v0_9', }); -// Public Lava node RPC 0.8.0 for Mainnet (0.6 & 0_7 also available): +// Public Lava node RPC 0.9.1 for Mainnet (0.8 also available): const providerLavaMainnet = new RpcProvider({ - nodeUrl: 'https://rpc.starknet.lava.build/rpc/v0_8', + nodeUrl: 'https://rpc.starknet.lava.build/rpc/v0_9', }); ``` > Take care to safely manage your API key. It's a confidential item! :::tip -If the RPC version of the node is 0.7, the `specVersion` parameter must be set: - -```typescript -const myProvider = new RpcProvider({ - nodeUrl: `${myNodeUrl}`, - specVersion: '0.7.1', -}); -``` - -If you are not sure about the RPC version (0.7 or 0.8), use: +If you are not sure about the RPC version (0.8 or 0.9), use: ```typescript const myProvider = await RpcProvider.create({ nodeUrl: `${myNodeUrl}` }); @@ -165,18 +155,17 @@ The Goerli Testnet is no longer in service. ### Sepolia Testnet ```typescript -// Infura node RPC 0.7.0 for Sepolia Testnet : +// Infura node RPC 0.9.1 for Sepolia Testnet: const providerInfuraSepoliaTestnet = new RpcProvider({ nodeUrl: 'https://starknet-sepolia.infura.io/v3/' + infuraKey, - specVersion: '0.7.1', }); -// Public Blast node RPC 0.8.0 for Sepolia Testnet (0_6 & 0_7 also available) : +// Public Blast node RPC 0.9.1 for Sepolia Testnet (0.8 also available): const providerSepoliaTestnetBlastPublic = new RpcProvider({ - nodeUrl: 'https://starknet-sepolia.public.blastapi.io/rpc/v0_8', + nodeUrl: 'https://starknet-sepolia.public.blastapi.io/rpc/v0_9', }); -// Public Lava node RPC 0.8.0 for Sepolia Testnet (0_6 & 0_7 also available) : -const providerSepoliaTestnetBlastPublic = new RpcProvider({ - nodeUrl: 'https://rpc.starknet-testnet.lava.build/rpc/v0_8', +// Public Lava node RPC 0.9.1 for Sepolia Testnet (0.8 also available): +const providerSepoliaTestnetLavaPublic = new RpcProvider({ + nodeUrl: 'https://rpc.starknet-testnet.lava.build/rpc/v0_9', }); ``` @@ -187,14 +176,14 @@ const providerSepoliaTestnetBlastPublic = new RpcProvider({ For a local [Pathfinder](https://github.com/eqlabs/pathfinder) node: ```typescript -const provider = new RpcProvider({ nodeUrl: '127.0.0.1:9545/rpc/v0_8' }); +const myProvider = new RpcProvider({ nodeUrl: '127.0.0.1:9545/rpc/v0_9' }); ``` Your node can be located in your local network (example: Pathfinder node running on a computer in your network, launched with this additional option: `--http-rpc 0.0.0.0:9545`). You can connect with: ```typescript -const provider = new RpcProvider({ nodeUrl: '192.168.1.99:9545/rpc/v0_8' }); +const myProvider = new RpcProvider({ nodeUrl: '192.168.1.99:9545/rpc/v0_9' }); ``` ### Juno @@ -202,24 +191,28 @@ const provider = new RpcProvider({ nodeUrl: '192.168.1.99:9545/rpc/v0_8' }); For a local [Juno](https://github.com/NethermindEth/juno) node initialize the provider with: ```typescript -const provider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:6060/v0_8' }); +const myProvider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:6060/v0_9' }); ``` > If Juno is running on a separate computer in your local network, don't forget to add the option `--http-host 0.0.0.0` when launching Juno. ## Devnet -Example of a connection to a local development node (RPC 0.8.0), with starknet-devnet v0.3.0: +Example of a connection to a local development node, with starknet-devnet: ```typescript -const provider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); +// For RPC 0.8.0 (starknet-devnet v0.3.0) +const myProvider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); + +// For RPC 0.9.1 (starknet-devnet v0.4.0+) +const myProvider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); ``` > If you customized the host or port during starknet-devnet initialization, adapt the script accordingly. ## Batch JSON-RPC -The BatchClient class allows requests to be batched together in a single HTTP request, either by the interval amount or at the end of the callback queue if the batch is set to 0. By batching requests, we can reduce the overhead associated with handling individual requests. +The `BatchClient` class allows requests to be batched together in a single HTTP request, either by the interval amount or at the end of the callback queue if the batch is set to 0. By batching requests, we can reduce the overhead associated with handling individual requests. #### Example of usage with RpcProvider @@ -240,18 +233,18 @@ const [getBlockResponse, blockHashAndNumber, txCount] = await Promise.all([ #### Example of direct usage of underlying BatchClient class ```typescript -const provider = new RpcProvider(); +const myProvider = new RpcProvider(); -const batchClient = new BatchClient({ - nodeUrl: provider.channel.nodeUrl, - headers: provider.channel.headers, +const myBatchClient = new BatchClient({ + nodeUrl: myProvider.channel.nodeUrl, + headers: myProvider.channel.headers, interval: 0, }); const [getBlockResponse, blockHashAndNumber, txCount] = await Promise.all([ - batchClient.getBlock(), - batchClient.getBlockLatestAccepted(), - batchClient.getBlockTransactionCount('latest'), + myBatchClient.getBlock(), + myBatchClient.getBlockLatestAccepted(), + myBatchClient.getBlockTransactionCount('latest'), ]); // ... usage of getBlockResponse, blockHashAndNumber, txCount diff --git a/www/docs/guides/websocket_channel.md b/www/docs/guides/websocket_channel.md index fd85b2abc..1d335c728 100644 --- a/www/docs/guides/websocket_channel.md +++ b/www/docs/guides/websocket_channel.md @@ -1,20 +1,22 @@ --- -sidebar_position: 3 +sidebar_position: 7 --- # WebSocket Channel The `WebSocketChannel` provides a robust, real-time connection to a Starknet RPC Node, enabling you to subscribe to events and receive updates as they happen. It's designed for production use with features like automatic reconnection, request queueing, and a modern subscription management API. -Ensure that you are using a node that supports the required RPC spec (e.g., v0.8.0). +Ensure that you are using a node that supports the required RPC spec (RPC 0.9). ## Key Features -- **Modern API**: Uses a `Subscription` object to manage event streams. -- **Automatic Reconnection**: Automatically detects connection drops and reconnects with an exponential backoff strategy. -- **Request Queueing**: Queues any requests made while the connection is down and executes them upon reconnection. -- **Event Buffering**: Buffers events for a subscription if no handler is attached, preventing event loss. -- **Custom Errors**: Throws specific, catchable errors like `TimeoutError` for more reliable error handling. +- **Object-Based API**: All subscription methods now use object-based parameters for better type safety and extensibility +- **Modern Subscription Management**: Uses a `Subscription` object to manage event streams with typed results +- **Automatic Reconnection**: Automatically detects connection drops and reconnects with an exponential backoff strategy +- **Request Queueing**: Queues any requests made while the connection is down and executes them upon reconnection +- **Event Buffering**: Buffers events for a subscription if no handler is attached, preventing event loss +- **Custom Errors**: Throws specific, catchable errors like `TimeoutError` for more reliable error handling +- **Full Type Safety**: Complete TypeScript support with exported parameter interfaces and subscription types ## Importing @@ -24,7 +26,23 @@ To get started, import the necessary classes and types from the `starknet` libra import { WebSocketChannel, WebSocketOptions, + ReconnectOptions, + WebSocketModule, Subscription, + SubscriptionOptions, + // Subscription parameter interfaces + SubscribeNewHeadsParams, + SubscribeEventsParams, + SubscribeTransactionStatusParams, + SubscribeNewTransactionReceiptsParams, + SubscribeNewTransactionsParams, + // Typed subscription results + SubscriptionNewHeadsEvent, + SubscriptionStarknetEventsEvent, + SubscriptionTransactionStatusEvent, + SubscriptionNewTransactionReceiptsEvent, + SubscriptionNewTransactionEvent, + // Error types TimeoutError, WebSocketNotConnectedError, } from 'starknet'; @@ -36,21 +54,21 @@ Instantiate `WebSocketChannel` with your node's WebSocket URL. ```typescript const channel = new WebSocketChannel({ - nodeUrl: 'wss://your-starknet-node/rpc/v0_8', + nodeUrl: 'wss://your-starknet-node/rpc/v0_9', }); // It's good practice to wait for the initial connection. await channel.waitForConnection(); ``` -If you are in an environment without a native `WebSocket` object (like Node.js), you can provide a custom implementation (e.g., from the `ws` library). +If you are in an environment without a native `WebSocket` object (like older node.js), you can provide a custom implementation (e.g., from the `ws` library). ```typescript import WebSocket from 'ws'; const channel = new WebSocketChannel({ nodeUrl: '...', - websocket: WebSocket, // Provide the implementation class + websocket: WebSocket as WebSocketModule, // Provide the implementation class }); await channel.waitForConnection(); @@ -82,8 +100,10 @@ When you call a subscription method (e.g., `subscribeNewHeads`), it returns a `P You attach a listener with `.on()` and stop listening with `.unsubscribe()`. ```typescript -// 1. Subscribe to an event stream. -const sub: Subscription = await channel.subscribeNewHeads(); +// 1. Subscribe to an event stream using object-based API. +const sub: SubscriptionNewHeadsEvent = await channel.subscribeNewHeads({ + blockIdentifier: 'latest', // optional: 'latest', 'pending', block hash, or block number +}); // 2. Attach a handler to process incoming data. sub.on((data) => { @@ -102,6 +122,51 @@ If you `await` a subscription but don't immediately attach an `.on()` handler, t The buffer size is limited by the `maxBufferSize` in the channel options. If the buffer is full, the oldest events are dropped. +## Type Safety and Exported Types + +Starknet.js v8 provides complete TypeScript support for WebSocket subscriptions. All subscription methods return properly typed `Subscription` objects, and parameter interfaces are exported for external use. + +```typescript +import { SubscriptionNewHeadsEvent, SubscribeEventsParams } from 'starknet'; + +// Typed subscription result +const headsSub: SubscriptionNewHeadsEvent = await channel.subscribeNewHeads(); + +// Typed parameters +const eventsParams: SubscribeEventsParams = { + fromAddress: '0x1234...', + finalityStatus: 'ACCEPTED_ON_L2', +}; +const eventsSub = await channel.subscribeEvents(eventsParams); + +// Type-safe event handling +headsSub.on((blockHeader) => { + // blockHeader is properly typed as NewHeadsEvent['result'] + console.log('Block number:', blockHeader.block_number); + console.log('Block hash:', blockHeader.block_hash); +}); +``` + +### Available Parameter Types + +All subscription parameter interfaces are exported: + +- `SubscribeNewHeadsParams` - For `subscribeNewHeads()` +- `SubscribeEventsParams` - For `subscribeEvents()` +- `SubscribeTransactionStatusParams` - For `subscribeTransactionStatus()` +- `SubscribeNewTransactionReceiptsParams` - For `subscribeNewTransactionReceipts()` +- `SubscribeNewTransactionsParams` - For `subscribeNewTransactions()` + +### Available Subscription Result Types + +All subscription result types are exported for type annotations: + +- `SubscriptionNewHeadsEvent` - Result type for new block headers +- `SubscriptionStarknetEventsEvent` - Result type for contract events +- `SubscriptionTransactionStatusEvent` - Result type for transaction status updates +- `SubscriptionNewTransactionReceiptsEvent` - Result type for transaction receipts +- `SubscriptionNewTransactionEvent` - Result type for new transactions + ## Automatic Reconnection and Queueing The channel is designed to be resilient. If the connection drops, it will automatically try to reconnect. While reconnecting: @@ -130,11 +195,194 @@ try { ## Available Subscription Methods -Each of these methods returns a `Promise`. +All subscription methods now use object-based parameters for better type safety and extensibility. Each method returns a `Promise` with typed results. + +### `subscribeNewHeads(params?: SubscribeNewHeadsParams)` + +Subscribes to new block headers. + +```typescript +// Subscribe to all new blocks +const sub1 = await channel.subscribeNewHeads(); + +// Subscribe from a specific block +const sub2 = await channel.subscribeNewHeads({ + blockIdentifier: 'latest', // or block number/hash +}); +``` + +### `subscribeEvents(params?: SubscribeEventsParams)` + +Subscribes to contract events with optional filtering. + +```typescript +// Subscribe to all events +const sub1 = await channel.subscribeEvents(); + +// Subscribe to events with filters +const sub2 = await channel.subscribeEvents({ + fromAddress: '0x1234...', // Filter by contract address + keys: [['0xkey1', '0xkey2']], // Filter by event keys + blockIdentifier: 'latest', + finalityStatus: 'ACCEPTED_ON_L2', // Filter by finality status +}); +``` + +### `subscribeTransactionStatus(params: SubscribeTransactionStatusParams)` + +Subscribes to status updates for a specific transaction. + +```typescript +const sub = await channel.subscribeTransactionStatus({ + transactionHash: '0x1234...', // Required + blockIdentifier: 'latest', // Optional +}); +``` -- `subscribeNewHeads` -- `subscribeEvents` -- `subscribeTransactionStatus` -- `subscribePendingTransaction` +### `subscribeNewTransactionReceipts(params?: SubscribeNewTransactionReceiptsParams)` + +Subscribes to new transaction receipts (RPC 0.9+). + +```typescript +// Subscribe to all transaction receipts +const sub1 = await channel.subscribeNewTransactionReceipts(); + +// Subscribe with filters +const sub2 = await channel.subscribeNewTransactionReceipts({ + finalityStatus: ['ACCEPTED_ON_L2'], // Filter by finality status + senderAddress: ['0x1234...', '0x5678...'], // Filter by sender addresses +}); +``` + +### `subscribeNewTransactions(params?: SubscribeNewTransactionsParams)` + +Subscribes to new transactions (RPC 0.9+). + +```typescript +// Subscribe to all transactions +const sub1 = await channel.subscribeNewTransactions(); + +// Subscribe with filters +const sub2 = await channel.subscribeNewTransactions({ + finalityStatus: ['ACCEPTED_ON_L2'], // Filter by finality status + senderAddress: ['0x1234...'], // Filter by sender addresses +}); +``` + +## Migration from v7 to v8 + +The WebSocket API has been updated to use object-based parameters: + +```typescript +// v7 (positional arguments) +const sub = await channel.subscribeEvents( + '0x1234...', // fromAddress + [['0xkey1']], // keys + 'latest', // blockIdentifier + 'ACCEPTED_ON_L2' // finalityStatus +); + +// v8 (object-based parameters) +const sub = await channel.subscribeEvents({ + fromAddress: '0x1234...', + keys: [['0xkey1']], + blockIdentifier: 'latest', + finalityStatus: 'ACCEPTED_ON_L2', +}); +``` + +**Breaking Changes:** + +- `subscribePendingTransaction` has been removed (not available in RPC 0.9) +- All subscription methods now use object parameters +- New methods `subscribeNewTransactionReceipts` and `subscribeNewTransactions` added for RPC 0.9 + +## Complete Example + +Here's a comprehensive example showcasing the new object-based API and type safety: + +```typescript +import { + WebSocketChannel, + SubscriptionNewHeadsEvent, + SubscriptionStarknetEventsEvent, + SubscribeEventsParams, + TimeoutError, + WebSocketNotConnectedError, +} from 'starknet'; + +async function main() { + // Create WebSocket channel + const channel = new WebSocketChannel({ + nodeUrl: 'wss://starknet-sepolia.public.blastapi.io/rpc/v0_9', + autoReconnect: true, + reconnectOptions: { + retries: 5, + delay: 2000, + }, + requestTimeout: 30000, + maxBufferSize: 1000, + }); + + try { + // Wait for connection + await channel.waitForConnection(); + console.log('Connected to WebSocket'); + + // Subscribe to new block headers + const headsSub: SubscriptionNewHeadsEvent = await channel.subscribeNewHeads({ + blockIdentifier: 'latest', + }); + + headsSub.on((blockHeader) => { + console.log(`New block ${blockHeader.block_number}: ${blockHeader.block_hash}`); + }); + + // Subscribe to contract events with filtering + const eventParams: SubscribeEventsParams = { + fromAddress: '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7', // ETH token + finalityStatus: 'ACCEPTED_ON_L2', + }; + + const eventsSub: SubscriptionStarknetEventsEvent = await channel.subscribeEvents(eventParams); + + eventsSub.on((eventData) => { + console.log('Contract event:', eventData.event); + }); + + // Subscribe to transaction receipts (RPC 0.9+) + const receiptsSub = await channel.subscribeNewTransactionReceipts({ + finalityStatus: ['ACCEPTED_ON_L2'], + }); + + receiptsSub.on((receipt) => { + console.log('New transaction receipt:', receipt.transaction_receipt.transaction_hash); + }); + + // Keep running for demonstration + await new Promise((resolve) => setTimeout(resolve, 60000)); + + // Clean up subscriptions + await headsSub.unsubscribe(); + await eventsSub.unsubscribe(); + await receiptsSub.unsubscribe(); + } catch (error) { + if (error instanceof TimeoutError) { + console.error('Connection timeout:', error.message); + } else if (error instanceof WebSocketNotConnectedError) { + console.error('WebSocket not connected:', error.message); + } else { + console.error('Unexpected error:', error); + } + } finally { + // Close the connection + channel.disconnect(); + await channel.waitForDisconnection(); + console.log('Disconnected from WebSocket'); + } +} + +main().catch(console.error); +``` For more details, see the complete [API documentation](/docs/next/API/classes/WebSocketChannel). diff --git a/www/docs/guides/why_starknetjs.md b/www/docs/guides/why_starknetjs.md new file mode 100644 index 000000000..02f739e07 --- /dev/null +++ b/www/docs/guides/why_starknetjs.md @@ -0,0 +1,92 @@ +--- +sidebar_position: 1 +--- + +# Why Starknet JS + +Starknet.js is your gateway to building powerful decentralized applications (dApps) on Starknet. As the official JavaScript/TypeScript library for Starknet, it provides a comprehensive suite of tools to interact with the Starknet network, making blockchain development accessible and efficient. + +## Why Choose Starknet.js? + +- 🚀 **Easy Integration**: Simple, intuitive APIs for interacting with Starknet +- 🔒 **Type Safety**: Full TypeScript support with smart contract type generation +- ⚡ **High Performance**: Optimized for handling Starknet's high throughput +- 🛠️ **Complete Toolset**: Everything you need for Starknet development in one package +- 📚 **Well Documented**: Extensive documentation and examples + +## Architecture Overview + +The following diagrams illustrate how Starknet.js connects your dApp to the Starknet network: + +![Starknet.js Architecture](./pictures/why-starknet.svg) + +This architecture enables: + +- Seamless communication between your dApp and Starknet nodes +- Efficient handling of transactions and contract interactions +- Secure account management and transaction signing +- Real-time event monitoring and state updates + +Key components and their interactions: + +1. **Your dApp** interacts with Starknet.js through its JavaScript/TypeScript interface +2. **Starknet.js** comprises several classes and utilities that abstract and simplify interacting with Starknet +3. **Starknet Network** processes transactions and maintains the blockchain state + +## Starknet.js Core Components + +### 1. Provider & Channel + +- Both handle communication with the network at different levels. +- **`Provider`**: Your main connection to Starknet nodes. Handles high-level communication. Available as the `RpcProvider` class. +- **`Channel`**: Handles low-level communication. Available as the `RpcChannel` and `WebSocketChannel` classes that support HTTP and WebSocket connections, respectively. + +### 2. Account + +The `Account` class is your primary interface for: + +- 💼 Managing wallets and tokens +- 💰 Handling transaction fees +- 📝 Signing and sending transactions +- 🔐 Managing account security + +### 3. Contract + +The `Contract` class provides: + +- 📖 Reading smart contract state +- ✍️ Writing to contracts +- 🔄 Handling contract events +- 🧪 Testing contract interactions + +### 4. Utility Tools + +- `Utils`: Helper functions for data conversion and formatting +- `Signer`: Cryptographic operations and message signing + +## Network Compatibility + +Connect your dApp to any Starknet environment: + +| Network | Description | Use Case | +| --------------------------------------------------------- | ---------------------------------------- | --------------------- | +| [Mainnet](https://starkscan.co) | Production network (Layer 2 of Ethereum) | Live applications | +| [Testnet](https://sepolia.starkscan.co/) | Test network (Layer 2 of Sepolia) | Testing & development | +| [Devnet](https://github.com/0xSpaceShard/starknet-devnet) | Local development network | Rapid development | + +You can also connect to: + +- Custom Starknet deployments +- Local Starknet nodes (connected to mainnet or testnet) + +## Prerequisites + +Before diving into Starknet.js, familiarize yourself with: + +1. [Starknet Documentation](https://docs.starknet.io/documentation/) - Understanding the network +2. [Cairo Programming](https://book.cairo-lang.org/) - Smart contract development +3. JavaScript/TypeScript fundamentals + +## Next Steps + +Ready to start building? Head to our [Getting Started](./intro.md) guide to begin your journey with Starknet.js! diff --git a/www/docusaurus.config.js b/www/docusaurus.config.js index 5b64686b2..bec140e20 100644 --- a/www/docusaurus.config.js +++ b/www/docusaurus.config.js @@ -26,7 +26,6 @@ const config = { favicon: 'img/favicon.ico', organizationName: 'starknet-io', // Usually your GitHub org/user name. projectName: 'starknet.js', // Usually your repo name. - presets: [ [ 'classic', @@ -41,7 +40,12 @@ const config = { themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ - { + ({ + colorMode: { + defaultMode: 'dark', + disableSwitch: false, + respectPrefersColorScheme: false, + }, algolia: { // The application ID provided by Algolia appId: '86VVNRI64B', @@ -155,7 +159,7 @@ const config = { theme: lightCodeTheme, darkTheme: darkCodeTheme, }, - }, + }), plugins: [ [ diff --git a/www/package-lock.json b/www/package-lock.json index 0fa29b96a..f6b06cad3 100644 --- a/www/package-lock.json +++ b/www/package-lock.json @@ -8,8 +8,10 @@ "name": "www", "version": "0.0.0", "dependencies": { - "@docusaurus/core": "^2.4.0", - "@docusaurus/preset-classic": "^2.4.0", + "@docusaurus/core": "2.4.3", + "@docusaurus/plugin-content-docs": "2.4.3", + "@docusaurus/preset-classic": "2.4.3", + "@docusaurus/types": "2.4.3", "@mdx-js/react": "^1.6.22", "clsx": "^1.1.1", "prism-react-renderer": "^1.2.1", @@ -26,20 +28,50 @@ "typescript": "^5.0.4" } }, + "node_modules/@algolia/abtesting": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.3.0.tgz", + "integrity": "sha512-KqPVLdVNfoJzX5BKNGM9bsW8saHeyax8kmPFXul5gejrSPN3qss7PgsFH5mMem7oR8tvjvNkia97ljEYPYCN8Q==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.37.0", + "@algolia/requester-browser-xhr": "5.37.0", + "@algolia/requester-fetch": "5.37.0", + "@algolia/requester-node-http": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@algolia/autocomplete-core": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.8.2.tgz", - "integrity": "sha512-mTeshsyFhAqw/ebqNsQpMtbnjr+qVOSKXArEj4K0d7sqc8It1XD0gkASwecm9mF/jlOQ4Z9RNg1HbdA8JPdRwQ==", + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz", + "integrity": "sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.17.9", + "@algolia/autocomplete-shared": "1.17.9" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz", + "integrity": "sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==", + "license": "MIT", "dependencies": { - "@algolia/autocomplete-shared": "1.8.2" + "@algolia/autocomplete-shared": "1.17.9" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" } }, "node_modules/@algolia/autocomplete-preset-algolia": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.8.2.tgz", - "integrity": "sha512-J0oTx4me6ZM9kIKPuL3lyU3aB8DEvpVvR6xWmHVROx5rOYJGQcZsdG4ozxwcOyiiu3qxMkIbzntnV1S1VWD8yA==", + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz", + "integrity": "sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==", + "license": "MIT", "dependencies": { - "@algolia/autocomplete-shared": "1.8.2" + "@algolia/autocomplete-shared": "1.17.9" }, "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", @@ -47,181 +79,413 @@ } }, "node_modules/@algolia/autocomplete-shared": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.8.2.tgz", - "integrity": "sha512-b6Z/X4MczChMcfhk6kfRmBzPgjoPzuS9KGR4AFsiLulLNRAAqhP+xZTKtMnZGhLuc61I20d5WqlId02AZvcO6g==" + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz", + "integrity": "sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==", + "license": "MIT", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } }, "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.17.1.tgz", - "integrity": "sha512-e91Jpu93X3t3mVdQwF3ZDjSFMFIfzSc+I76G4EX8nl9RYXgqcjframoL05VTjcD2YCsI18RIHAWVCBoCXVZnrw==", + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.25.2.tgz", + "integrity": "sha512-tA1rqAafI+gUdewjZwyTsZVxesl22MTgLWRKt1+TBiL26NiKx7SjRqTI3pzm8ngx1ftM5LSgXkVIgk2+SRgPTg==", + "license": "MIT", "dependencies": { - "@algolia/cache-common": "4.17.1" + "@algolia/cache-common": "4.25.2" } }, "node_modules/@algolia/cache-common": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.17.1.tgz", - "integrity": "sha512-fvi1WT8aSiGAKrcTw8Qg3RYgcwW8GZMHcqEm4AyDBEy72JZlFBSY80cTQ75MslINjCHXLDT+9EN8AGI9WVY7uA==" + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.25.2.tgz", + "integrity": "sha512-E+aZwwwmhvZXsRA1+8DhH2JJIwugBzHivASTnoq7bmv0nmForLyH7rMG5cOTiDK36DDLnKq1rMGzxWZZ70KZag==", + "license": "MIT" }, "node_modules/@algolia/cache-in-memory": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.17.1.tgz", - "integrity": "sha512-NbBt6eBWlsXc5geSpfPRC5dkIB/0Ptthw8r0yM5Z7D3sPlYdnTZSO9y9XWXIptRMwmZe4cM8iBMN8y0tzbcBkA==", + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.25.2.tgz", + "integrity": "sha512-KYcenhfPKgR+WJ6IEwKVEFMKKCWLZdnYuw08+3Pn1cxAXbJcTIKjoYgEXzEW6gJmDaau2l55qNrZo6MBbX7+sw==", + "license": "MIT", "dependencies": { - "@algolia/cache-common": "4.17.1" + "@algolia/cache-common": "4.25.2" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.37.0.tgz", + "integrity": "sha512-Dp2Zq+x9qQFnuiQhVe91EeaaPxWBhzwQ6QnznZQnH9C1/ei3dvtmAFfFeaTxM6FzfJXDLvVnaQagTYFTQz3R5g==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.37.0", + "@algolia/requester-browser-xhr": "5.37.0", + "@algolia/requester-fetch": "5.37.0", + "@algolia/requester-node-http": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" } }, "node_modules/@algolia/client-account": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.17.1.tgz", - "integrity": "sha512-3rL/6ofJvyL+q8TiWM3qoM9tig+SY4gB1Vbsj+UeJPnJm8Khm+7OS+r+mFraqR6pTehYqN8yGYoE7x4diEn4aA==", + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.25.2.tgz", + "integrity": "sha512-IfRGhBxvjli9mdexrCxX2N4XT9NBN3tvZK5zCaL8zkDcgsthiM9WPvGIZS/pl/FuXB7hA0lE5kqOzsQDP6OmGQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.2", + "@algolia/client-search": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-common": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.25.2.tgz", + "integrity": "sha512-HXX8vbJPYW29P18GxciiwaDpQid6UhpPP9nW9WE181uGUgFhyP5zaEkYWf9oYBrjMubrGwXi5YEzJOz6Oa4faA==", + "license": "MIT", "dependencies": { - "@algolia/client-common": "4.17.1", - "@algolia/client-search": "4.17.1", - "@algolia/transporter": "4.17.1" + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-search": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.25.2.tgz", + "integrity": "sha512-pO/LpVnQlbJpcHRk+AroWyyFnh01eOlO6/uLZRUmYvr/hpKZKxI6n7ufgTawbo0KrAu2CePfiOkStYOmDuRjzQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" } }, "node_modules/@algolia/client-analytics": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.17.1.tgz", - "integrity": "sha512-Bepr2w249vODqeBtM7i++tPmUsQ9B81aupUGbDWmjA/FX+jzQqOdhW8w1CFO5kWViNKTbz2WBIJ9U3x8hOa4bA==", + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.25.2.tgz", + "integrity": "sha512-4Yxxhxh+XjXY8zPyo+h6tQuyoJWDBn8E3YLr8j+YAEy5p+r3/5Tp+ANvQ+hNaQXbwZpyf5d4ViYOBjJ8+bWNEg==", + "license": "MIT", "dependencies": { - "@algolia/client-common": "4.17.1", - "@algolia/client-search": "4.17.1", - "@algolia/requester-common": "4.17.1", - "@algolia/transporter": "4.17.1" + "@algolia/client-common": "4.25.2", + "@algolia/client-search": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-common": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.25.2.tgz", + "integrity": "sha512-HXX8vbJPYW29P18GxciiwaDpQid6UhpPP9nW9WE181uGUgFhyP5zaEkYWf9oYBrjMubrGwXi5YEzJOz6Oa4faA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-search": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.25.2.tgz", + "integrity": "sha512-pO/LpVnQlbJpcHRk+AroWyyFnh01eOlO6/uLZRUmYvr/hpKZKxI6n7ufgTawbo0KrAu2CePfiOkStYOmDuRjzQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" } }, "node_modules/@algolia/client-common": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.17.1.tgz", - "integrity": "sha512-+r7kg4EgbFnGsDnoGSVNtXZO8xvZ0vzf1WAOV7sqV9PMf1bp6cpJP/3IuPrSk4t5w2KVl+pC8jfTM7HcFlfBEQ==", + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.37.0.tgz", + "integrity": "sha512-GylIFlPvLy9OMgFG8JkonIagv3zF+Dx3H401Uo2KpmfMVBBJiGfAb9oYfXtplpRMZnZPxF5FnkWaI/NpVJMC+g==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.37.0.tgz", + "integrity": "sha512-T63afO2O69XHKw2+F7mfRoIbmXWGzgpZxgOFAdP3fR4laid7pWBt20P4eJ+Zn23wXS5kC9P2K7Bo3+rVjqnYiw==", + "license": "MIT", "dependencies": { - "@algolia/requester-common": "4.17.1", - "@algolia/transporter": "4.17.1" + "@algolia/client-common": "5.37.0", + "@algolia/requester-browser-xhr": "5.37.0", + "@algolia/requester-fetch": "5.37.0", + "@algolia/requester-node-http": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" } }, "node_modules/@algolia/client-personalization": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.17.1.tgz", - "integrity": "sha512-gJku9DG/THJpfsSlG/az0a3QIn+VVff9kKh8PG8+7ZfxOHS+C+Y5YSeZVsC+c2cfoKLPo3CuHIiJ/p86erR3bA==", + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.25.2.tgz", + "integrity": "sha512-K81PRaHF77mHv2u8foWTHnIf5c+QNf/SnKNM7rB8JPi7TMYi4E5o2mFbgdU1ovd8eg9YMOEAuLkl1Nz1vbM3zQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-personalization/node_modules/@algolia/client-common": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.25.2.tgz", + "integrity": "sha512-HXX8vbJPYW29P18GxciiwaDpQid6UhpPP9nW9WE181uGUgFhyP5zaEkYWf9oYBrjMubrGwXi5YEzJOz6Oa4faA==", + "license": "MIT", "dependencies": { - "@algolia/client-common": "4.17.1", - "@algolia/requester-common": "4.17.1", - "@algolia/transporter": "4.17.1" + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.37.0.tgz", + "integrity": "sha512-31Nr2xOLBCYVal+OMZn1rp1H4lPs1914Tfr3a34wU/nsWJ+TB3vWjfkUUuuYhWoWBEArwuRzt3YNLn0F/KRVkg==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.37.0", + "@algolia/requester-browser-xhr": "5.37.0", + "@algolia/requester-fetch": "5.37.0", + "@algolia/requester-node-http": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" } }, "node_modules/@algolia/client-search": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.17.1.tgz", - "integrity": "sha512-Q5YfT5gVkx60PZDQBqp/zH9aUbBdC7HVvxupiHUgnCKqRQsRZjOhLest7AI6FahepuZLBZS62COrO7v+JvKY7w==", + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.37.0.tgz", + "integrity": "sha512-DAFVUvEg+u7jUs6BZiVz9zdaUebYULPiQ4LM2R4n8Nujzyj7BZzGr2DCd85ip4p/cx7nAZWKM8pLcGtkTRTdsg==", + "license": "MIT", "dependencies": { - "@algolia/client-common": "4.17.1", - "@algolia/requester-common": "4.17.1", - "@algolia/transporter": "4.17.1" + "@algolia/client-common": "5.37.0", + "@algolia/requester-browser-xhr": "5.37.0", + "@algolia/requester-fetch": "5.37.0", + "@algolia/requester-node-http": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" } }, "node_modules/@algolia/events": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", + "license": "MIT" + }, + "node_modules/@algolia/ingestion": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.37.0.tgz", + "integrity": "sha512-pkCepBRRdcdd7dTLbFddnu886NyyxmhgqiRcHHaDunvX03Ij4WzvouWrQq7B7iYBjkMQrLS8wQqSP0REfA4W8g==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.37.0", + "@algolia/requester-browser-xhr": "5.37.0", + "@algolia/requester-fetch": "5.37.0", + "@algolia/requester-node-http": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" + } }, "node_modules/@algolia/logger-common": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.17.1.tgz", - "integrity": "sha512-Us28Ot+fLEmX9M96sa65VZ8EyEEzhYPxfhV9aQyKDjfXbUdJlJxKt6wZpoEg9RAPSdO8IjK9nmuW2P8au3rRsg==" + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.25.2.tgz", + "integrity": "sha512-aUXpcodoIpLPsnVc2OHgC9E156R7yXWLW2l+Zn24Cyepfq3IvmuVckBvJDpp7nPnXkEzeMuvnVxQfQsk+zP/BA==", + "license": "MIT" }, "node_modules/@algolia/logger-console": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.17.1.tgz", - "integrity": "sha512-iKGQTpOjHiE64W3JIOu6dmDvn+AfYIElI9jf/Nt6umRPmP/JI9rK+OHUoW4pKrBtdG0DPd62ppeNXzSnLxY6/g==", + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.25.2.tgz", + "integrity": "sha512-H3Y+UB0Ty0htvMJ6zDSufhFTSDlg3Pyj3AXilfDdDRcvfhH4C/cJNVm+CTaGORxL5uKABGsBp+SZjsEMTyAunQ==", + "license": "MIT", + "dependencies": { + "@algolia/logger-common": "4.25.2" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.37.0.tgz", + "integrity": "sha512-fNw7pVdyZAAQQCJf1cc/ih4fwrRdQSgKwgor4gchsI/Q/ss9inmC6bl/69jvoRSzgZS9BX4elwHKdo0EfTli3w==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.37.0", + "@algolia/requester-browser-xhr": "5.37.0", + "@algolia/requester-fetch": "5.37.0", + "@algolia/requester-node-http": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.25.2.tgz", + "integrity": "sha512-puRrGeXwAuVa4mLdvXvmxHRFz9MkcCOLPcjz7MjU4NihlpIa+lZYgikJ7z0SUAaYgd6l5Bh00hXiU/OlX5ffXQ==", + "license": "MIT", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.25.2", + "@algolia/cache-common": "4.25.2", + "@algolia/cache-in-memory": "4.25.2", + "@algolia/client-common": "4.25.2", + "@algolia/client-search": "4.25.2", + "@algolia/logger-common": "4.25.2", + "@algolia/logger-console": "4.25.2", + "@algolia/requester-browser-xhr": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/requester-node-http": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/client-common": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.25.2.tgz", + "integrity": "sha512-HXX8vbJPYW29P18GxciiwaDpQid6UhpPP9nW9WE181uGUgFhyP5zaEkYWf9oYBrjMubrGwXi5YEzJOz6Oa4faA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/client-search": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.25.2.tgz", + "integrity": "sha512-pO/LpVnQlbJpcHRk+AroWyyFnh01eOlO6/uLZRUmYvr/hpKZKxI6n7ufgTawbo0KrAu2CePfiOkStYOmDuRjzQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-browser-xhr": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.25.2.tgz", + "integrity": "sha512-aAjfsI0AjWgXLh/xr9eoR8/9HekBkIER3bxGoBf9d1XWMMoTo/q92Da2fewkxwLE6mla95QJ9suJGOtMOewXXQ==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.25.2.tgz", + "integrity": "sha512-Ja/FYB7W9ZM+m8UrMIlawNUAKpncvb9Mo+D8Jq5WepGTUyQ9CBYLsjwxv9O8wbj3TSWqTInf4uUBJ2FKR8G7xw==", + "license": "MIT", "dependencies": { - "@algolia/logger-common": "4.17.1" + "@algolia/requester-common": "4.25.2" } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.17.1.tgz", - "integrity": "sha512-W5mGfGDsyfVR+r4pUFrYLGBEM18gs38+GNt5PE5uPULy4uVTSnnVSkJkWeRkmLBk9zEZ/Nld8m4zavK6dtEuYg==", + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.37.0.tgz", + "integrity": "sha512-Ao8GZo8WgWFABrU7iq+JAftXV0t+UcOtCDL4mzHHZ+rQeTTf1TZssr4d0vIuoqkVNnKt9iyZ7T4lQff4ydcTrw==", + "license": "MIT", "dependencies": { - "@algolia/requester-common": "4.17.1" + "@algolia/client-common": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-common": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.17.1.tgz", - "integrity": "sha512-HggXdjvVFQR0I5l7hM5WdHgQ1tqcRWeyXZz8apQ7zPWZhirmY2E9D6LVhDh/UnWQNEm7nBtM+eMFONJ3bZccIQ==" + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.25.2.tgz", + "integrity": "sha512-Q4wC3sgY0UFjV3Rb3icRLTpPB5/M44A8IxzJHM9PNeK1T3iX7X/fmz7ATUYQYZTpwHCYATlsQKWiTpql1hHjVg==", + "license": "MIT" + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.37.0.tgz", + "integrity": "sha512-H7OJOXrFg5dLcGJ22uxx8eiFId0aB9b0UBhoOi4SMSuDBe6vjJJ/LeZyY25zPaSvkXNBN3vAM+ad6M0h6ha3AA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" + } }, "node_modules/@algolia/requester-node-http": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.17.1.tgz", - "integrity": "sha512-NzFWecXT6d0PPsQY9L+/qoK2deF74OLcpvqCH+Vh3mh+QzPsFafcBExdguAjZsAWDn1R6JEeFW7/fo/p0SE57w==", + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.37.0.tgz", + "integrity": "sha512-npZ9aeag4SGTx677eqPL3rkSPlQrnzx/8wNrl1P7GpWq9w/eTmRbOq+wKrJ2r78idlY0MMgmY/mld2tq6dc44g==", + "license": "MIT", "dependencies": { - "@algolia/requester-common": "4.17.1" + "@algolia/client-common": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" } }, "node_modules/@algolia/transporter": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.17.1.tgz", - "integrity": "sha512-ZM+qhX47Vh46mWH8/U9ihvy98HdTYpYQDSlqBD7IbiUbbyoCMke+qmdSX2MGhR2FCcXBSxejsJKKVAfbpaLVgg==", + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.25.2.tgz", + "integrity": "sha512-yw3RLHWc6V+pbdsFtq8b6T5bJqLDqnfKWS7nac1Vzcmgvs/V/Lfy7/6iOF9XRilu5aBDOBHoP1SOeIDghguzWw==", + "license": "MIT", "dependencies": { - "@algolia/cache-common": "4.17.1", - "@algolia/logger-common": "4.17.1", - "@algolia/requester-common": "4.17.1" + "@algolia/cache-common": "4.25.2", + "@algolia/logger-common": "4.25.2", + "@algolia/requester-common": "4.25.2" } }, "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==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz", - "integrity": "sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", + "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.22.1", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.1.tgz", - "integrity": "sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", + "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.22.0", - "@babel/helper-compilation-targets": "^7.22.1", - "@babel/helper-module-transforms": "^7.22.1", - "@babel/helpers": "^7.22.0", - "@babel/parser": "^7.22.0", - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.0", - "convert-source-map": "^1.7.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.3", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -232,89 +496,80 @@ } }, "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.3.tgz", - "integrity": "sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.3", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.3.tgz", - "integrity": "sha512-ahEoxgqNoYXm0k22TvOke48i1PkavGu0qGCmcq9ugi6gnmvKNaMjKBSrZTnWUi1CFEeNAUiVba0Wtzm03aSkJg==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.3" + "@babel/types": "^7.27.3" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.1", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz", - "integrity": "sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.0", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", + "@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.0" + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.1.tgz", - "integrity": "sha512-SowrZ9BWzYFgzUMwUmowbPSGu6CXL5MSuuCkG3bejahSpSymioPmuLdhPxNOc9MjuNGjy7M/HaXvJ8G82Lywlw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.22.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.22.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6", - "semver": "^6.3.0" + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", + "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -324,21 +579,23 @@ } }, "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.1.tgz", - "integrity": "sha512-WWjdnfR3LPIe+0EY8td7WmjhytxXtjKAEpnAxun/hkNiyOaPlvGK+NZaBFIdi9ndYV3Gav7BpFvtUwnaJlwi1w==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", + "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.3.1", - "semver": "^6.3.0" + "@babel/helper-annotate-as-pure": "^7.27.1", + "regexpu-core": "^6.2.0", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -348,136 +605,112 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz", - "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" + "resolve": "^1.22.10" }, "peerDependencies": { - "@babel/core": "^7.4.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.1", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz", - "integrity": "sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dependencies": { - "@babel/types": "^7.18.6" - }, + "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==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.3.tgz", - "integrity": "sha512-Gl7sK04b/2WOb6OPVeNy9eFKeD3L6++CzL3ykPOWqTn08xgYYK0wz4TUh2feIImDXxcVW3/9WQ1NMKY66/jfZA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.3" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.21.4" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz", - "integrity": "sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.0" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", - "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "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==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -487,186 +720,97 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.1.tgz", - "integrity": "sha512-ut4qrkE4AuSfrwHSps51ekR1ZY/ygrP1tp0WFm8oVq6nzc/hvfV/22JylndIbsf2U2M9LOMwiSddr6y+78j+OQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-member-expression-to-functions": "^7.22.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.0" + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", - "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", - "dependencies": { - "@babel/types": "^7.21.5" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "dependencies": { - "@babel/types": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", - "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "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==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", + "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", + "license": "MIT", "dependencies": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.3.tgz", - "integrity": "sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==", - "dependencies": { - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.3" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz", + "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==", + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "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==", + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "@babel/types": "^7.28.2" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.3.tgz", - "integrity": "sha512-vrukxyW/ep8UD1UDzOYpTKQ6abgjFoeG6L+4ar9+c5TN9QnlqiOi6QK7LSR5ewm/ERyGkT/Ai6VboNrxhbr9Uw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -674,12 +818,14 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", + "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -688,226 +834,101 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.3.tgz", - "integrity": "sha512-6r4yRwEnorYByILoDRnEqxtojYKuiIv9FojW2E8GUKo9eWBwbKcd9IiZOZpdyXc64RmyGGyPu3/uAcrz/dq2kQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-transform-optional-chaining": "^7.22.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", - "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@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==", - "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-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.3.tgz", - "integrity": "sha512-i35jZJv6aO7hxEbIWQ41adVfOzjm9dcYDNeWlBMd8p0ZQRtNUCBrmGwZt+H5lb+oOC9a3svp956KP0oWGA1YsA==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5" + "@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", - "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "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==", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "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==", + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { + "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", - "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==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -915,34 +936,43 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "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==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "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==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@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==", + "node_modules/@babel/plugin-syntax-jsx": { + "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==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -951,26 +981,25 @@ "@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==", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "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==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", - "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", + "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==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -983,6 +1012,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -995,11 +1025,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz", - "integrity": "sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1009,14 +1040,14 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.3.tgz", - "integrity": "sha512-36A4Aq48t66btydbZd5Fk0/xJqbpg/v4QWI4AH4cYHBXy9Mu42UOupZpebKFiCFNT9S9rJFcsld0gsv0ayLjtA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1026,13 +1057,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1042,11 +1074,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1056,11 +1089,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", - "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz", + "integrity": "sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1070,12 +1104,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.3.tgz", - "integrity": "sha512-mASLsd6rhOrLZ5F3WbCxkzl67mmOnqik0zrg5W6D/X0QMW7HtvnoL1dRARLKIbMP3vXwkwziuLesPqWVGIl6Bw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.1", - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1085,13 +1120,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.3.tgz", - "integrity": "sha512-5BirgNWNOx7cwbTJCOmKFJ1pZjwk5MUfMIwiBBvsirCJMZeQgs5pk6i1OlkVg+1Vef5LfBahFOrdCnAWvkVKMw==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.1", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1101,19 +1136,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", - "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.3.tgz", + "integrity": "sha512-DoEWC5SuxuARF2KdKmGUq3ghfPMO6ZzR12Dnp5gubwbeWJo4dbNWXJPVlwvh4Zlq6Z7YVvL8VFxeSOJgjsx4Sg==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" @@ -1123,12 +1156,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz", - "integrity": "sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/template": "^7.20.7" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1138,11 +1172,13 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", - "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", + "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1152,12 +1188,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1167,11 +1204,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1180,13 +1218,45 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.1.tgz", - "integrity": "sha512-rlhWtONnVBPdmt+jeewS0qSnMz/3yLFrqAP8hHC6EDcrYRSyuz9f9yQhHvVn2Ad6+yO9fHXac5piudeYrInxwQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "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-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1196,12 +1266,12 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", + "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", + "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1211,12 +1281,12 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.3.tgz", - "integrity": "sha512-5Ti1cHLTDnt3vX61P9KZ5IG09bFXp4cDVFJIAeCZuxu9OXXJJZp5iP0n/rzM2+iAutJY+KWEyyHcRaHlpQ/P5g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1226,11 +1296,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz", - "integrity": "sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1240,13 +1312,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1256,12 +1329,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.3.tgz", - "integrity": "sha512-IuvOMdeOOY2X4hRNAT6kwbePtK21BUyrAEgLKviL8pL6AEEVUVcqtRdN/HJXBLGIbt9T3ETmXRnFedRRmQNTYw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1271,11 +1344,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1285,12 +1359,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.3.tgz", - "integrity": "sha512-CbayIfOw4av2v/HYZEsH+Klks3NC2/MFIR3QR8gnpGNNPEaq2fdlVCRYG/paKs7/5hvBLQ+H70pGWOHtlNEWNA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", + "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1300,11 +1374,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1314,12 +1389,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1329,13 +1405,13 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz", - "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-simple-access": "^7.21.5" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1345,14 +1421,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.3.tgz", - "integrity": "sha512-V21W3bKLxO3ZjcBJZ8biSvo5gQ85uIXW2vJfh7JSWf/4SLUSr1tOoHX3ruN4+Oqa2m+BKfsxTR1I+PsvkIWvNw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", + "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", + "license": "MIT", "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.22.1", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-validator-identifier": "^7.19.1" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1362,12 +1439,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1377,12 +1455,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.3.tgz", - "integrity": "sha512-c6HrD/LpUdNNJsISQZpds3TXvfYIAbo+efE9aWmY/PmSRD0agrJ9cPMt4BmArwUQ7ZymEWTFjTyp+yReLJZh0Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.1", - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1392,11 +1471,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.3.tgz", - "integrity": "sha512-5RuJdSo89wKdkRTqtM9RVVJzHum9c2s0te9rB7vZC1zKKxcioWIy+xcu4OoIAjyFZhb/bp5KkunuLin1q7Ct+w==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1406,12 +1486,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.3.tgz", - "integrity": "sha512-CpaoNp16nX7ROtLONNuCyenYdY/l7ZsR6aoVa7rW7nMWisoNoQNIH5Iay/4LDyRjKMuElMqXiBoOQCDLTMGZiw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1421,12 +1501,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.3.tgz", - "integrity": "sha512-+AF88fPDJrnseMh5vD9+SH6wq4ZMvpiTMHh58uLs+giMEyASFVhcT3NkoyO+NebFCNnpHJEq5AXO2txV4AGPDQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1436,15 +1516,16 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.3.tgz", - "integrity": "sha512-38bzTsqMMCI46/TQnJwPPpy33EjLCc1Gsm2hRTF6zTMWnKsN61vdrpuzIEGQyKEhDSYDKyZHrrd5FMj4gcUHhw==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz", + "integrity": "sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.3", - "@babel/helper-compilation-targets": "^7.22.1", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.3" + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1454,12 +1535,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1469,12 +1551,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.3.tgz", - "integrity": "sha512-bnDFWXFzWY0BsOyqaoSXvMQ2F35zutQipugog/rqotL2S4ciFOKlRYUu9djt4iq09oh2/34hqfRR2k1dIvuu4g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1484,13 +1566,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.3.tgz", - "integrity": "sha512-63v3/UFFxhPKT8j8u1jTTGVyITxl7/7AfOqK8C5gz1rHURPUGe3y5mvIf68eYKGoBNahtJnTxBKug4BQOnzeJg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", + "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1500,11 +1582,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.3.tgz", - "integrity": "sha512-x7QHQJHPuD9VmfpzboyGJ5aHEr9r7DsAsdxdhJiTB3J3j8dyl+NFZ+rX5Q2RWFDCs61c06qBfS4ys2QYn8UkMw==", + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1514,12 +1597,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.3.tgz", - "integrity": "sha512-fC7jtjBPFqhqpPAE+O4LKwnLq7gGkD3ZmC2E3i4qWH34mH3gOg2Xrq5YMHUq6DM30xhqM1DNftiRaSqVjEG+ug==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.1", - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1529,14 +1613,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.3.tgz", - "integrity": "sha512-C7MMl4qWLpgVCbXfj3UW8rR1xeCnisQ0cU7YJHV//8oNBS0aCIVg1vFnZXxOckHhEpQyqNNkWmvSEWnMLlc+Vw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.22.1", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1546,11 +1630,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1560,11 +1645,12 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.3.tgz", - "integrity": "sha512-b5J6muxQYp4H7loAQv/c7GO5cPuRA6H5hx4gO+/Hn+Cu9MRQU0PNiUoWq1L//8sq6kFSNxGXFb2XTaUfa9y+Pg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz", + "integrity": "sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1574,11 +1660,12 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1588,15 +1675,16 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.3.tgz", - "integrity": "sha512-JEulRWG2f04a7L8VWaOngWiK6p+JOSpB+DAtwfJgOaej1qdbNxqtK7MwTBHjUA10NeFcszlFNqCdbRcirzh2uQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", + "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/plugin-syntax-jsx": "^7.21.4", - "@babel/types": "^7.22.3" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1606,11 +1694,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", + "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.18.6" + "@babel/plugin-transform-react-jsx": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1620,12 +1709,13 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1635,12 +1725,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz", - "integrity": "sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.3.tgz", + "integrity": "sha512-K3/M/a4+ESb5LEldjQb+XSrpY0nF+ZBFlTCbSnKaYAMfD8v33O6PMs4uYnOk19HlcsI8WMu3McdFPTiQHF/1/A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "regenerator-transform": "^0.15.1" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1649,12 +1739,29 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1664,16 +1771,17 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.22.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.2.tgz", - "integrity": "sha512-ewgWBw1pAoqFg9crO6yhZAQoKWN/iNEGqAmuYegZp+xEpvMHGyLxt0SgPZ9bWG6jx4eff6jQ4JILt5zwj/EoTg==", - "dependencies": { - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-plugin-utils": "^7.21.5", - "babel-plugin-polyfill-corejs2": "^0.4.2", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "semver": "^6.3.0" + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz", + "integrity": "sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1683,19 +1791,21 @@ } }, "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1705,12 +1815,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1720,11 +1831,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1734,11 +1846,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1748,11 +1861,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1762,14 +1876,16 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.3.tgz", - "integrity": "sha512-pyjnCIniO5PNaEuGxT28h0HbMru3qCVrMqVgVOz/krComdIrY9W6FCLBq9NWHY8HDGaUlan+UhmZElDENIfCcw==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz", + "integrity": "sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.22.1", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/plugin-syntax-typescript": "^7.21.4" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1779,11 +1895,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz", - "integrity": "sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1793,12 +1910,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.3.tgz", - "integrity": "sha512-5ScJ+OmdX+O6HRuMGW4kv7RL9vIKdtdAj9wuWUKy1wbHY3jaM/UlyIiC1G7J6UJiiyMukjjK0QwL3P0vBd0yYg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.1", - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1808,12 +1926,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1823,12 +1942,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.3.tgz", - "integrity": "sha512-hNufLdkF8vqywRp+P55j4FHXqAX2LRUccoZHH7AFn1pq5ZOO2ISKW9w13bFZVjBoTqeve2HOgoJCcaziJVhGNw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.1", - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1838,90 +1958,81 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.22.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.2.tgz", - "integrity": "sha512-UPNK9pgphMULvA2EMKIWHU90C47PKyuvQ8pE1MzH7l9PgFcRabdrHhlePpBuWxYZQ+TziP2nycKoI5C1Yhdm9Q==", - "dependencies": { - "@babel/compat-data": "^7.22.0", - "@babel/helper-compilation-targets": "^7.22.1", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.0", - "@babel/plugin-proposal-private-property-in-object": "^7.21.0", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", - "@babel/plugin-syntax-import-attributes": "^7.22.0", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^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.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-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz", + "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.0", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.21.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.0", - "@babel/plugin-transform-async-to-generator": "^7.20.7", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.21.0", - "@babel/plugin-transform-class-properties": "^7.22.0", - "@babel/plugin-transform-class-static-block": "^7.22.0", - "@babel/plugin-transform-classes": "^7.21.0", - "@babel/plugin-transform-computed-properties": "^7.21.5", - "@babel/plugin-transform-destructuring": "^7.21.3", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-dynamic-import": "^7.22.1", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-export-namespace-from": "^7.22.0", - "@babel/plugin-transform-for-of": "^7.21.5", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-json-strings": "^7.22.0", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.0", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.20.11", - "@babel/plugin-transform-modules-commonjs": "^7.21.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.0", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.0", - "@babel/plugin-transform-new-target": "^7.22.0", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.0", - "@babel/plugin-transform-numeric-separator": "^7.22.0", - "@babel/plugin-transform-object-rest-spread": "^7.22.0", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-optional-catch-binding": "^7.22.0", - "@babel/plugin-transform-optional-chaining": "^7.22.0", - "@babel/plugin-transform-parameters": "^7.22.0", - "@babel/plugin-transform-private-methods": "^7.22.0", - "@babel/plugin-transform-private-property-in-object": "^7.22.0", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.21.5", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.20.7", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.21.5", - "@babel/plugin-transform-unicode-property-regex": "^7.22.0", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.0", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.22.0", - "babel-plugin-polyfill-corejs2": "^0.4.2", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "core-js-compat": "^3.30.2", - "semver": "^6.3.0" + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.0", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.3", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", + "@babel/plugin-transform-exponentiation-operator": "^7.27.1", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.27.1", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.28.0", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.3", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1931,39 +2042,40 @@ } }, "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/preset-react": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.3.tgz", - "integrity": "sha512-lxDz1mnZ9polqClBCVBjIVUypoB4qV3/tZUDb/IlYbW1kiiLaXaX+bInbRjl+lNQ/iUZraQ3+S8daEmoELMWug==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.27.1.tgz", + "integrity": "sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.22.3", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.27.1", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1973,15 +2085,16 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.5.tgz", - "integrity": "sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", + "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-syntax-jsx": "^7.21.4", - "@babel/plugin-transform-modules-commonjs": "^7.21.5", - "@babel/plugin-transform-typescript": "^7.21.3" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1990,75 +2103,67 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, "node_modules/@babel/runtime": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.3.tgz", - "integrity": "sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==", - "dependencies": { - "regenerator-runtime": "^0.13.11" - }, + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.3.tgz", + "integrity": "sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.22.3.tgz", - "integrity": "sha512-6bdmknScYKmt8I9VjsJuKKGr+TwUb555FTf6tT1P/ANlCjTHCiYLhiQ4X/O7J731w5NOqu8c1aYHEVuOwPz7jA==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.28.3.tgz", + "integrity": "sha512-LKYxD2CIfocUFNREQ1yk+dW+8OH8CRqmgatBZYXb+XhuObO8wsDpEoCNri5bKld9cnj8xukqZjxSX8p1YiRF8Q==", + "license": "MIT", "dependencies": { - "core-js-pure": "^3.30.2", - "regenerator-runtime": "^0.13.11" + "core-js-pure": "^3.43.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", - "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/parser": "^7.21.9", - "@babel/types": "^7.21.5" + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.22.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.1.tgz", - "integrity": "sha512-lAWkdCoUFnmwLBhIRLciFntGYsIIoC6vIbN8zrLPqBnJmPu7Z6nzqnKd7FsxQUNAvZfVZ0x6KdNvNp8zWIOHSQ==", - "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.22.0", - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.22.0", - "@babel/types": "^7.22.0", - "debug": "^4.1.0", - "globals": "^11.1.0" + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz", + "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/types": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.3.tgz", - "integrity": "sha512-P3na3xIQHTKY4L0YOG7pM8M8uoUIB910WQaSiiMCZUC2Cy8XFEQONGABFnHWBa2gpGKODTAJcNhi5Zk0sLRrzg==", + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.21.5", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2068,6 +2173,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "license": "MIT", "optional": true, "engines": { "node": ">=0.1.90" @@ -2077,29 +2183,33 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "license": "MIT", "engines": { "node": ">=10.0.0" } }, "node_modules/@docsearch/css": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.4.0.tgz", - "integrity": "sha512-Hg8Xfma+rFwRi6Y/pfei4FJoQ1hdVURmmNs/XPoMTCPAImU+d5yxj+M+qdLtNjWRpfWziU4dQcqY94xgFBn2dg==" + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.9.0.tgz", + "integrity": "sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==", + "license": "MIT" }, "node_modules/@docsearch/react": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.4.0.tgz", - "integrity": "sha512-ufrp5879XYGojgS30ZAp8H4qIMbahRHB9M85VDBP36Xgz5QjYM54i1URKj5e219F7gqTtOivfztFTij6itc0MQ==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.9.0.tgz", + "integrity": "sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==", + "license": "MIT", "dependencies": { - "@algolia/autocomplete-core": "1.8.2", - "@algolia/autocomplete-preset-algolia": "1.8.2", - "@docsearch/css": "3.4.0", - "algoliasearch": "^4.0.0" + "@algolia/autocomplete-core": "1.17.9", + "@algolia/autocomplete-preset-algolia": "1.17.9", + "@docsearch/css": "3.9.0", + "algoliasearch": "^5.14.2" }, "peerDependencies": { - "@types/react": ">= 16.8.0 < 19.0.0", - "react": ">= 16.8.0 < 19.0.0", - "react-dom": ">= 16.8.0 < 19.0.0" + "@types/react": ">= 16.8.0 < 20.0.0", + "react": ">= 16.8.0 < 20.0.0", + "react-dom": ">= 16.8.0 < 20.0.0", + "search-insights": ">= 1 < 3" }, "peerDependenciesMeta": { "@types/react": { @@ -2110,13 +2220,87 @@ }, "react-dom": { "optional": true + }, + "search-insights": { + "optional": true } } }, + "node_modules/@docsearch/react/node_modules/@algolia/client-analytics": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.37.0.tgz", + "integrity": "sha512-wyXODDOluKogTuZxRII6mtqhAq4+qUR3zIUJEKTiHLe8HMZFxfUEI4NO2qSu04noXZHbv/sRVdQQqzKh12SZuQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.37.0", + "@algolia/requester-browser-xhr": "5.37.0", + "@algolia/requester-fetch": "5.37.0", + "@algolia/requester-node-http": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/client-personalization": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.37.0.tgz", + "integrity": "sha512-1zOIXM98O9zD8bYDCJiUJRC/qNUydGHK/zRK+WbLXrW1SqLFRXECsKZa5KoG166+o5q5upk96qguOtE8FTXDWQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.37.0", + "@algolia/requester-browser-xhr": "5.37.0", + "@algolia/requester-fetch": "5.37.0", + "@algolia/requester-node-http": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/recommend": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.37.0.tgz", + "integrity": "sha512-U+FL5gzN2ldx3TYfQO5OAta2TBuIdabEdFwD5UVfWPsZE5nvOKkc/6BBqP54Z/adW/34c5ZrvvZhlhNTZujJXQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.37.0", + "@algolia/requester-browser-xhr": "5.37.0", + "@algolia/requester-fetch": "5.37.0", + "@algolia/requester-node-http": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/algoliasearch": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.37.0.tgz", + "integrity": "sha512-y7gau/ZOQDqoInTQp0IwTOjkrHc4Aq4R8JgpmCleFwiLl+PbN2DMWoDUWZnrK8AhNJwT++dn28Bt4NZYNLAmuA==", + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.3.0", + "@algolia/client-abtesting": "5.37.0", + "@algolia/client-analytics": "5.37.0", + "@algolia/client-common": "5.37.0", + "@algolia/client-insights": "5.37.0", + "@algolia/client-personalization": "5.37.0", + "@algolia/client-query-suggestions": "5.37.0", + "@algolia/client-search": "5.37.0", + "@algolia/ingestion": "1.37.0", + "@algolia/monitoring": "1.37.0", + "@algolia/recommend": "5.37.0", + "@algolia/requester-browser-xhr": "5.37.0", + "@algolia/requester-fetch": "5.37.0", + "@algolia/requester-node-http": "5.37.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@docusaurus/core": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.1.tgz", - "integrity": "sha512-SNsY7PshK3Ri7vtsLXVeAJGS50nJN3RgF836zkyUfAD01Fq+sAk5EwWgLw+nnm5KVNGDu7PRR2kRGDsWvqpo0g==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.3.tgz", + "integrity": "sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.18.6", "@babel/generator": "^7.18.7", @@ -2128,13 +2312,13 @@ "@babel/runtime": "^7.18.6", "@babel/runtime-corejs3": "^7.18.6", "@babel/traverse": "^7.18.8", - "@docusaurus/cssnano-preset": "2.4.1", - "@docusaurus/logger": "2.4.1", - "@docusaurus/mdx-loader": "2.4.1", + "@docusaurus/cssnano-preset": "2.4.3", + "@docusaurus/logger": "2.4.3", + "@docusaurus/mdx-loader": "2.4.3", "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/utils": "2.4.1", - "@docusaurus/utils-common": "2.4.1", - "@docusaurus/utils-validation": "2.4.1", + "@docusaurus/utils": "2.4.3", + "@docusaurus/utils-common": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", "@slorber/static-site-generator-webpack-plugin": "^4.0.7", "@svgr/webpack": "^6.2.1", "autoprefixer": "^10.4.7", @@ -2202,9 +2386,10 @@ } }, "node_modules/@docusaurus/cssnano-preset": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.1.tgz", - "integrity": "sha512-ka+vqXwtcW1NbXxWsh6yA1Ckii1klY9E53cJ4O9J09nkMBgrNX3iEFED1fWdv8wf4mJjvGi5RLZ2p9hJNjsLyQ==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz", + "integrity": "sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA==", + "license": "MIT", "dependencies": { "cssnano-preset-advanced": "^5.3.8", "postcss": "^8.4.14", @@ -2216,9 +2401,10 @@ } }, "node_modules/@docusaurus/logger": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.1.tgz", - "integrity": "sha512-5h5ysIIWYIDHyTVd8BjheZmQZmEgWDR54aQ1BX9pjFfpyzFo5puKXKYrYJXbjEHGyVhEzmB9UXwbxGfaZhOjcg==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.3.tgz", + "integrity": "sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w==", + "license": "MIT", "dependencies": { "chalk": "^4.1.2", "tslib": "^2.4.0" @@ -2228,14 +2414,15 @@ } }, "node_modules/@docusaurus/mdx-loader": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.1.tgz", - "integrity": "sha512-4KhUhEavteIAmbBj7LVFnrVYDiU51H5YWW1zY6SmBSte/YLhDutztLTBE0PQl1Grux1jzUJeaSvAzHpTn6JJDQ==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz", + "integrity": "sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.18.8", "@babel/traverse": "^7.18.8", - "@docusaurus/logger": "2.4.1", - "@docusaurus/utils": "2.4.1", + "@docusaurus/logger": "2.4.3", + "@docusaurus/utils": "2.4.3", "@mdx-js/mdx": "^1.6.22", "escape-html": "^1.0.3", "file-loader": "^6.2.0", @@ -2259,12 +2446,13 @@ } }, "node_modules/@docusaurus/module-type-aliases": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.4.1.tgz", - "integrity": "sha512-gLBuIFM8Dp2XOCWffUDSjtxY7jQgKvYujt7Mx5s4FCTfoL5dN1EVbnrn+O2Wvh8b0a77D57qoIDY7ghgmatR1A==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.4.3.tgz", + "integrity": "sha512-cwkBkt1UCiduuvEAo7XZY01dJfRn7UR/75mBgOdb1hKknhrabJZ8YH+7savd/y9kLExPyrhe0QwdS9GuzsRRIA==", + "license": "MIT", "dependencies": { "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/types": "2.4.1", + "@docusaurus/types": "2.4.3", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2278,17 +2466,18 @@ } }, "node_modules/@docusaurus/plugin-content-blog": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.4.1.tgz", - "integrity": "sha512-E2i7Knz5YIbE1XELI6RlTnZnGgS52cUO4BlCiCUCvQHbR+s1xeIWz4C6BtaVnlug0Ccz7nFSksfwDpVlkujg5Q==", - "dependencies": { - "@docusaurus/core": "2.4.1", - "@docusaurus/logger": "2.4.1", - "@docusaurus/mdx-loader": "2.4.1", - "@docusaurus/types": "2.4.1", - "@docusaurus/utils": "2.4.1", - "@docusaurus/utils-common": "2.4.1", - "@docusaurus/utils-validation": "2.4.1", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.4.3.tgz", + "integrity": "sha512-PVhypqaA0t98zVDpOeTqWUTvRqCEjJubtfFUQ7zJNYdbYTbS/E/ytq6zbLVsN/dImvemtO/5JQgjLxsh8XLo8Q==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "2.4.3", + "@docusaurus/logger": "2.4.3", + "@docusaurus/mdx-loader": "2.4.3", + "@docusaurus/types": "2.4.3", + "@docusaurus/utils": "2.4.3", + "@docusaurus/utils-common": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", "cheerio": "^1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^10.1.0", @@ -2308,17 +2497,18 @@ } }, "node_modules/@docusaurus/plugin-content-docs": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.4.1.tgz", - "integrity": "sha512-Lo7lSIcpswa2Kv4HEeUcGYqaasMUQNpjTXpV0N8G6jXgZaQurqp7E8NGYeGbDXnb48czmHWbzDL4S3+BbK0VzA==", - "dependencies": { - "@docusaurus/core": "2.4.1", - "@docusaurus/logger": "2.4.1", - "@docusaurus/mdx-loader": "2.4.1", - "@docusaurus/module-type-aliases": "2.4.1", - "@docusaurus/types": "2.4.1", - "@docusaurus/utils": "2.4.1", - "@docusaurus/utils-validation": "2.4.1", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.4.3.tgz", + "integrity": "sha512-N7Po2LSH6UejQhzTCsvuX5NOzlC+HiXOVvofnEPj0WhMu1etpLEXE6a4aTxrtg95lQ5kf0xUIdjX9sh3d3G76A==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "2.4.3", + "@docusaurus/logger": "2.4.3", + "@docusaurus/mdx-loader": "2.4.3", + "@docusaurus/module-type-aliases": "2.4.3", + "@docusaurus/types": "2.4.3", + "@docusaurus/utils": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", "@types/react-router-config": "^5.0.6", "combine-promises": "^1.1.0", "fs-extra": "^10.1.0", @@ -2338,15 +2528,16 @@ } }, "node_modules/@docusaurus/plugin-content-pages": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.4.1.tgz", - "integrity": "sha512-/UjuH/76KLaUlL+o1OvyORynv6FURzjurSjvn2lbWTFc4tpYY2qLYTlKpTCBVPhlLUQsfyFnshEJDLmPneq2oA==", - "dependencies": { - "@docusaurus/core": "2.4.1", - "@docusaurus/mdx-loader": "2.4.1", - "@docusaurus/types": "2.4.1", - "@docusaurus/utils": "2.4.1", - "@docusaurus/utils-validation": "2.4.1", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.4.3.tgz", + "integrity": "sha512-txtDVz7y3zGk67q0HjG0gRttVPodkHqE0bpJ+7dOaTH40CQFLSh7+aBeGnPOTl+oCPG+hxkim4SndqPqXjQ8Bg==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "2.4.3", + "@docusaurus/mdx-loader": "2.4.3", + "@docusaurus/types": "2.4.3", + "@docusaurus/utils": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", "fs-extra": "^10.1.0", "tslib": "^2.4.0", "webpack": "^5.73.0" @@ -2360,13 +2551,14 @@ } }, "node_modules/@docusaurus/plugin-debug": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.4.1.tgz", - "integrity": "sha512-7Yu9UPzRShlrH/G8btOpR0e6INFZr0EegWplMjOqelIwAcx3PKyR8mgPTxGTxcqiYj6hxSCRN0D8R7YrzImwNA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.4.3.tgz", + "integrity": "sha512-LkUbuq3zCmINlFb+gAd4ZvYr+bPAzMC0hwND4F7V9bZ852dCX8YoWyovVUBKq4er1XsOwSQaHmNGtObtn8Av8Q==", + "license": "MIT", "dependencies": { - "@docusaurus/core": "2.4.1", - "@docusaurus/types": "2.4.1", - "@docusaurus/utils": "2.4.1", + "@docusaurus/core": "2.4.3", + "@docusaurus/types": "2.4.3", + "@docusaurus/utils": "2.4.3", "fs-extra": "^10.1.0", "react-json-view": "^1.21.3", "tslib": "^2.4.0" @@ -2380,13 +2572,14 @@ } }, "node_modules/@docusaurus/plugin-google-analytics": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.1.tgz", - "integrity": "sha512-dyZJdJiCoL+rcfnm0RPkLt/o732HvLiEwmtoNzOoz9MSZz117UH2J6U2vUDtzUzwtFLIf32KkeyzisbwUCgcaQ==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz", + "integrity": "sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ==", + "license": "MIT", "dependencies": { - "@docusaurus/core": "2.4.1", - "@docusaurus/types": "2.4.1", - "@docusaurus/utils-validation": "2.4.1", + "@docusaurus/core": "2.4.3", + "@docusaurus/types": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", "tslib": "^2.4.0" }, "engines": { @@ -2398,13 +2591,14 @@ } }, "node_modules/@docusaurus/plugin-google-gtag": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.4.1.tgz", - "integrity": "sha512-mKIefK+2kGTQBYvloNEKtDmnRD7bxHLsBcxgnbt4oZwzi2nxCGjPX6+9SQO2KCN5HZbNrYmGo5GJfMgoRvy6uA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.4.3.tgz", + "integrity": "sha512-5FMg0rT7sDy4i9AGsvJC71MQrqQZwgLNdDetLEGDHLfSHLvJhQbTCUGbGXknUgWXQJckcV/AILYeJy+HhxeIFA==", + "license": "MIT", "dependencies": { - "@docusaurus/core": "2.4.1", - "@docusaurus/types": "2.4.1", - "@docusaurus/utils-validation": "2.4.1", + "@docusaurus/core": "2.4.3", + "@docusaurus/types": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", "tslib": "^2.4.0" }, "engines": { @@ -2416,13 +2610,14 @@ } }, "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-2.4.1.tgz", - "integrity": "sha512-Zg4Ii9CMOLfpeV2nG74lVTWNtisFaH9QNtEw48R5QE1KIwDBdTVaiSA18G1EujZjrzJJzXN79VhINSbOJO/r3g==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-2.4.3.tgz", + "integrity": "sha512-1jTzp71yDGuQiX9Bi0pVp3alArV0LSnHXempvQTxwCGAEzUWWaBg4d8pocAlTpbP9aULQQqhgzrs8hgTRPOM0A==", + "license": "MIT", "dependencies": { - "@docusaurus/core": "2.4.1", - "@docusaurus/types": "2.4.1", - "@docusaurus/utils-validation": "2.4.1", + "@docusaurus/core": "2.4.3", + "@docusaurus/types": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", "tslib": "^2.4.0" }, "engines": { @@ -2434,16 +2629,17 @@ } }, "node_modules/@docusaurus/plugin-sitemap": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.4.1.tgz", - "integrity": "sha512-lZx+ijt/+atQ3FVE8FOHV/+X3kuok688OydDXrqKRJyXBJZKgGjA2Qa8RjQ4f27V2woaXhtnyrdPop/+OjVMRg==", - "dependencies": { - "@docusaurus/core": "2.4.1", - "@docusaurus/logger": "2.4.1", - "@docusaurus/types": "2.4.1", - "@docusaurus/utils": "2.4.1", - "@docusaurus/utils-common": "2.4.1", - "@docusaurus/utils-validation": "2.4.1", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.4.3.tgz", + "integrity": "sha512-LRQYrK1oH1rNfr4YvWBmRzTL0LN9UAPxBbghgeFRBm5yloF6P+zv1tm2pe2hQTX/QP5bSKdnajCvfnScgKXMZQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "2.4.3", + "@docusaurus/logger": "2.4.3", + "@docusaurus/types": "2.4.3", + "@docusaurus/utils": "2.4.3", + "@docusaurus/utils-common": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", "fs-extra": "^10.1.0", "sitemap": "^7.1.1", "tslib": "^2.4.0" @@ -2457,23 +2653,24 @@ } }, "node_modules/@docusaurus/preset-classic": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.4.1.tgz", - "integrity": "sha512-P4//+I4zDqQJ+UDgoFrjIFaQ1MeS9UD1cvxVQaI6O7iBmiHQm0MGROP1TbE7HlxlDPXFJjZUK3x3cAoK63smGQ==", - "dependencies": { - "@docusaurus/core": "2.4.1", - "@docusaurus/plugin-content-blog": "2.4.1", - "@docusaurus/plugin-content-docs": "2.4.1", - "@docusaurus/plugin-content-pages": "2.4.1", - "@docusaurus/plugin-debug": "2.4.1", - "@docusaurus/plugin-google-analytics": "2.4.1", - "@docusaurus/plugin-google-gtag": "2.4.1", - "@docusaurus/plugin-google-tag-manager": "2.4.1", - "@docusaurus/plugin-sitemap": "2.4.1", - "@docusaurus/theme-classic": "2.4.1", - "@docusaurus/theme-common": "2.4.1", - "@docusaurus/theme-search-algolia": "2.4.1", - "@docusaurus/types": "2.4.1" + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.4.3.tgz", + "integrity": "sha512-tRyMliepY11Ym6hB1rAFSNGwQDpmszvWYJvlK1E+md4SW8i6ylNHtpZjaYFff9Mdk3i/Pg8ItQq9P0daOJAvQw==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "2.4.3", + "@docusaurus/plugin-content-blog": "2.4.3", + "@docusaurus/plugin-content-docs": "2.4.3", + "@docusaurus/plugin-content-pages": "2.4.3", + "@docusaurus/plugin-debug": "2.4.3", + "@docusaurus/plugin-google-analytics": "2.4.3", + "@docusaurus/plugin-google-gtag": "2.4.3", + "@docusaurus/plugin-google-tag-manager": "2.4.3", + "@docusaurus/plugin-sitemap": "2.4.3", + "@docusaurus/theme-classic": "2.4.3", + "@docusaurus/theme-common": "2.4.3", + "@docusaurus/theme-search-algolia": "2.4.3", + "@docusaurus/types": "2.4.3" }, "engines": { "node": ">=16.14" @@ -2487,6 +2684,7 @@ "version": "5.5.2", "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "license": "MIT", "dependencies": { "@types/react": "*", "prop-types": "^15.6.2" @@ -2496,22 +2694,23 @@ } }, "node_modules/@docusaurus/theme-classic": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.4.1.tgz", - "integrity": "sha512-Rz0wKUa+LTW1PLXmwnf8mn85EBzaGSt6qamqtmnh9Hflkc+EqiYMhtUJeLdV+wsgYq4aG0ANc+bpUDpsUhdnwg==", - "dependencies": { - "@docusaurus/core": "2.4.1", - "@docusaurus/mdx-loader": "2.4.1", - "@docusaurus/module-type-aliases": "2.4.1", - "@docusaurus/plugin-content-blog": "2.4.1", - "@docusaurus/plugin-content-docs": "2.4.1", - "@docusaurus/plugin-content-pages": "2.4.1", - "@docusaurus/theme-common": "2.4.1", - "@docusaurus/theme-translations": "2.4.1", - "@docusaurus/types": "2.4.1", - "@docusaurus/utils": "2.4.1", - "@docusaurus/utils-common": "2.4.1", - "@docusaurus/utils-validation": "2.4.1", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.4.3.tgz", + "integrity": "sha512-QKRAJPSGPfDY2yCiPMIVyr+MqwZCIV2lxNzqbyUW0YkrlmdzzP3WuQJPMGLCjWgQp/5c9kpWMvMxjhpZx1R32Q==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "2.4.3", + "@docusaurus/mdx-loader": "2.4.3", + "@docusaurus/module-type-aliases": "2.4.3", + "@docusaurus/plugin-content-blog": "2.4.3", + "@docusaurus/plugin-content-docs": "2.4.3", + "@docusaurus/plugin-content-pages": "2.4.3", + "@docusaurus/theme-common": "2.4.3", + "@docusaurus/theme-translations": "2.4.3", + "@docusaurus/types": "2.4.3", + "@docusaurus/utils": "2.4.3", + "@docusaurus/utils-common": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", "@mdx-js/react": "^1.6.22", "clsx": "^1.2.1", "copy-text-to-clipboard": "^3.0.1", @@ -2535,17 +2734,18 @@ } }, "node_modules/@docusaurus/theme-common": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.4.1.tgz", - "integrity": "sha512-G7Zau1W5rQTaFFB3x3soQoZpkgMbl/SYNG8PfMFIjKa3M3q8n0m/GRf5/H/e5BqOvt8c+ZWIXGCiz+kUCSHovA==", - "dependencies": { - "@docusaurus/mdx-loader": "2.4.1", - "@docusaurus/module-type-aliases": "2.4.1", - "@docusaurus/plugin-content-blog": "2.4.1", - "@docusaurus/plugin-content-docs": "2.4.1", - "@docusaurus/plugin-content-pages": "2.4.1", - "@docusaurus/utils": "2.4.1", - "@docusaurus/utils-common": "2.4.1", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.4.3.tgz", + "integrity": "sha512-7KaDJBXKBVGXw5WOVt84FtN8czGWhM0lbyWEZXGp8AFfL6sZQfRTluFp4QriR97qwzSyOfQb+nzcDZZU4tezUw==", + "license": "MIT", + "dependencies": { + "@docusaurus/mdx-loader": "2.4.3", + "@docusaurus/module-type-aliases": "2.4.3", + "@docusaurus/plugin-content-blog": "2.4.3", + "@docusaurus/plugin-content-docs": "2.4.3", + "@docusaurus/plugin-content-pages": "2.4.3", + "@docusaurus/utils": "2.4.3", + "@docusaurus/utils-common": "2.4.3", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2565,18 +2765,19 @@ } }, "node_modules/@docusaurus/theme-search-algolia": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.4.1.tgz", - "integrity": "sha512-6BcqW2lnLhZCXuMAvPRezFs1DpmEKzXFKlYjruuas+Xy3AQeFzDJKTJFIm49N77WFCTyxff8d3E4Q9pi/+5McQ==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.4.3.tgz", + "integrity": "sha512-jziq4f6YVUB5hZOB85ELATwnxBz/RmSLD3ksGQOLDPKVzat4pmI8tddNWtriPpxR04BNT+ZfpPUMFkNFetSW1Q==", + "license": "MIT", "dependencies": { "@docsearch/react": "^3.1.1", - "@docusaurus/core": "2.4.1", - "@docusaurus/logger": "2.4.1", - "@docusaurus/plugin-content-docs": "2.4.1", - "@docusaurus/theme-common": "2.4.1", - "@docusaurus/theme-translations": "2.4.1", - "@docusaurus/utils": "2.4.1", - "@docusaurus/utils-validation": "2.4.1", + "@docusaurus/core": "2.4.3", + "@docusaurus/logger": "2.4.3", + "@docusaurus/plugin-content-docs": "2.4.3", + "@docusaurus/theme-common": "2.4.3", + "@docusaurus/theme-translations": "2.4.3", + "@docusaurus/utils": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", "algoliasearch": "^4.13.1", "algoliasearch-helper": "^3.10.0", "clsx": "^1.2.1", @@ -2595,9 +2796,10 @@ } }, "node_modules/@docusaurus/theme-translations": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.4.1.tgz", - "integrity": "sha512-T1RAGP+f86CA1kfE8ejZ3T3pUU3XcyvrGMfC/zxCtc2BsnoexuNI9Vk2CmuKCb+Tacvhxjv5unhxXce0+NKyvA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.4.3.tgz", + "integrity": "sha512-H4D+lbZbjbKNS/Zw1Lel64PioUAIT3cLYYJLUf3KkuO/oc9e0QCVhIYVtUI2SfBCF2NNdlyhBDQEEMygsCedIg==", + "license": "MIT", "dependencies": { "fs-extra": "^10.1.0", "tslib": "^2.4.0" @@ -2607,9 +2809,10 @@ } }, "node_modules/@docusaurus/types": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.1.tgz", - "integrity": "sha512-0R+cbhpMkhbRXX138UOc/2XZFF8hiZa6ooZAEEJFp5scytzCw4tC1gChMFXrpa3d2tYE6AX8IrOEpSonLmfQuQ==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.3.tgz", + "integrity": "sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw==", + "license": "MIT", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*", @@ -2626,11 +2829,12 @@ } }, "node_modules/@docusaurus/utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.1.tgz", - "integrity": "sha512-1lvEZdAQhKNht9aPXPoh69eeKnV0/62ROhQeFKKxmzd0zkcuE/Oc5Gpnt00y/f5bIsmOsYMY7Pqfm/5rteT5GA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", + "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", + "license": "MIT", "dependencies": { - "@docusaurus/logger": "2.4.1", + "@docusaurus/logger": "2.4.3", "@svgr/webpack": "^6.2.1", "escape-string-regexp": "^4.0.0", "file-loader": "^6.2.0", @@ -2660,9 +2864,10 @@ } }, "node_modules/@docusaurus/utils-common": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.1.tgz", - "integrity": "sha512-bCVGdZU+z/qVcIiEQdyx0K13OC5mYwxhSuDUR95oFbKVuXYRrTVrwZIqQljuo1fyJvFTKHiL9L9skQOPokuFNQ==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.3.tgz", + "integrity": "sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ==", + "license": "MIT", "dependencies": { "tslib": "^2.4.0" }, @@ -2679,12 +2884,13 @@ } }, "node_modules/@docusaurus/utils-validation": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.1.tgz", - "integrity": "sha512-unII3hlJlDwZ3w8U+pMO3Lx3RhI4YEbY3YNsQj4yzrkZzlpqZOLuAiZK2JyULnD+TKbceKU0WyWkQXtYbLNDFA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz", + "integrity": "sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw==", + "license": "MIT", "dependencies": { - "@docusaurus/logger": "2.4.1", - "@docusaurus/utils": "2.4.1", + "@docusaurus/logger": "2.4.3", + "@docusaurus/utils": "2.4.3", "joi": "^17.6.0", "js-yaml": "^4.1.0", "tslib": "^2.4.0" @@ -2696,33 +2902,37 @@ "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" }, "node_modules/@hapi/topo": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^9.0.0" } }, "node_modules/@jest/schemas": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", - "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.25.16" + "@sinclair/typebox": "^0.27.8" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/types": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", - "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.4.3", + "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -2734,71 +2944,61 @@ } }, "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==", + "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.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "engines": { - "node": ">=6.0.0" - } - }, - "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==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "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==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", + "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "license": "MIT" }, "node_modules/@mdx-js/mdx": { "version": "1.6.22", "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", + "license": "MIT", "dependencies": { "@babel/core": "7.12.9", "@babel/plugin-syntax-jsx": "7.12.1", @@ -2829,6 +3029,7 @@ "version": "7.12.9", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/generator": "^7.12.5", @@ -2859,6 +3060,7 @@ "version": "7.12.1", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -2866,10 +3068,17 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@mdx-js/mdx/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, "node_modules/@mdx-js/mdx/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } @@ -2878,6 +3087,7 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -2886,6 +3096,7 @@ "version": "9.2.0", "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "license": "MIT", "dependencies": { "bail": "^1.0.0", "extend": "^3.0.0", @@ -2903,6 +3114,7 @@ "version": "1.6.22", "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -2915,6 +3127,7 @@ "version": "1.6.22", "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -2924,6 +3137,7 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -2936,6 +3150,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -2944,6 +3159,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -2953,14 +3169,16 @@ } }, "node_modules/@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "license": "MIT" }, "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^9.0.0" } @@ -2968,22 +3186,26 @@ "node_modules/@sideway/formula": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "license": "BSD-3-Clause" }, "node_modules/@sideway/pinpoint": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "license": "BSD-3-Clause" }, "node_modules/@sinclair/typebox": { - "version": "0.25.24", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", - "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==" + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "license": "MIT" }, "node_modules/@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -2992,6 +3214,7 @@ "version": "4.0.7", "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz", "integrity": "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==", + "license": "MIT", "dependencies": { "eval": "^0.1.8", "p-map": "^4.0.0", @@ -3005,6 +3228,7 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3020,6 +3244,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3035,6 +3260,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3050,6 +3276,7 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3065,6 +3292,7 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3080,6 +3308,7 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3095,6 +3324,7 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3110,6 +3340,7 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -3125,6 +3356,7 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "license": "MIT", "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", "@svgr/babel-plugin-remove-jsx-attribute": "*", @@ -3150,6 +3382,7 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "license": "MIT", "dependencies": { "@babel/core": "^7.19.6", "@svgr/babel-preset": "^6.5.1", @@ -3169,6 +3402,7 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "license": "MIT", "dependencies": { "@babel/types": "^7.20.0", "entities": "^4.4.0" @@ -3185,6 +3419,7 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "license": "MIT", "dependencies": { "@babel/core": "^7.19.6", "@svgr/babel-preset": "^6.5.1", @@ -3206,6 +3441,7 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "license": "MIT", "dependencies": { "cosmiconfig": "^7.0.1", "deepmerge": "^4.2.2", @@ -3226,6 +3462,7 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.19.6", "@babel/plugin-transform-react-constant-elements": "^7.18.12", @@ -3248,6 +3485,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "license": "MIT", "dependencies": { "defer-to-connect": "^1.0.1" }, @@ -3259,6 +3497,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", "engines": { "node": ">=10.13.0" } @@ -3267,69 +3506,78 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/@tsconfig/docusaurus/-/docusaurus-1.0.7.tgz", "integrity": "sha512-ffTXxGIP/IRMCjuzHd6M4/HdIrw1bMfC7Bv8hMkTadnePkpe0lG0oDSdbRpSDZb2rQMAgpbWiR10BvxvNYwYrg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "node_modules/@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "license": "MIT", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" } }, "node_modules/@types/eslint": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.0.tgz", - "integrity": "sha512-nbq2mvc/tBrK9zQQuItvjJl++GTN5j06DaPtp3hZCpngmG6Q3xoyEmd0TwZI0gAy/G1X0zhGBbr2imsGFdFV0g==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" } }, "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" }, "node_modules/@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.23.tgz", + "integrity": "sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==", + "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -3338,9 +3586,22 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.35", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", - "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz", + "integrity": "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -3349,107 +3610,134 @@ } }, "node_modules/@types/hast": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", - "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "license": "MIT", "dependencies": { - "@types/unist": "*" + "@types/unist": "^2" } }, "node_modules/@types/history": { "version": "4.7.11", "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", + "license": "MIT" }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "license": "MIT" }, "node_modules/@types/http-proxy": { - "version": "1.17.11", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", - "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", + "version": "1.17.16", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz", + "integrity": "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" }, "node_modules/@types/mdast": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz", - "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==", + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "license": "MIT", "dependencies": { - "@types/unist": "*" + "@types/unist": "^2" } }, "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" }, "node_modules/@types/node": { - "version": "20.2.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.5.tgz", - "integrity": "sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==" + "version": "24.3.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.1.tgz", + "integrity": "sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.10.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } }, "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" }, "node_modules/@types/parse5": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", - "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==", + "license": "MIT" }, "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "license": "MIT" }, "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" }, "node_modules/@types/react": { - "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.7.tgz", - "integrity": "sha512-ojrXpSH2XFCmHm7Jy3q44nXDyN54+EYKP2lBhJ2bqfyPj6cIUW/FZW/Csdia34NQgq7KYcAlHi5184m4X88+yw==", + "version": "19.1.12", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.12.tgz", + "integrity": "sha512-cMoR+FoAf/Jyq6+Df2/Z41jISvGZZ2eTlnsaJRptmZ76Caldwy1odD4xTr/gNV9VLj0AWgg/nmkevIyUfIIq5w==", + "license": "MIT", "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", "csstype": "^3.0.2" } }, @@ -3457,15 +3745,17 @@ "version": "5.1.20", "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "license": "MIT", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*" } }, "node_modules/@types/react-router-config": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.7.tgz", - "integrity": "sha512-pFFVXUIydHlcJP6wJm7sDii5mD/bCmmAY0wQzq+M+uX7bqS95AQqHZWP1iNMKrWVQSuHIzj5qi9BvrtLX2/T4w==", + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", + "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", + "license": "MIT", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*", @@ -3476,6 +3766,7 @@ "version": "5.3.3", "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "license": "MIT", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*", @@ -3485,226 +3776,250 @@ "node_modules/@types/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" }, "node_modules/@types/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - }, "node_modules/@types/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", - "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "version": "0.17.5", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz", + "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", + "license": "MIT", "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "license": "MIT", "dependencies": { "@types/express": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", - "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz", + "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==", + "license": "MIT", "dependencies": { - "@types/mime": "*", - "@types/node": "*" + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" } }, "node_modules/@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/unist": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", - "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" }, "node_modules/@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -3717,6 +4032,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -3725,6 +4041,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -3732,10 +4049,20 @@ "node": ">= 0.6" } }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -3743,18 +4070,26 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, "peerDependencies": { - "acorn": "^8" + "acorn": "^8.14.0" } }, "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, "engines": { "node": ">=0.4.0" } @@ -3763,6 +4098,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -3771,6 +4107,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "license": "MIT", "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -3783,6 +4120,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -3798,6 +4136,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -3811,14 +4150,15 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -3828,41 +4168,46 @@ "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/algoliasearch": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.17.1.tgz", - "integrity": "sha512-4GDQ1RhP2qUR3x8PevFRbEdqZqIARNViZYjgTJmA1T7wRNtFA3W4Aqc/RsODqa1J8IO/QDla5x4tWuUS8NV8wA==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.17.1", - "@algolia/cache-common": "4.17.1", - "@algolia/cache-in-memory": "4.17.1", - "@algolia/client-account": "4.17.1", - "@algolia/client-analytics": "4.17.1", - "@algolia/client-common": "4.17.1", - "@algolia/client-personalization": "4.17.1", - "@algolia/client-search": "4.17.1", - "@algolia/logger-common": "4.17.1", - "@algolia/logger-console": "4.17.1", - "@algolia/requester-browser-xhr": "4.17.1", - "@algolia/requester-common": "4.17.1", - "@algolia/requester-node-http": "4.17.1", - "@algolia/transporter": "4.17.1" + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.25.2.tgz", + "integrity": "sha512-lYx98L6kb1VvXypbPI7Z54C4BJB2VT5QvOYthvPq6/POufZj+YdyeZSKjoLBKHJgGmYWQTHOKtcCTdKf98WOCA==", + "license": "MIT", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.25.2", + "@algolia/cache-common": "4.25.2", + "@algolia/cache-in-memory": "4.25.2", + "@algolia/client-account": "4.25.2", + "@algolia/client-analytics": "4.25.2", + "@algolia/client-common": "4.25.2", + "@algolia/client-personalization": "4.25.2", + "@algolia/client-search": "4.25.2", + "@algolia/logger-common": "4.25.2", + "@algolia/logger-console": "4.25.2", + "@algolia/recommend": "4.25.2", + "@algolia/requester-browser-xhr": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/requester-node-http": "4.25.2", + "@algolia/transporter": "4.25.2" } }, "node_modules/algoliasearch-helper": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.13.0.tgz", - "integrity": "sha512-kV3c1jMQCvkARtGsSDvAwuht4PAMSsQILqPiH4WFiARoa3jXJ/r1TQoBWAjWyWF48rsNYCv7kzxgB4LTxrvvuw==", + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.26.0.tgz", + "integrity": "sha512-Rv2x3GXleQ3ygwhkhJubhhYGsICmShLAiqtUuJTUkr9uOCOXyF2E71LVT4XDnVffbknv8XgScP4U0Oxtgm+hIw==", + "license": "MIT", "dependencies": { "@algolia/events": "^4.0.1" }, @@ -3870,10 +4215,50 @@ "algoliasearch": ">= 3.1 < 6" } }, + "node_modules/algoliasearch/node_modules/@algolia/client-common": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.25.2.tgz", + "integrity": "sha512-HXX8vbJPYW29P18GxciiwaDpQid6UhpPP9nW9WE181uGUgFhyP5zaEkYWf9oYBrjMubrGwXi5YEzJOz6Oa4faA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/client-search": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.25.2.tgz", + "integrity": "sha512-pO/LpVnQlbJpcHRk+AroWyyFnh01eOlO6/uLZRUmYvr/hpKZKxI6n7ufgTawbo0KrAu2CePfiOkStYOmDuRjzQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.25.2", + "@algolia/requester-common": "4.25.2", + "@algolia/transporter": "4.25.2" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-browser-xhr": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.25.2.tgz", + "integrity": "sha512-aAjfsI0AjWgXLh/xr9eoR8/9HekBkIER3bxGoBf9d1XWMMoTo/q92Da2fewkxwLE6mla95QJ9suJGOtMOewXXQ==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-node-http": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.25.2.tgz", + "integrity": "sha512-Ja/FYB7W9ZM+m8UrMIlawNUAKpncvb9Mo+D8Jq5WepGTUyQ9CBYLsjwxv9O8wbj3TSWqTInf4uUBJ2FKR8G7xw==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.25.2" + } + }, "node_modules/ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", "dependencies": { "string-width": "^4.1.0" } @@ -3881,12 +4266,14 @@ "node_modules/ansi-align/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==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" }, "node_modules/ansi-align/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==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -3903,6 +4290,7 @@ "engines": [ "node >= 0.8.0" ], + "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -3911,20 +4299,23 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-sequence-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", - "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==", - "dev": true + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.3.tgz", + "integrity": "sha512-+fksAx9eG3Ab6LDnLs3ZqZa8KVJ/jYnX+D4Qe1azX+LFGFAXqynCQLOdLpNYN/l9e7l6hMWwZbrnctqr6eSQSw==", + "dev": true, + "license": "MIT" }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -3939,6 +4330,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -3950,22 +4342,26 @@ "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" }, "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", "engines": { "node": ">=8" } @@ -3973,20 +4369,22 @@ "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", "engines": { "node": ">= 4.0.0" } }, "node_modules/autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", "funding": [ { "type": "opencollective", @@ -3995,14 +4393,19 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -4019,17 +4422,19 @@ "version": "0.25.0", "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.14.7" } }, "node_modules/babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz", + "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", + "license": "MIT", "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", + "loader-utils": "^2.0.4", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -4045,6 +4450,7 @@ "version": "1.6.22", "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "7.10.4", "@mdx-js/util": "1.6.22" @@ -4060,12 +4466,14 @@ "node_modules/babel-plugin-apply-mdx-type-prop/node_modules/@babel/helper-plugin-utils": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "license": "MIT" }, "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "license": "MIT", "dependencies": { "object.assign": "^4.1.0" } @@ -4074,6 +4482,7 @@ "version": "1.6.22", "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "7.10.4" }, @@ -4085,56 +4494,62 @@ "node_modules/babel-plugin-extract-import-names/node_modules/@babel/helper-plugin-utils": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "license": "MIT" }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz", - "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==", + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.4.0", - "semver": "^6.1.1" + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", + "semver": "^6.3.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz", - "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.0", - "core-js-compat": "^3.30.1" + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz", - "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.0" + "@babel/helper-define-polyfill-provider": "^0.6.5" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/bail": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4143,49 +4558,58 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" }, "node_modules/base16": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", - "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" + "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==", + "license": "MIT" }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", + "qs": "6.13.0", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -4198,6 +4622,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -4206,22 +4631,35 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "license": "MIT", "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" } @@ -4229,12 +4667,14 @@ "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" }, "node_modules/boxen": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "license": "MIT", "dependencies": { "ansi-align": "^3.0.1", "camelcase": "^6.2.0", @@ -4253,29 +4693,31 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.25.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.4.tgz", + "integrity": "sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==", "funding": [ { "type": "opencollective", @@ -4284,13 +4726,18 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001737", + "electron-to-chromium": "^1.5.211", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" @@ -4302,12 +4749,14 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -4316,6 +4765,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "license": "MIT", "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", @@ -4333,6 +4783,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "license": "MIT", "dependencies": { "pump": "^3.0.0" }, @@ -4347,6 +4798,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -4355,17 +4807,53 @@ "version": "4.5.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4375,6 +4863,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -4383,6 +4872,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -4392,6 +4882,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -4403,6 +4894,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -4411,6 +4903,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", @@ -4419,9 +4912,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001699", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001699.tgz", - "integrity": "sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==", + "version": "1.0.30001739", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001739.tgz", + "integrity": "sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA==", "funding": [ { "type": "opencollective", @@ -4442,6 +4935,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4451,6 +4945,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4466,6 +4961,7 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4475,6 +4971,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4484,26 +4981,32 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz", + "integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==", + "license": "MIT", "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" + "domutils": "^3.2.2", + "encoding-sniffer": "^0.2.1", + "htmlparser2": "^10.0.0", + "parse5": "^7.3.0", + "parse5-htmlparser2-tree-adapter": "^7.1.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^7.12.0", + "whatwg-mimetype": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">=20.18.1" }, "funding": { "url": "https://github.com/cheeriojs/cheerio?sponsor=1" @@ -4513,6 +5016,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-select": "^5.1.0", @@ -4526,15 +5030,10 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -4547,36 +5046,42 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", "engines": { "node": ">=6.0" } }, "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "license": "MIT", "dependencies": { "source-map": "~0.6.0" }, @@ -4588,6 +5093,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "license": "MIT", "engines": { "node": ">=6" } @@ -4596,6 +5102,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -4604,9 +5111,10 @@ } }, "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "license": "MIT", "dependencies": { "string-width": "^4.2.0" }, @@ -4620,12 +5128,14 @@ "node_modules/cli-table3/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==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" }, "node_modules/cli-table3/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==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4639,6 +5149,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -4652,6 +5163,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "license": "MIT", "dependencies": { "mimic-response": "^1.0.0" }, @@ -4663,6 +5175,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -4671,6 +5184,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4680,6 +5194,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4690,22 +5205,26 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" }, "node_modules/combine-promises": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.1.0.tgz", - "integrity": "sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", + "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", + "license": "MIT", "engines": { "node": ">=10" } @@ -4714,6 +5233,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4723,6 +5243,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -4730,12 +5251,14 @@ "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", "dependencies": { "mime-db": ">= 1.43.0 < 2" }, @@ -4744,34 +5267,46 @@ } }, "node_modules/compressible/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", + "bytes": "3.1.2", + "compressible": "~2.0.18", "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", "vary": "~1.1.2" }, "engines": { "node": ">= 0.8.0" } }, + "node_modules/compression/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/compression/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -4779,22 +5314,20 @@ "node_modules/compression/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" }, "node_modules/configstore": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "license": "BSD-2-Clause", "dependencies": { "dot-prop": "^5.2.0", "graceful-fs": "^4.1.2", @@ -4811,6 +5344,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", "engines": { "node": ">=0.8" } @@ -4818,12 +5352,14 @@ "node_modules/consola": { "version": "2.15.3", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "license": "MIT" }, "node_modules/content-disposition": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -4832,19 +5368,22 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "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==", + "license": "MIT" }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -4852,12 +5391,14 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" }, "node_modules/copy-text-to-clipboard": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.1.0.tgz", - "integrity": "sha512-PFM6BnjLnOON/lB3ta/Jg7Ywsv+l9kQGD4TWDCSlRBGmqnnTM5MrDkhAFgw+8HZt0wW6Q2BBE4cmy9sq+s9Qng==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -4869,6 +5410,7 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "license": "MIT", "dependencies": { "fast-glob": "^3.2.11", "glob-parent": "^6.0.1", @@ -4889,14 +5431,15 @@ } }, "node_modules/copy-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -4907,6 +5450,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -4918,6 +5462,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -4926,13 +5471,14 @@ } }, "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", - "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "license": "MIT", "dependencies": { "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", "merge2": "^1.4.1", "slash": "^4.0.0" }, @@ -4946,12 +5492,14 @@ "node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -4959,7 +5507,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -4970,6 +5518,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -4978,21 +5527,23 @@ } }, "node_modules/core-js": { - "version": "3.30.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.2.tgz", - "integrity": "sha512-uBJiDmwqsbJCWHAwjrx3cvjbMXP7xD72Dmsn5LOJpiRmE3WbBbN5rCqQ2Qh6Ek6/eOrjlWngEynBWo4VxerQhg==", + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.45.1.tgz", + "integrity": "sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, "node_modules/core-js-compat": { - "version": "3.30.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz", - "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==", + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz", + "integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==", + "license": "MIT", "dependencies": { - "browserslist": "^4.21.5" + "browserslist": "^4.25.3" }, "funding": { "type": "opencollective", @@ -5000,10 +5551,11 @@ } }, "node_modules/core-js-pure": { - "version": "3.30.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.30.2.tgz", - "integrity": "sha512-p/npFUJXXBkCCTIlEGBdghofn00jWG6ZOtdoIXSJmAu2QBvN0IqpZXWweOytcwE6cfx8ZvVUy1vw8zxhe4Y2vg==", + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.45.1.tgz", + "integrity": "sha512-OHnWFKgTUshEU8MK+lOs1H8kC8GkTi9Z1tvNkxrCcw9wl3MJIO7q2ld77wjWn4/xuGrVu2X+nME1iIIPBSdyEQ==", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -5012,12 +5564,14 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" }, "node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -5030,17 +5584,19 @@ } }, "node_modules/cross-fetch": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz", - "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", + "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", + "license": "MIT", "dependencies": { - "node-fetch": "^2.6.11" + "node-fetch": "^2.7.0" } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -5054,14 +5610,16 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/css-declaration-sorter": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz", - "integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >=14" }, @@ -5070,18 +5628,19 @@ } }, "node_modules/css-loader": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.4.tgz", - "integrity": "sha512-0Y5uHtK5BswfaGJ+jrO+4pPg1msFBc0pwPIE1VqfpmVn6YbDfYfXMj8rfd7nt+4goAhJueO+H/I40VWJfcP1mQ==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", - "postcss": "^8.4.21", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.1", - "postcss-modules-scope": "^3.0.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" + "semver": "^7.5.4" }, "engines": { "node": ">= 12.13.0" @@ -5091,13 +5650,23 @@ "url": "https://opencollective.com/webpack" }, "peerDependencies": { + "@rspack/core": "0.x || 1.x", "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, "node_modules/css-minimizer-webpack-plugin": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz", "integrity": "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==", + "license": "MIT", "dependencies": { "cssnano": "^5.1.8", "jest-worker": "^29.1.2", @@ -5138,14 +5707,15 @@ } }, "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -5156,6 +5726,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -5166,12 +5737,14 @@ "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -5179,7 +5752,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -5187,9 +5760,10 @@ } }, "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", @@ -5205,6 +5779,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -5214,9 +5789,10 @@ } }, "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -5228,6 +5804,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -5239,6 +5816,7 @@ "version": "5.1.15", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "license": "MIT", "dependencies": { "cssnano-preset-default": "^5.2.14", "lilconfig": "^2.0.3", @@ -5259,6 +5837,7 @@ "version": "5.3.10", "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz", "integrity": "sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==", + "license": "MIT", "dependencies": { "autoprefixer": "^10.4.12", "cssnano-preset-default": "^5.2.14", @@ -5278,6 +5857,7 @@ "version": "5.2.14", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "license": "MIT", "dependencies": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", @@ -5320,6 +5900,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -5331,6 +5912,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "license": "MIT", "dependencies": { "css-tree": "^1.1.2" }, @@ -5339,16 +5921,24 @@ } }, "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "license": "MIT" }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -5363,6 +5953,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "license": "MIT", "dependencies": { "mimic-response": "^1.0.0" }, @@ -5374,6 +5965,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", "engines": { "node": ">=4.0.0" } @@ -5382,6 +5974,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5390,6 +5983,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", "dependencies": { "execa": "^5.0.0" }, @@ -5400,21 +5994,42 @@ "node_modules/defer-to-connect": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -5429,6 +6044,7 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "license": "MIT", "dependencies": { "globby": "^11.0.1", "graceful-fs": "^4.2.4", @@ -5450,6 +6066,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -5458,6 +6075,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -5467,6 +6085,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", + "license": "MIT", "dependencies": { "repeat-string": "^1.5.4" }, @@ -5478,12 +6097,14 @@ "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT" }, "node_modules/detect-port": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", + "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", + "license": "MIT", "dependencies": { "address": "^1.0.1", "debug": "4" @@ -5491,12 +6112,16 @@ "bin": { "detect": "bin/detect-port.js", "detect-port": "bin/detect-port.js" + }, + "engines": { + "node": ">= 4.0.0" } }, "node_modules/detect-port-alt": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "license": "MIT", "dependencies": { "address": "^1.0.1", "debug": "^2.6.0" @@ -5513,6 +6138,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -5520,12 +6146,14 @@ "node_modules/detect-port-alt/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -5533,15 +6161,11 @@ "node": ">=8" } }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, "node_modules/dns-packet": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", - "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" }, @@ -5554,6 +6178,7 @@ "resolved": "https://registry.npmjs.org/docusaurus-plugin-typedoc/-/docusaurus-plugin-typedoc-0.21.0.tgz", "integrity": "sha512-7DLFrf0JP+L5vSRQHVKIbndjbksd2MlxPqNmmdxzLFiRINgrY23s9waduWM9t24PUsf5JZ0tlGKlE3sK4uZ72Q==", "dev": true, + "license": "MIT", "peerDependencies": { "typedoc": ">=0.24.0", "typedoc-plugin-markdown": ">=3.15.0" @@ -5563,6 +6188,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", "dependencies": { "utila": "~0.4" } @@ -5571,6 +6197,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -5589,12 +6216,14 @@ "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, "node_modules/domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.3.0" }, @@ -5606,9 +6235,10 @@ } }, "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -5622,6 +6252,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -5631,6 +6262,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "license": "MIT", "dependencies": { "is-obj": "^2.0.0" }, @@ -5642,44 +6274,66 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" }, "node_modules/duplexer3": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", - "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", + "license": "BSD-3-Clause" }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.4.411", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.411.tgz", - "integrity": "sha512-5VXLW4Qw89vM2WTICHua/y8v7fKGDRVa2VPOtBB9IpLvW316B+xd8yD1wTmLPY2ot/00P/qt87xdolj4aG/Lzg==" + "version": "1.5.214", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.214.tgz", + "integrity": "sha512-TpvUNdha+X3ybfU78NoQatKvQEm1oq3lf2QbnmCEdw+Bd9RuIAY+hJTvq1avzHM0f7EJfnH3vbCnbzKzisc/9Q==", + "license": "ISC" }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -5688,31 +6342,48 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, + "node_modules/encoding-sniffer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", + "license": "MIT", + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } + }, "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", "dependencies": { "once": "^1.4.0" } }, "node_modules/enhanced-resolve": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz", - "integrity": "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==", + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -5725,6 +6396,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -5736,19 +6408,52 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==" + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } }, "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==", + "license": "MIT", "engines": { "node": ">=6" } @@ -5757,6 +6462,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -5764,12 +6470,14 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5781,6 +6489,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -5793,6 +6502,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -5805,6 +6515,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -5816,6 +6527,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -5824,6 +6536,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -5832,6 +6545,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -5840,6 +6554,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "license": "MIT", "engines": { "node": ">=6.0.0" }, @@ -5851,6 +6566,7 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5870,12 +6586,14 @@ "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", "engines": { "node": ">=0.8.x" } @@ -5884,6 +6602,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -5906,6 +6625,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5914,36 +6634,37 @@ } }, "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -5952,17 +6673,17 @@ }, "engines": { "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, "node_modules/express/node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -5974,6 +6695,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -5981,17 +6703,20 @@ "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "license": "MIT" }, "node_modules/express/node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5999,12 +6724,14 @@ "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" }, "node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -6015,18 +6742,20 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "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.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -6035,20 +6764,30 @@ "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", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" }, - "node_modules/fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "dependencies": { - "punycode": "^1.3.2" - } + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -6057,6 +6796,7 @@ "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -6068,14 +6808,16 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", + "license": "BSD-3-Clause", "dependencies": { "fbjs": "^3.0.0" } }, "node_modules/fbjs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz", - "integrity": "sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", + "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", + "license": "MIT", "dependencies": { "cross-fetch": "^3.1.5", "fbjs-css-vars": "^1.0.0", @@ -6083,18 +6825,20 @@ "object-assign": "^4.1.0", "promise": "^7.1.1", "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.30" + "ua-parser-js": "^1.0.35" } }, "node_modules/fbjs-css-vars": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==", + "license": "MIT" }, "node_modules/feed": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "license": "MIT", "dependencies": { "xml-js": "^1.6.11" }, @@ -6106,6 +6850,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" @@ -6122,9 +6867,10 @@ } }, "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -6142,14 +6888,16 @@ "version": "8.0.7", "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", "engines": { "node": ">= 0.4.0" } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -6158,12 +6906,13 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -6178,6 +6927,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -6185,12 +6935,14 @@ "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/find-cache-dir": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -6207,6 +6959,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -6215,10 +6968,20 @@ "node": ">=8" } }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, "node_modules/flux": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz", "integrity": "sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==", + "license": "BSD-3-Clause", "dependencies": { "fbemitter": "^3.0.0", "fbjs": "^3.0.1" @@ -6228,15 +6991,16 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -6250,6 +7014,7 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.8.3", "@types/json-schema": "^7.0.5", @@ -6288,6 +7053,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.1.0", @@ -6303,6 +7069,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -6317,6 +7084,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.4", "ajv": "^6.12.2", @@ -6334,6 +7102,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -6342,26 +7111,29 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", "engines": { "node": "*" }, "funding": { "type": "patreon", - "url": "https://www.patreon.com/infusion" + "url": "https://github.com/sponsors/rawify" } }, "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6370,6 +7142,7 @@ "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -6380,20 +7153,23 @@ } }, "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz", + "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==", + "license": "Unlicense" }, "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==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -6403,27 +7179,42 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6432,12 +7223,27 @@ "node_modules/get-own-enumerable-property-symbols": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "license": "ISC" + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "license": "MIT", "dependencies": { "pump": "^3.0.0" }, @@ -6448,12 +7254,15 @@ "node_modules/github-slugger": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", + "license": "ISC" }, "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", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6473,6 +7282,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -6483,12 +7293,14 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" }, "node_modules/global-dirs": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "license": "MIT", "dependencies": { "ini": "2.0.0" }, @@ -6503,6 +7315,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "license": "ISC", "engines": { "node": ">=10" } @@ -6511,6 +7324,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", "dependencies": { "global-prefix": "^3.0.0" }, @@ -6522,6 +7336,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", @@ -6535,6 +7350,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -6542,18 +7358,11 @@ "which": "bin/which" } }, - "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==", - "engines": { - "node": ">=4" - } - }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -6569,10 +7378,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/got": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "license": "MIT", "dependencies": { "@sindresorhus/is": "^0.14.0", "@szmarczak/http-timer": "^1.1.2", @@ -6593,12 +7415,14 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" }, "node_modules/gray-matter": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", "dependencies": { "js-yaml": "^3.13.1", "kind-of": "^6.0.2", @@ -6613,6 +7437,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -6621,6 +7446,7 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -6633,6 +7459,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "license": "MIT", "dependencies": { "duplexer": "^0.1.2" }, @@ -6646,16 +7473,18 @@ "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "license": "MIT" }, "node_modules/handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.5", - "neo-async": "^2.6.0", + "neo-async": "^2.6.2", "source-map": "^0.6.1", "wordwrap": "^1.0.0" }, @@ -6669,51 +7498,32 @@ "uglify-js": "^3.1.4" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "engines": { - "node": ">= 0.4" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6725,14 +7535,28 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hast-to-hyperscript": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", + "license": "MIT", "dependencies": { "@types/unist": "^2.0.3", "comma-separated-tokens": "^1.0.0", @@ -6751,6 +7575,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", + "license": "MIT", "dependencies": { "@types/parse5": "^5.0.0", "hastscript": "^6.0.0", @@ -6768,6 +7593,7 @@ "version": "2.2.5", "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -6777,6 +7603,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", + "license": "MIT", "dependencies": { "@types/hast": "^2.0.0", "hast-util-from-parse5": "^6.0.0", @@ -6797,12 +7624,14 @@ "node_modules/hast-util-raw/node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" }, "node_modules/hast-util-to-parse5": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", + "license": "MIT", "dependencies": { "hast-to-hyperscript": "^9.0.0", "property-information": "^5.0.0", @@ -6819,6 +7648,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "license": "MIT", "dependencies": { "@types/hast": "^2.0.0", "comma-separated-tokens": "^1.0.0", @@ -6835,6 +7665,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", "bin": { "he": "bin/he" } @@ -6843,6 +7674,7 @@ "version": "4.10.1", "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.1.2", "loose-envify": "^1.2.0", @@ -6856,6 +7688,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", "dependencies": { "react-is": "^16.7.0" } @@ -6864,6 +7697,7 @@ "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", @@ -6874,12 +7708,14 @@ "node_modules/hpack.js/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" }, "node_modules/hpack.js/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -6893,25 +7729,45 @@ "node_modules/hpack.js/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" }, "node_modules/hpack.js/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", + "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "license": "MIT" }, "node_modules/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", "dependencies": { "camel-case": "^4.1.2", "clean-css": "^5.2.2", @@ -6932,6 +7788,7 @@ "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", "engines": { "node": ">= 12" } @@ -6940,6 +7797,7 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -6951,15 +7809,17 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/html-webpack-plugin": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.1.tgz", - "integrity": "sha512-cTUzZ1+NqjGEKjmVgZKLMdiFg3m9MdRXkZW2OEe69WYVi5ONLMmlnSZdXzGGMOq0C8jGDrL6EWyEDDUioHO/pA==", + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.4.tgz", + "integrity": "sha512-V/PZeWsqhfpE27nKeX9EO2sbR+D17A+tLf6qU+ht66jdUsN0QLKJN27Z+1+gHrVMKgndBahes0PU6rRihDgHTw==", + "license": "MIT", "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -6975,13 +7835,22 @@ "url": "https://opencollective.com/html-webpack-plugin" }, "peerDependencies": { + "@rspack/core": "0.x || 1.x", "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { @@ -6989,27 +7858,43 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -7022,14 +7907,16 @@ } }, "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", + "license": "MIT" }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", @@ -7040,9 +7927,10 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", + "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -7066,6 +7954,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -7077,16 +7966,18 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" @@ -7096,6 +7987,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -7104,17 +7996,19 @@ } }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz", + "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==", + "license": "MIT", "dependencies": { "queue": "6.0.2" }, @@ -7122,22 +8016,24 @@ "image-size": "bin/image-size.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.x" } }, "node_modules/immer": { "version": "9.0.21", "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/immer" } }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -7153,6 +8049,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", + "license": "MIT", "engines": { "node": ">=4" } @@ -7161,6 +8058,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -7169,6 +8067,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", "engines": { "node": ">=8" } @@ -7177,6 +8076,7 @@ "version": "0.2.0-alpha.43", "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz", "integrity": "sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==", + "license": "MIT", "engines": { "node": ">=12" } @@ -7185,6 +8085,8 @@ "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.", + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -7193,22 +8095,26 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" }, "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" }, "node_modules/inline-style-parser": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", + "license": "MIT" }, "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -7217,14 +8123,16 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", "dependencies": { "loose-envify": "^1.0.0" } }, "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -7233,6 +8141,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -7242,6 +8151,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "license": "MIT", "dependencies": { "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0" @@ -7254,12 +8164,14 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -7285,6 +8197,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "engines": { "node": ">=4" } @@ -7293,6 +8206,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "license": "MIT", "dependencies": { "ci-info": "^2.0.0" }, @@ -7303,14 +8217,19 @@ "node_modules/is-ci/node_modules/ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "license": "MIT" }, "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7320,6 +8239,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -7329,6 +8249,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", "bin": { "is-docker": "cli.js" }, @@ -7343,6 +8264,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7351,6 +8273,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7359,6 +8282,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", "engines": { "node": ">=8" } @@ -7367,6 +8291,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -7378,6 +8303,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -7387,6 +8313,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "license": "MIT", "dependencies": { "global-dirs": "^3.0.0", "is-path-inside": "^3.0.2" @@ -7402,6 +8329,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -7413,6 +8341,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -7421,6 +8350,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7429,6 +8359,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -7437,6 +8368,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -7445,6 +8377,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -7453,6 +8386,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -7464,6 +8398,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7472,6 +8407,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -7480,6 +8416,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -7490,12 +8427,14 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" }, "node_modules/is-whitespace-character": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -7505,6 +8444,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -7514,6 +8454,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", "dependencies": { "is-docker": "^2.0.0" }, @@ -7524,32 +8465,37 @@ "node_modules/is-yarn-global": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "license": "MIT" }, "node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/jest-util": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz", - "integrity": "sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "license": "MIT", "dependencies": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -7561,12 +8507,13 @@ } }, "node_modules/jest-worker": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.5.0.tgz", - "integrity": "sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "license": "MIT", "dependencies": { "@types/node": "*", - "jest-util": "^29.5.0", + "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -7578,6 +8525,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -7589,21 +8537,23 @@ } }, "node_modules/jiti": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", - "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "license": "MIT", "bin": { "jiti": "bin/jiti.js" } }, "node_modules/joi": { - "version": "17.9.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", - "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", "@sideway/formula": "^3.0.1", "@sideway/pinpoint": "^2.0.0" } @@ -7611,12 +8561,14 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" }, "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==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -7625,35 +8577,40 @@ } }, "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==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", + "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -7662,15 +8619,17 @@ } }, "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" }, "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -7682,6 +8641,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "license": "MIT", "dependencies": { "json-buffer": "3.0.0" } @@ -7690,6 +8650,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7698,22 +8659,16 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "engines": { - "node": ">= 8" - } - }, "node_modules/latest-version": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "license": "MIT", "dependencies": { "package-json": "^6.3.0" }, @@ -7722,18 +8677,20 @@ } }, "node_modules/launch-editor": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", - "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.11.1.tgz", + "integrity": "sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==", + "license": "MIT", "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" } }, "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==", + "license": "MIT", "engines": { "node": ">=6" } @@ -7742,6 +8699,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", "engines": { "node": ">=10" } @@ -7749,12 +8707,14 @@ "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", "engines": { "node": ">=6.11.5" } @@ -7763,6 +8723,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -7776,6 +8737,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -7786,37 +8748,44 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" }, "node_modules/lodash.curry": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" + "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==", + "license": "MIT" }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" }, "node_modules/lodash.flow": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", - "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" + "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==", + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -7828,6 +8797,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", "dependencies": { "tslib": "^2.0.3" } @@ -7836,6 +8806,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7844,6 +8815,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } @@ -7852,12 +8824,14 @@ "version": "2.3.9", "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -7869,9 +8843,10 @@ } }, "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -7880,6 +8855,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -7890,6 +8866,7 @@ "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true, + "license": "MIT", "bin": { "marked": "bin/marked.js" }, @@ -7897,10 +8874,20 @@ "node": ">= 12" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdast-squeeze-paragraphs": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", + "license": "MIT", "dependencies": { "unist-util-remove": "^2.0.0" }, @@ -7913,6 +8900,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", + "license": "MIT", "dependencies": { "unist-util-visit": "^2.0.0" }, @@ -7925,6 +8913,7 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", + "license": "MIT", "dependencies": { "@types/mdast": "^3.0.0", "@types/unist": "^2.0.0", @@ -7944,6 +8933,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -7952,46 +8942,56 @@ "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" }, "node_modules/mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "license": "MIT" }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/memfs": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.1.tgz", - "integrity": "sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "license": "Unlicense", "dependencies": { - "fs-monkey": "^1.0.3" + "fs-monkey": "^1.0.4" }, "engines": { "node": ">= 4.0.0" } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -8000,16 +9000,18 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -8020,6 +9022,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -8031,6 +9034,7 @@ "version": "1.33.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8039,6 +9043,7 @@ "version": "2.1.18", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "license": "MIT", "dependencies": { "mime-db": "~1.33.0" }, @@ -8050,6 +9055,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -8058,16 +9064,19 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/mini-css-extract-plugin": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", - "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", + "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", + "license": "MIT", "dependencies": { - "schema-utils": "^4.0.0" + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" }, "engines": { "node": ">= 12.13.0" @@ -8081,14 +9090,15 @@ } }, "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -8099,6 +9109,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -8109,12 +9120,14 @@ "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -8122,7 +9135,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -8132,12 +9145,14 @@ "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -8149,27 +9164,31 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", "engines": { "node": ">=10" } }, "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==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/multicast-dns": { "version": "7.2.5", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" @@ -8179,15 +9198,16 @@ } }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -8196,9 +9216,10 @@ } }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8206,12 +9227,14 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" @@ -8221,14 +9244,16 @@ "version": "1.11.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "license": "MIT", "dependencies": { "lodash": "^4.17.21" } }, "node_modules/node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -8248,19 +9273,22 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } }, "node_modules/node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -8269,6 +9297,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -8277,6 +9306,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -8288,6 +9318,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -8298,12 +9329,14 @@ "node_modules/nprogress": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", + "license": "MIT" }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -8315,14 +9348,19 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8331,18 +9369,22 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", "object-keys": "^1.1.1" }, "engines": { @@ -8355,12 +9397,14 @@ "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -8369,9 +9413,10 @@ } }, "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -8380,6 +9425,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -8388,6 +9434,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -8402,6 +9449,7 @@ "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -8418,6 +9466,7 @@ "version": "1.5.2", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "license": "(WTFPL OR MIT)", "bin": { "opener": "bin/opener-bin.js" } @@ -8426,6 +9475,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "license": "MIT", "engines": { "node": ">=6" } @@ -8434,6 +9484,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -8448,6 +9499,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -8459,6 +9511,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" }, @@ -8473,6 +9526,7 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" @@ -8485,6 +9539,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -8493,6 +9548,7 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "license": "MIT", "dependencies": { "got": "^9.6.0", "registry-auth-token": "^4.0.0", @@ -8504,9 +9560,10 @@ } }, "node_modules/package-json/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -8515,6 +9572,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -8524,6 +9582,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -8535,6 +9594,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "license": "MIT", "dependencies": { "character-entities": "^1.0.0", "character-entities-legacy": "^1.0.0", @@ -8552,6 +9612,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -8568,35 +9629,63 @@ "node_modules/parse-numeric-range": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", + "license": "ISC" }, "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", "dependencies": { - "entities": "^4.4.0" + "entities": "^6.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" } }, "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", + "license": "MIT", "dependencies": { - "domhandler": "^5.0.2", "parse5": "^7.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -8605,6 +9694,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -8614,6 +9704,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -8622,6 +9713,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -8629,12 +9721,14 @@ "node_modules/path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -8642,12 +9736,14 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" }, "node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "license": "MIT", "dependencies": { "isarray": "0.0.1" } @@ -8656,19 +9752,22 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -8680,6 +9779,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -8691,6 +9791,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -8702,6 +9803,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -8713,6 +9815,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -8725,6 +9828,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -8736,14 +9840,15 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/postcss": { - "version": "8.4.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", - "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "funding": [ { "type": "opencollective", @@ -8758,10 +9863,11 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -8771,6 +9877,7 @@ "version": "8.2.4", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.9", "postcss-value-parser": "^4.2.0" @@ -8783,6 +9890,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", @@ -8800,6 +9908,7 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" @@ -8815,6 +9924,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -8826,6 +9936,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -8837,6 +9948,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -8848,6 +9960,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -8859,6 +9972,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.5" }, @@ -8870,14 +9984,14 @@ } }, "node_modules/postcss-loader": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.1.tgz", - "integrity": "sha512-uevGt8yy2gvruNvzy8jxgYSSnyqBcA7CnS6/57qoZnUMM51XgsTqxIpWZWdHyvIyo4ov0lCgnzIbhtWwVFI8lg==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", + "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", + "license": "MIT", "dependencies": { - "cosmiconfig": "^8.1.3", - "jiti": "^1.18.2", - "klona": "^2.0.6", - "semver": "^7.3.8" + "cosmiconfig": "^8.3.5", + "jiti": "^1.20.0", + "semver": "^7.5.4" }, "engines": { "node": ">= 14.15.0" @@ -8892,13 +10006,14 @@ } }, "node_modules/postcss-loader/node_modules/cosmiconfig": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", - "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", "dependencies": { - "import-fresh": "^3.2.1", + "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", + "parse-json": "^5.2.0", "path-type": "^4.0.0" }, "engines": { @@ -8906,12 +10021,21 @@ }, "funding": { "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/postcss-merge-idents": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", + "license": "MIT", "dependencies": { "cssnano-utils": "^3.1.0", "postcss-value-parser": "^4.2.0" @@ -8927,6 +10051,7 @@ "version": "5.1.7", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^5.1.1" @@ -8942,6 +10067,7 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", @@ -8959,6 +10085,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -8973,6 +10100,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "license": "MIT", "dependencies": { "colord": "^2.9.1", "cssnano-utils": "^3.1.0", @@ -8989,6 +10117,7 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "cssnano-utils": "^3.1.0", @@ -9005,6 +10134,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.5" }, @@ -9016,9 +10146,10 @@ } }, "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -9027,12 +10158,13 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "license": "MIT", "dependencies": { "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", + "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.1.0" }, "engines": { @@ -9042,12 +10174,26 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", "dependencies": { - "postcss-selector-parser": "^6.0.4" + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": "^10 || ^12 || >= 14" @@ -9056,10 +10202,24 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-modules-values": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", "dependencies": { "icss-utils": "^5.0.0" }, @@ -9074,6 +10234,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -9085,6 +10246,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9099,6 +10261,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9113,6 +10276,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9127,6 +10291,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9141,6 +10306,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9155,6 +10321,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" @@ -9170,6 +10337,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "license": "MIT", "dependencies": { "normalize-url": "^6.0.1", "postcss-value-parser": "^4.2.0" @@ -9185,6 +10353,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9199,6 +10368,7 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "license": "MIT", "dependencies": { "cssnano-utils": "^3.1.0", "postcss-value-parser": "^4.2.0" @@ -9214,6 +10384,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9228,6 +10399,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0" @@ -9243,6 +10415,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9254,9 +10427,10 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -9269,6 +10443,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz", "integrity": "sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==", + "license": "MIT", "dependencies": { "sort-css-media-queries": "2.1.0" }, @@ -9283,6 +10458,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^2.7.0" @@ -9298,6 +10474,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.5" }, @@ -9311,12 +10488,14 @@ "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" }, "node_modules/postcss-zindex": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -9328,6 +10507,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "license": "MIT", "engines": { "node": ">=4" } @@ -9336,6 +10516,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "license": "MIT", "dependencies": { "lodash": "^4.17.20", "renderkid": "^3.0.0" @@ -9345,6 +10526,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "license": "MIT", "engines": { "node": ">=4" } @@ -9353,14 +10535,16 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz", "integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==", + "license": "MIT", "peerDependencies": { "react": ">=0.14.9" } }, "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", "engines": { "node": ">=6" } @@ -9368,12 +10552,14 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" }, "node_modules/promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "license": "MIT", "dependencies": { "asap": "~2.0.3" } @@ -9382,6 +10568,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -9394,6 +10581,7 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -9404,6 +10592,7 @@ "version": "5.6.0", "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "license": "MIT", "dependencies": { "xtend": "^4.0.0" }, @@ -9416,6 +10605,7 @@ "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -9428,28 +10618,35 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } }, "node_modules/pupa": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "license": "MIT", "dependencies": { "escape-goat": "^2.0.0" }, @@ -9460,14 +10657,16 @@ "node_modules/pure-color": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", - "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" + "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==", + "license": "MIT" }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -9480,6 +10679,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "license": "MIT", "dependencies": { "inherits": "~2.0.3" } @@ -9501,12 +10701,14 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -9515,14 +10717,16 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -9537,14 +10741,28 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -9559,6 +10777,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9567,6 +10786,7 @@ "version": "17.0.2", "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -9579,6 +10799,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", + "license": "MIT", "dependencies": { "base16": "^1.0.0", "lodash.curry": "^4.0.1", @@ -9590,6 +10811,7 @@ "version": "12.0.1", "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.16.0", "address": "^1.1.2", @@ -9624,6 +10846,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -9636,9 +10859,10 @@ } }, "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "license": "MIT", "engines": { "node": ">= 12.13.0" } @@ -9647,6 +10871,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -9661,6 +10886,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -9675,6 +10901,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -9689,6 +10916,7 @@ "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -9699,14 +10927,16 @@ } }, "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.1.0.tgz", + "integrity": "sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==", + "license": "MIT" }, "node_modules/react-fast-compare": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", + "license": "MIT" }, "node_modules/react-helmet": { "version": "6.1.0", @@ -9727,6 +10957,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.12.5", "invariant": "^2.2.4", @@ -9742,12 +10973,14 @@ "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/react-json-view": { "version": "1.21.3", "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", + "license": "MIT", "dependencies": { "flux": "^4.0.1", "react-base16-styling": "^0.6.0", @@ -9762,13 +10995,15 @@ "node_modules/react-lifecycles-compat": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "license": "MIT" }, "node_modules/react-loadable": { "name": "@docusaurus/react-loadable", "version": "5.5.2", "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "license": "MIT", "dependencies": { "@types/react": "*", "prop-types": "^15.6.2" @@ -9781,6 +11016,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.3" }, @@ -9796,6 +11032,7 @@ "version": "5.3.4", "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.13", "history": "^4.9.0", @@ -9815,6 +11052,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.1.2" }, @@ -9827,6 +11065,7 @@ "version": "5.3.4", "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.13", "history": "^4.9.0", @@ -9850,9 +11089,10 @@ } }, "node_modules/react-textarea-autosize": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.4.1.tgz", - "integrity": "sha512-aD2C+qK6QypknC+lCMzteOdIjoMbNlgSFmJjCV+DrfTPwp59i/it9mMNf2HDzvRjQgKAyBDPyLJhcrzElf2U4Q==", + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.9.tgz", + "integrity": "sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.13", "use-composed-ref": "^1.3.0", @@ -9862,13 +11102,14 @@ "node": ">=10" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -9882,6 +11123,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -9892,7 +11134,8 @@ "node_modules/reading-time": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", - "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==", + "license": "MIT" }, "node_modules/rechoir": { "version": "0.6.2", @@ -9909,6 +11152,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", "dependencies": { "minimatch": "^3.0.5" }, @@ -9919,12 +11163,14 @@ "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -9932,28 +11178,16 @@ "node": ">=4" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", + "license": "MIT", "dependencies": { - "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" }, @@ -9965,6 +11199,7 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", + "license": "MIT", "dependencies": { "rc": "1.2.8" }, @@ -9976,6 +11211,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "license": "MIT", "dependencies": { "rc": "^1.2.8" }, @@ -9983,29 +11219,41 @@ "node": ">=8" } }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" + }, "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "license": "BSD-2-Clause", "dependencies": { - "jsesc": "~0.5.0" + "jsesc": "~3.0.2" }, "bin": { "regjsparser": "bin/parser" } }, "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" } }, "node_modules/relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -10014,6 +11262,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz", "integrity": "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==", + "license": "MIT", "dependencies": { "emoticon": "^3.2.0", "node-emoji": "^1.10.0", @@ -10024,6 +11273,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -10033,6 +11283,7 @@ "version": "1.6.22", "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", + "license": "MIT", "dependencies": { "@babel/core": "7.12.9", "@babel/helper-plugin-utils": "7.10.4", @@ -10052,6 +11303,7 @@ "version": "7.12.9", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/generator": "^7.12.5", @@ -10081,12 +11333,14 @@ "node_modules/remark-mdx/node_modules/@babel/helper-plugin-utils": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "license": "MIT" }, "node_modules/remark-mdx/node_modules/@babel/plugin-syntax-jsx": { "version": "7.12.1", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -10094,10 +11348,17 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/remark-mdx/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, "node_modules/remark-mdx/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } @@ -10106,6 +11367,7 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -10114,6 +11376,7 @@ "version": "9.2.0", "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "license": "MIT", "dependencies": { "bail": "^1.0.0", "extend": "^3.0.0", @@ -10131,6 +11394,7 @@ "version": "8.0.3", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", + "license": "MIT", "dependencies": { "ccount": "^1.0.0", "collapse-white-space": "^1.0.2", @@ -10158,6 +11422,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", + "license": "MIT", "dependencies": { "mdast-squeeze-paragraphs": "^4.0.0" }, @@ -10170,6 +11435,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "license": "MIT", "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", @@ -10182,6 +11448,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", @@ -10197,6 +11464,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -10210,6 +11478,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -10224,6 +11493,7 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -10237,6 +11507,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -10252,6 +11523,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -10263,6 +11535,7 @@ "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "license": "MIT", "engines": { "node": ">=0.10" } @@ -10271,6 +11544,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10286,20 +11560,25 @@ "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "license": "MIT", "dependencies": { - "is-core-module": "^2.11.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10308,6 +11587,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", "engines": { "node": ">=4" } @@ -10315,12 +11595,14 @@ "node_modules/resolve-pathname": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", + "license": "MIT" }, "node_modules/responselike": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "license": "MIT", "dependencies": { "lowercase-keys": "^1.0.0" } @@ -10329,14 +11611,16 @@ "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -10346,6 +11630,8 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -10357,14 +11643,16 @@ } }, "node_modules/rtl-detect": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.4.tgz", - "integrity": "sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", + "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==", + "license": "BSD-3-Clause" }, "node_modules/rtlcss": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", "integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==", + "license": "MIT", "dependencies": { "find-up": "^5.0.0", "picocolors": "^1.0.0", @@ -10379,6 +11667,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -10394,6 +11683,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -10408,6 +11698,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -10422,6 +11713,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -10450,14 +11742,16 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.1.0" } @@ -10479,22 +11773,26 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC" }, "node_modules/scheduler": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -10504,6 +11802,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", @@ -10517,10 +11816,18 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/search-insights": { + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", + "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", + "license": "MIT", + "peer": true + }, "node_modules/section-matter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "kind-of": "^6.0.0" @@ -10532,13 +11839,16 @@ "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" }, "node_modules/selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", "dependencies": { + "@types/node-forge": "^1.3.0", "node-forge": "^1" }, "engines": { @@ -10546,12 +11856,10 @@ } }, "node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -10563,6 +11871,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "license": "MIT", "dependencies": { "semver": "^6.3.0" }, @@ -10571,33 +11880,19 @@ } }, "node_modules/semver-diff/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/semver/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==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -10621,6 +11916,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -10628,53 +11924,62 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, "node_modules/send/node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/serve-handler": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", - "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", + "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "license": "MIT", "dependencies": { "bytes": "3.0.0", "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", "mime-types": "2.1.18", "minimatch": "3.1.2", "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", + "path-to-regexp": "3.3.0", "range-parser": "1.2.0" } }, "node_modules/serve-handler/node_modules/path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "license": "MIT" }, "node_modules/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "license": "MIT", "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", @@ -10692,6 +11997,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -10700,6 +12006,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -10708,6 +12015,7 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -10721,54 +12029,79 @@ "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" } }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" }, "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -10779,12 +12112,14 @@ "node_modules/shallowequal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "license": "MIT" }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -10796,14 +12131,19 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10812,6 +12152,7 @@ "version": "0.8.5", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "license": "BSD-3-Clause", "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -10825,10 +12166,11 @@ } }, "node_modules/shiki": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz", - "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==", + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz", + "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-sequence-parser": "^1.1.0", "jsonc-parser": "^3.2.0", @@ -10837,13 +12179,72 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -10852,16 +12253,18 @@ "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" }, "node_modules/sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "license": "MIT", "dependencies": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" }, "engines": { "node": ">= 10" @@ -10870,12 +12273,14 @@ "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" }, "node_modules/sitemap": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", - "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", + "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", + "license": "MIT", "dependencies": { "@types/node": "^17.0.5", "@types/sax": "^1.2.1", @@ -10893,12 +12298,14 @@ "node_modules/sitemap/node_modules/@types/node": { "version": "17.0.45", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -10907,6 +12314,7 @@ "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", @@ -10917,6 +12325,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz", "integrity": "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==", + "license": "MIT", "engines": { "node": ">= 6.3.0" } @@ -10925,14 +12334,16 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -10941,6 +12352,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -10950,6 +12362,7 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -10959,6 +12372,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", @@ -10974,6 +12388,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", @@ -10986,18 +12401,21 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" }, "node_modules/stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "license": "MIT" }, "node_modules/state-toggle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -11007,19 +12425,22 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/std-env": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz", - "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==" + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", + "license": "MIT" }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } @@ -11028,6 +12449,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -11041,9 +12463,10 @@ } }, "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -11052,9 +12475,10 @@ } }, "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -11069,6 +12493,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "license": "BSD-2-Clause", "dependencies": { "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", @@ -11082,6 +12507,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11093,6 +12519,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11101,6 +12528,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -11109,6 +12537,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -11120,6 +12549,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "license": "MIT", "dependencies": { "inline-style-parser": "0.1.1" } @@ -11128,6 +12558,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-selector-parser": "^6.0.4" @@ -11143,6 +12574,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11154,6 +12586,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -11164,12 +12597,14 @@ "node_modules/svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" }, "node_modules/svgo": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", @@ -11190,6 +12625,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -11198,6 +12634,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", @@ -11213,6 +12650,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -11226,6 +12664,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -11240,6 +12679,7 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -11253,25 +12693,32 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.3.tgz", + "integrity": "sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==", + "license": "MIT", "engines": { "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/terser": { - "version": "5.17.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.6.tgz", - "integrity": "sha512-V8QHcs8YuyLkLHsJO5ucyff1ykrLVsR4dNnS//L5Y3NiSXpbK1J+WMVUs67eI0KTxs9JtHhgEQpXQVHlHI92DQ==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.0.tgz", + "integrity": "sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==", + "license": "BSD-2-Clause", "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -11283,15 +12730,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.14", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", + "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" }, "engines": { "node": ">= 10.13.0" @@ -11315,10 +12763,39 @@ } } }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -11328,14 +12805,22 @@ "node": ">= 10.13.0" } }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { "node": ">= 10.13.0" @@ -11349,6 +12834,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11362,40 +12848,38 @@ "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" }, "node_modules/tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" }, "node_modules/tiny-warning": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "license": "MIT" }, "node_modules/to-readable-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "license": "MIT", "engines": { "node": ">=6" } @@ -11404,6 +12888,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -11415,14 +12900,16 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -11430,7 +12917,8 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" }, "node_modules/trim": { "version": "0.0.1", @@ -11442,6 +12930,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -11451,20 +12940,23 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/tslib": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", - "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" }, "node_modules/type-fest": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=12.20" }, @@ -11476,6 +12968,7 @@ "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -11488,6 +12981,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -11496,6 +12990,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -11507,20 +13002,22 @@ "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "license": "MIT", "dependencies": { "is-typedarray": "^1.0.0" } }, "node_modules/typedoc": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.4.tgz", - "integrity": "sha512-Du9ImmpBCw54bX275yJrxPVnjdIyJO/84co0/L9mwe0R3G4FSR6rQ09AlXVRvZEGMUg09+z/usc8mgygQ1aidA==", + "version": "0.25.13", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.13.tgz", + "integrity": "sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "lunr": "^2.3.9", "marked": "^4.3.0", "minimatch": "^9.0.3", - "shiki": "^0.14.1" + "shiki": "^0.14.7" }, "bin": { "typedoc": "bin/typedoc" @@ -11529,7 +13026,7 @@ "node": ">= 16" }, "peerDependencies": { - "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x" + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x" } }, "node_modules/typedoc-plugin-markdown": { @@ -11537,6 +13034,7 @@ "resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.17.1.tgz", "integrity": "sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==", "dev": true, + "license": "MIT", "dependencies": { "handlebars": "^4.7.7" }, @@ -11545,19 +13043,21 @@ } }, "node_modules/typedoc/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "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/typedoc/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "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" }, @@ -11569,21 +13069,22 @@ } }, "node_modules/typescript": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=12.20" + "node": ">=14.17" } }, "node_modules/ua-parser-js": { - "version": "0.7.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.35.tgz", - "integrity": "sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==", + "version": "1.0.41", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.41.tgz", + "integrity": "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==", "funding": [ { "type": "opencollective", @@ -11592,17 +13093,26 @@ { "type": "paypal", "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" } ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, "engines": { "node": "*" } }, "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "dev": true, + "license": "BSD-2-Clause", "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" @@ -11611,10 +13121,26 @@ "node": ">=0.8.0" } }, + "node_modules/undici": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.15.0.tgz", + "integrity": "sha512-7oZJCPvvMvTd0OlqWsIxTuItTpJBpU1tcbVl24FMn3xt3+VSunwUasmfPJRE57oNO1KsZ4PgA1xTdAX4hq8NyQ==", + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/undici-types": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", + "license": "MIT" + }, "node_modules/unherit": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "license": "MIT", "dependencies": { "inherits": "^2.0.0", "xtend": "^4.0.0" @@ -11625,9 +13151,10 @@ } }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", "engines": { "node": ">=4" } @@ -11636,6 +13163,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -11645,9 +13173,10 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "license": "MIT", "engines": { "node": ">=4" } @@ -11656,6 +13185,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", "engines": { "node": ">=4" } @@ -11664,6 +13194,7 @@ "version": "9.2.2", "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "license": "MIT", "dependencies": { "bail": "^1.0.0", "extend": "^3.0.0", @@ -11681,6 +13212,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "license": "MIT", "dependencies": { "crypto-random-string": "^2.0.0" }, @@ -11692,6 +13224,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -11701,6 +13234,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -11710,6 +13244,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -11719,6 +13254,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -11728,6 +13264,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", + "license": "MIT", "dependencies": { "unist-util-is": "^4.0.0" }, @@ -11740,6 +13277,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", + "license": "MIT", "dependencies": { "unist-util-visit": "^2.0.0" }, @@ -11752,6 +13290,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "license": "MIT", "dependencies": { "@types/unist": "^2.0.2" }, @@ -11764,6 +13303,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^4.0.0", @@ -11778,6 +13318,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^4.0.0" @@ -11788,9 +13329,10 @@ } }, "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -11799,14 +13341,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "funding": [ { "type": "opencollective", @@ -11821,9 +13364,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" @@ -11836,6 +13380,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "license": "BSD-2-Clause", "dependencies": { "boxen": "^5.0.0", "chalk": "^4.1.0", @@ -11863,6 +13408,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "license": "MIT", "dependencies": { "ansi-align": "^3.0.0", "camelcase": "^6.2.0", @@ -11884,6 +13430,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -11894,12 +13441,14 @@ "node_modules/update-notifier/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==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" }, "node_modules/update-notifier/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==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -11913,6 +13462,7 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -11924,6 +13474,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "license": "MIT", "dependencies": { "string-width": "^4.0.0" }, @@ -11935,6 +13486,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -11951,22 +13503,16 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, - "node_modules/uri-js/node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "engines": { - "node": ">=6" - } - }, "node_modules/url-loader": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "mime-types": "^2.1.27", @@ -11993,6 +13539,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -12001,6 +13548,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -12009,9 +13557,10 @@ } }, "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -12029,6 +13578,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "license": "MIT", "dependencies": { "prepend-http": "^2.0.0" }, @@ -12037,19 +13587,26 @@ } }, "node_modules/use-composed-ref": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", - "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.4.0.tgz", + "integrity": "sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==", + "license": "MIT", "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/use-isomorphic-layout-effect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", - "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz", + "integrity": "sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==", + "license": "MIT", "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -12058,14 +13615,15 @@ } }, "node_modules/use-latest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", - "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.3.0.tgz", + "integrity": "sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==", + "license": "MIT", "dependencies": { "use-isomorphic-layout-effect": "^1.1.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -12074,27 +13632,31 @@ } }, "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz", + "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==", + "license": "MIT", "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" }, "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "license": "MIT" }, "node_modules/utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -12103,6 +13665,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -12111,6 +13674,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -12118,12 +13682,14 @@ "node_modules/value-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", + "license": "MIT" }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -12132,6 +13698,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", "is-buffer": "^2.0.0", @@ -12147,6 +13714,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -12156,6 +13724,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", "unist-util-stringify-position": "^2.0.0" @@ -12169,18 +13738,21 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/vscode-textmate": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wait-on": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", + "license": "MIT", "dependencies": { "axios": "^0.25.0", "joi": "^17.6.0", @@ -12196,9 +13768,10 @@ } }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -12211,6 +13784,7 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", "dependencies": { "minimalistic-assert": "^1.0.0" } @@ -12219,6 +13793,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -12227,37 +13802,40 @@ "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" }, "node_modules/webpack": { - "version": "5.84.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.84.1.tgz", - "integrity": "sha512-ZP4qaZ7vVn/K8WN/p990SGATmrL1qg4heP/MrVneczYtpDGJWlrgZv55vxaV2ul885Kz+25MP2kSXkPe3LZfmg==", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "version": "5.101.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.101.3.tgz", + "integrity": "sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.14.1", + "enhanced-resolve": "^5.17.3", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.2", + "schema-utils": "^4.3.2", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" + "terser-webpack-plugin": "^5.3.11", + "watchpack": "^2.4.1", + "webpack-sources": "^3.3.3" }, "bin": { "webpack": "bin/webpack.js" @@ -12276,19 +13854,22 @@ } }, "node_modules/webpack-bundle-analyzer": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.8.0.tgz", - "integrity": "sha512-ZzoSBePshOKhr+hd8u6oCkZVwpVaXgpw23ScGLFpR6SjYI7+7iIWYarjN6OEYOfRt8o7ZyZZQk0DuMizJ+LEIg==", + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", "gzip-size": "^6.0.0", - "lodash": "^4.17.20", + "html-escaper": "^2.0.2", "opener": "^1.5.2", - "sirv": "^1.0.7", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", "ws": "^7.3.1" }, "bin": { @@ -12302,14 +13883,16 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -12329,14 +13912,15 @@ } }, "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -12347,6 +13931,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -12357,12 +13942,14 @@ "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/webpack-dev-middleware/node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -12371,6 +13958,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -12382,14 +13970,16 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -12397,7 +13987,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -12405,9 +13995,10 @@ } }, "node_modules/webpack-dev-server": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.0.tgz", - "integrity": "sha512-HmNB5QeSl1KpulTBQ8UT4FPrByYyaLxpJoQ0+s7EvUrMc16m0ZS1sgb1XGqzmgCPk0c9y+aaXxn11tbLzuM7NQ==", + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "license": "MIT", "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -12415,7 +14006,7 @@ "@types/serve-index": "^1.9.1", "@types/serve-static": "^1.13.10", "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", + "@types/ws": "^8.5.5", "ansi-html-community": "^0.0.8", "bonjour-service": "^1.0.11", "chokidar": "^3.5.3", @@ -12437,7 +14028,7 @@ "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", + "webpack-dev-middleware": "^5.3.4", "ws": "^8.13.0" }, "bin": { @@ -12463,14 +14054,15 @@ } }, "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -12481,6 +14073,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -12491,12 +14084,14 @@ "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -12504,7 +14099,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -12512,9 +14107,10 @@ } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -12532,11 +14128,13 @@ } }, "node_modules/webpack-merge": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", + "flat": "^5.0.2", "wildcard": "^2.0.0" }, "engines": { @@ -12544,17 +14142,53 @@ } }, "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "license": "MIT", "engines": { "node": ">=10.13.0" } }, + "node_modules/webpack/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, "node_modules/webpack/node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -12563,6 +14197,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -12571,13 +14206,15 @@ } }, "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { "node": ">= 10.13.0" @@ -12591,6 +14228,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "consola": "^2.15.3", @@ -12608,6 +14246,7 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -12621,14 +14260,37 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -12638,6 +14300,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -12652,6 +14315,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "license": "MIT", "dependencies": { "string-width": "^5.0.1" }, @@ -12665,18 +14329,21 @@ "node_modules/wildcard": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "license": "MIT" }, "node_modules/wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true + "dev": true, + "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==", + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -12690,9 +14357,10 @@ } }, "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -12704,6 +14372,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -12712,9 +14381,10 @@ } }, "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -12728,12 +14398,14 @@ "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==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" }, "node_modules/write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -12742,9 +14414,10 @@ } }, "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -12765,6 +14438,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12773,6 +14447,7 @@ "version": "1.6.11", "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "license": "MIT", "dependencies": { "sax": "^1.2.4" }, @@ -12784,6 +14459,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", "engines": { "node": ">=0.4" } @@ -12791,12 +14467,14 @@ "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" }, "node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", "engines": { "node": ">= 6" } @@ -12805,6 +14483,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -12816,6 +14495,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" diff --git a/www/package.json b/www/package.json index 0f23c5970..157751117 100644 --- a/www/package.json +++ b/www/package.json @@ -16,8 +16,10 @@ "typecheck": "tsc" }, "dependencies": { - "@docusaurus/core": "^2.4.0", - "@docusaurus/preset-classic": "^2.4.0", + "@docusaurus/core": "2.4.3", + "@docusaurus/plugin-content-docs": "2.4.3", + "@docusaurus/preset-classic": "2.4.3", + "@docusaurus/types": "2.4.3", "@mdx-js/react": "^1.6.22", "clsx": "^1.1.1", "prism-react-renderer": "^1.2.1", diff --git a/www/src/pages/index.tsx b/www/src/pages/index.tsx index b5c91674d..1e5051180 100644 --- a/www/src/pages/index.tsx +++ b/www/src/pages/index.tsx @@ -18,7 +18,7 @@ function HomepageHeader() {

{siteConfig.tagline}

- Get Started - 5 min ⏱️ + Get Started
diff --git a/www/static/img/Starknet-JS_logoX.jpeg b/www/static/img/Starknet-JS_logoX.jpeg new file mode 100644 index 000000000..72d2cdd0e Binary files /dev/null and b/www/static/img/Starknet-JS_logoX.jpeg differ diff --git a/www/versioned_docs/version-6.11.0/guides/what_s_starknet.js.md b/www/versioned_docs/version-6.11.0/guides/what_s_starknet.js.md index ffd90cba0..25ded16bd 100644 --- a/www/versioned_docs/version-6.11.0/guides/what_s_starknet.js.md +++ b/www/versioned_docs/version-6.11.0/guides/what_s_starknet.js.md @@ -13,13 +13,11 @@ Starknet.js is a library that helps to connect your website or your Decentralize Some important topics that have to be understood: - You can connect your DAPP to several networks: - - [Starknet mainnet](https://starkscan.co) (Layer 2 of [Ethereum network](https://etherscan.io/) ). - [Starknet testnet](https://sepolia.starkscan.co/) (Layer 2 of [Sepolia network](https://sepolia.etherscan.io/) (testnet of Ethereum)). - [Starknet-devnet](https://github.com/0xSpaceShard/starknet-devnet-rs) (your local Starknet network, for developers). and also to some more specific solutions: - - private customized version of Starknet. - local Starknet node (connected to mainnet or testnet). diff --git a/www/versioned_docs/version-6.23.1/guides/what_s_starknet.js.md b/www/versioned_docs/version-6.23.1/guides/what_s_starknet.js.md index 7d43497de..bdfc142a1 100644 --- a/www/versioned_docs/version-6.23.1/guides/what_s_starknet.js.md +++ b/www/versioned_docs/version-6.23.1/guides/what_s_starknet.js.md @@ -13,13 +13,11 @@ Starknet.js is a library that helps connect your website or your Decentralized A Some important topics that have to be understood: - You can connect your DAPP to several networks: - - [Starknet mainnet](https://starkscan.co) (Layer 2 of [Ethereum network](https://etherscan.io/) ). - [Starknet testnet](https://sepolia.starkscan.co/) (Layer 2 of [Sepolia network](https://sepolia.etherscan.io/) (testnet of Ethereum)). - [Starknet-devnet](https://github.com/0xSpaceShard/starknet-devnet-rs) (your local Starknet network, for developers). and also to some more specific solutions: - - private customized version of Starknet. - local Starknet node (connected to mainnet or testnet). diff --git a/www/versioned_docs/version-6.24.1/guides/what_s_starknet.js.md b/www/versioned_docs/version-6.24.1/guides/what_s_starknet.js.md index 7d43497de..bdfc142a1 100644 --- a/www/versioned_docs/version-6.24.1/guides/what_s_starknet.js.md +++ b/www/versioned_docs/version-6.24.1/guides/what_s_starknet.js.md @@ -13,13 +13,11 @@ Starknet.js is a library that helps connect your website or your Decentralized A Some important topics that have to be understood: - You can connect your DAPP to several networks: - - [Starknet mainnet](https://starkscan.co) (Layer 2 of [Ethereum network](https://etherscan.io/) ). - [Starknet testnet](https://sepolia.starkscan.co/) (Layer 2 of [Sepolia network](https://sepolia.etherscan.io/) (testnet of Ethereum)). - [Starknet-devnet](https://github.com/0xSpaceShard/starknet-devnet-rs) (your local Starknet network, for developers). and also to some more specific solutions: - - private customized version of Starknet. - local Starknet node (connected to mainnet or testnet). diff --git a/www/versioned_docs/version-7.5.1/API/classes/Account.md b/www/versioned_docs/version-7.5.1/API/classes/Account.md deleted file mode 100644 index 85def9396..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/Account.md +++ /dev/null @@ -1,2986 +0,0 @@ ---- -id: 'Account' -title: 'Class: Account' -sidebar_label: 'Account' -sidebar_position: 0 -custom_edit_url: null ---- - -## Hierarchy - -- [`Provider`](Provider.md) - - ↳ **`Account`** - - ↳↳ [`WalletAccount`](WalletAccount.md) - -## Implements - -- [`AccountInterface`](AccountInterface.md) - -## Constructors - -### constructor - -• **new Account**(`providerOrOptions`, `address`, `pkOrSigner`, `cairoVersion?`, `transactionVersion?`, `paymaster?`): [`Account`](Account.md) - -#### Parameters - -| Name | Type | -| :------------------- | :------------------------------------------------------------------------------------------------------------- | -| `providerOrOptions` | [`ProviderOptions`](../interfaces/types.ProviderOptions.md) \| [`ProviderInterface`](ProviderInterface.md) | -| `address` | `string` | -| `pkOrSigner` | `string` \| `Uint8Array` \| [`SignerInterface`](SignerInterface.md) | -| `cairoVersion?` | [`CairoVersion`](../namespaces/types.md#cairoversion) | -| `transactionVersion` | [`SupportedTransactionVersion`](../namespaces/constants.md#supportedtransactionversion) | -| `paymaster?` | [`PaymasterOptions`](../interfaces/types.PaymasterOptions.md) \| [`PaymasterInterface`](PaymasterInterface.md) | - -#### Returns - -[`Account`](Account.md) - -#### Overrides - -[Provider](Provider.md).[constructor](Provider.md#constructor) - -#### Defined in - -[src/account/default.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L108) - -## Properties - -### signer - -• **signer**: [`SignerInterface`](SignerInterface.md) - -#### Implementation of - -[AccountInterface](AccountInterface.md).[signer](AccountInterface.md#signer) - -#### Defined in - -[src/account/default.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L98) - ---- - -### address - -• **address**: `string` - -#### Implementation of - -[AccountInterface](AccountInterface.md).[address](AccountInterface.md#address) - -#### Defined in - -[src/account/default.ts:100](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L100) - ---- - -### cairoVersion - -• **cairoVersion**: [`CairoVersion`](../namespaces/types.md#cairoversion) - -#### Implementation of - -[AccountInterface](AccountInterface.md).[cairoVersion](AccountInterface.md#cairoversion) - -#### Defined in - -[src/account/default.ts:102](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L102) - ---- - -### transactionVersion - -• `Readonly` **transactionVersion**: `"0x2"` \| `"0x3"` - -#### Defined in - -[src/account/default.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L104) - ---- - -### paymaster - -• **paymaster**: [`PaymasterInterface`](PaymasterInterface.md) - -#### Defined in - -[src/account/default.ts:106](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L106) - ---- - -### deploySelf - -• **deploySelf**: (`__namedParameters`: [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload), `details`: [`UniversalDetails`](../interfaces/types.UniversalDetails.md)) => `Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -#### Type declaration - -▸ (`«destructured»`, `details?`): `Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -##### Parameters - -| Name | Type | -| :--------------- | :------------------------------------------------------------------------------------ | -| `«destructured»` | [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload) | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | - -##### Returns - -`Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -#### Defined in - -[src/account/default.ts:634](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L634) - ---- - -### responseParser - -• **responseParser**: [`RPCResponseParser`](RPCResponseParser.md) - -#### Inherited from - -[Provider](Provider.md).[responseParser](Provider.md#responseparser) - -#### Defined in - -[src/provider/rpc.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L65) - ---- - -### channel - -• **channel**: [`RpcChannel`](RPC07.RpcChannel.md) \| [`RpcChannel`](RPC08.RpcChannel.md) - -#### Implementation of - -[AccountInterface](AccountInterface.md).[channel](AccountInterface.md#channel) - -#### Inherited from - -[Provider](Provider.md).[channel](Provider.md#channel) - -#### Defined in - -[src/provider/rpc.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L67) - ---- - -### getStateUpdate - -• **getStateUpdate**: () => `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\>(`blockIdentifier`: `"pending"`) => `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\>(`blockIdentifier`: `"latest"`) => `Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\>(`blockIdentifier?`: [`BlockIdentifier`](../namespaces/types.md#blockidentifier)) => `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -#### Type declaration - -▸ (): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -##### Returns - -`Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -▸ (`blockIdentifier`): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -##### Parameters - -| Name | Type | -| :---------------- | :---------- | -| `blockIdentifier` | `"pending"` | - -##### Returns - -`Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -▸ (`blockIdentifier`): `Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -##### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `blockIdentifier` | `"latest"` | - -##### Returns - -`Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -▸ (`blockIdentifier?`): `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -##### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -##### Returns - -`Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getStateUpdate](AccountInterface.md#getstateupdate) - -#### Inherited from - -[Provider](Provider.md).[getStateUpdate](Provider.md#getstateupdate) - -#### Defined in - -[src/provider/rpc.ts:268](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L268) - -## Methods - -### getStarkName - -▸ **getStarkName**(`provider`, `address`, `StarknetIdContract?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :-------------------- | :---------------------------------------------------- | -| `provider` | [`ProviderInterface`](ProviderInterface.md) | -| `address` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `StarknetIdContract?` | `string` | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -[Provider](Provider.md).[getStarkName](Provider.md#getstarkname) - -#### Defined in - -[src/provider/extensions/starknetId.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L62) - ---- - -### getAddressFromStarkName - -▸ **getAddressFromStarkName**(`provider`, `name`, `StarknetIdContract?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :-------------------- | :------------------------------------------ | -| `provider` | [`ProviderInterface`](ProviderInterface.md) | -| `name` | `string` | -| `StarknetIdContract?` | `string` | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -[Provider](Provider.md).[getAddressFromStarkName](Provider.md#getaddressfromstarkname) - -#### Defined in - -[src/provider/extensions/starknetId.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L96) - ---- - -### getStarkProfile - -▸ **getStarkProfile**(`provider`, `address`, `StarknetIdContract?`, `StarknetIdIdentityContract?`, `StarknetIdVerifierContract?`, `StarknetIdPfpContract?`, `StarknetIdPopContract?`, `StarknetIdMulticallContract?`): `Promise`<[`StarkProfile`](../namespaces/types.md#starkprofile)\> - -#### Parameters - -| Name | Type | -| :----------------------------- | :---------------------------------------------------- | -| `provider` | [`ProviderInterface`](ProviderInterface.md) | -| `address` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `StarknetIdContract?` | `string` | -| `StarknetIdIdentityContract?` | `string` | -| `StarknetIdVerifierContract?` | `string` | -| `StarknetIdPfpContract?` | `string` | -| `StarknetIdPopContract?` | `string` | -| `StarknetIdMulticallContract?` | `string` | - -#### Returns - -`Promise`<[`StarkProfile`](../namespaces/types.md#starkprofile)\> - -#### Inherited from - -[Provider](Provider.md).[getStarkProfile](Provider.md#getstarkprofile) - -#### Defined in - -[src/provider/extensions/starknetId.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L128) - ---- - -### getPreferredVersion - -▸ **getPreferredVersion**(`type12`, `type3`): [`ETransactionVersion`](../namespaces/types.RPC.RPCSPEC08.API.md#etransactionversion-1) - -#### Parameters - -| Name | Type | -| :------- | :-------------------------------------------------------------------------------------- | -| `type12` | [`ETransactionVersion`](../namespaces/types.RPC.RPCSPEC08.API.md#etransactionversion-1) | -| `type3` | [`ETransactionVersion`](../namespaces/types.RPC.RPCSPEC08.API.md#etransactionversion-1) | - -#### Returns - -[`ETransactionVersion`](../namespaces/types.RPC.RPCSPEC08.API.md#etransactionversion-1) - -#### Defined in - -[src/account/default.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L144) - ---- - -### getNonce - -▸ **getNonce**(`blockIdentifier?`): `Promise`<`string`\> - -Gets the nonce of the account with respect to a specific block - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :---------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | optional blockIdentifier. Defaults to 'pending' | - -#### Returns - -`Promise`<`string`\> - -nonce of the account - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getNonce](AccountInterface.md#getnonce) - -#### Defined in - -[src/account/default.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L151) - ---- - -### getNonceSafe - -▸ **getNonceSafe**(`nonce?`): `Promise`<`bigint`\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `nonce?` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<`bigint`\> - -#### Defined in - -[src/account/default.ts:155](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L155) - ---- - -### getCairoVersion - -▸ **getCairoVersion**(`classHash?`): `Promise`<[`CairoVersion`](../namespaces/types.md#cairoversion)\> - -Retrieves the Cairo version from the network and sets `cairoVersion` if not already set in the constructor. - -#### Parameters - -| Name | Type | Description | -| :----------- | :------- | :----------------------------------------------------------------------------------- | -| `classHash?` | `string` | if provided detects Cairo version from classHash, otherwise from the account address | - -#### Returns - -`Promise`<[`CairoVersion`](../namespaces/types.md#cairoversion)\> - -#### Defined in - -[src/account/default.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L168) - ---- - -### estimateFee - -▸ **estimateFee**(`calls`, `estimateFeeDetails?`): `Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -#### Parameters - -| Name | Type | -| :------------------- | :---------------------------------------------------------------------------------------- | -| `calls` | [`AllowArray`](../namespaces/types.md#allowarray)<[`Call`](../namespaces/types.md#call)\> | -| `estimateFeeDetails` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | - -#### Returns - -`Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -#### Defined in - -[src/account/default.ts:178](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L178) - ---- - -### estimateInvokeFee - -▸ **estimateInvokeFee**(`calls`, `details?`): `Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -Estimate Fee for executing an INVOKE transaction on starknet - -#### Parameters - -| Name | Type | Description | -| :-------- | :---------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `calls` | [`AllowArray`](../namespaces/types.md#allowarray)<[`Call`](../namespaces/types.md#call)\> | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata? - (defaults to []) the calldata | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | blockIdentifier? - nonce? = 0 - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -response from estimate_fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[estimateInvokeFee](AccountInterface.md#estimateinvokefee) - -#### Defined in - -[src/account/default.ts:185](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L185) - ---- - -### estimateDeclareFee - -▸ **estimateDeclareFee**(`payload`, `details?`): `Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -Estimate Fee for executing a DECLARE transaction on starknet - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`DeclareContractPayload`](../namespaces/types.md#declarecontractpayload) | the payload object containing: - contract - the compiled contract to be declared - casm? - compiled cairo assembly. Cairo1(casm or compiledClassHash are required) - classHash? - the class hash of the compiled contract. Precalculate for faster execution. - compiledClassHash?: class hash of the cairo assembly. Cairo1(casm or compiledClassHash are required) | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | blockIdentifier? - nonce? = 0 - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -response from estimate_fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[estimateDeclareFee](AccountInterface.md#estimatedeclarefee) - -#### Defined in - -[src/account/default.ts:224](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L224) - ---- - -### estimateAccountDeployFee - -▸ **estimateAccountDeployFee**(`«destructured»`, `details?`): `Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -Estimate Fee for executing a DEPLOY_ACCOUNT transaction on starknet - -#### Parameters - -| Name | Type | Description | -| :--------------- | :------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `«destructured»` | [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload) | classHash - the class hash of the compiled contract. - constructorCalldata? - constructor data; - contractAddress? - future account contract address. Precalculate for faster execution. - addressSalt? - salt used for calculation of the contractAddress. Required if contractAddress is provided. | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | blockIdentifier? - nonce? = 0 - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -response from estimate_fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[estimateAccountDeployFee](AccountInterface.md#estimateaccountdeployfee) - -#### Defined in - -[src/account/default.ts:262](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L262) - ---- - -### estimateDeployFee - -▸ **estimateDeployFee**(`payload`, `details?`): `Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -Estimate Fee for executing a UDC DEPLOY transaction on starknet -This is different from the normal DEPLOY transaction as it goes through the Universal Deployer Contract (UDC) - -#### Parameters - -| Name | Type | Description | -| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload) \| [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload)[] | array or singular - classHash: computed class hash of compiled contract - salt: address salt - unique: bool if true ensure unique salt - constructorCalldata: constructor calldata | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | blockIdentifier? - nonce? - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[estimateDeployFee](AccountInterface.md#estimatedeployfee) - -#### Defined in - -[src/account/default.ts:301](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L301) - ---- - -### estimateFeeBulk - -▸ **estimateFeeBulk**(`invocations`, `details?`): `Promise`<[`EstimateFeeBulk`](../namespaces/types.md#estimatefeebulk)\> - -Estimate Fee for executing a list of transactions on starknet -Contract must be deployed for fee estimation to be possible - -#### Parameters - -| Name | Type | Description | -| :------------ | :------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocations` | [`Invocations`](../namespaces/types.md#invocations) | array of transaction object containing : - type - the type of transaction : 'DECLARE' \| (multi)'DEPLOY' \| (multi)'INVOKE_FUNCTION' \| 'DEPLOY_ACCOUNT' - payload - the payload of the transaction | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | blockIdentifier? - nonce? - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFeeBulk`](../namespaces/types.md#estimatefeebulk)\> - -response from estimate_fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[estimateFeeBulk](AccountInterface.md#estimatefeebulk) - -#### Defined in - -[src/account/default.ts:309](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L309) - ---- - -### simulateTransaction - -▸ **simulateTransaction**(`invocations`, `details?`): `Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -Simulates an array of transaction and returns an array of transaction trace and estimated fee. - -#### Parameters - -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- | -| `invocations` | [`Invocations`](../namespaces/types.md#invocations) | Invocations containing: - type - transaction type: DECLARE, (multi)DEPLOY, DEPLOY_ACCOUNT, (multi)INVOKE_FUNCTION | -| `details` | [`SimulateTransactionDetails`](../namespaces/types.md#simulatetransactiondetails) | SimulateTransactionDetails | - -#### Returns - -`Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -response from simulate_transaction - -#### Implementation of - -[AccountInterface](AccountInterface.md).[simulateTransaction](AccountInterface.md#simulatetransaction) - -#### Defined in - -[src/account/default.ts:335](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L335) - ---- - -### execute - -▸ **execute**(`transactions`, `transactionsDetail?`): `Promise`<\{ `transaction_hash`: `string` }\> - -Invoke execute function in account contract - -#### Parameters - -| Name | Type | Description | -| :------------------- | :---------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `transactions` | [`AllowArray`](../namespaces/types.md#allowarray)<[`Call`](../namespaces/types.md#call)\> | the invocation object or an array of them, containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature | -| `transactionsDetail` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | Additional optional parameters for the transaction | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -response from addTransaction - -#### Implementation of - -[AccountInterface](AccountInterface.md).[execute](AccountInterface.md#execute) - -#### Defined in - -[src/account/default.ts:362](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L362) - ---- - -### buildPaymasterTransaction - -▸ **buildPaymasterTransaction**(`calls`, `paymasterDetails`): `Promise`<[`PreparedTransaction`](../namespaces/types.md#preparedtransaction)\> - -Build a paymaster transaction - -#### Parameters - -| Name | Type | Description | -| :----------------- | :------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `calls` | [`Call`](../namespaces/types.md#call)[] | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata | -| `paymasterDetails` | [`PaymasterDetails`](../interfaces/types.PaymasterDetails.md) | the paymaster details containing: - feeMode - the fee mode - deploymentData - the deployment data (optional) - timeBounds - the time bounds (optional) | - -#### Returns - -`Promise`<[`PreparedTransaction`](../namespaces/types.md#preparedtransaction)\> - -the prepared transaction - -#### Implementation of - -[AccountInterface](AccountInterface.md).[buildPaymasterTransaction](AccountInterface.md#buildpaymastertransaction) - -#### Defined in - -[src/account/default.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L411) - ---- - -### estimatePaymasterTransactionFee - -▸ **estimatePaymasterTransactionFee**(`calls`, `paymasterDetails`): `Promise`<[`PaymasterFeeEstimate`](../namespaces/types.md#paymasterfeeestimate)\> - -Estimate Fee for executing a paymaster transaction on starknet - -#### Parameters - -| Name | Type | Description | -| :----------------- | :------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `calls` | [`Call`](../namespaces/types.md#call)[] | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata | -| `paymasterDetails` | [`PaymasterDetails`](../interfaces/types.PaymasterDetails.md) | the paymaster details containing: - feeMode - the fee mode - deploymentData - the deployment data (optional) - timeBounds - the time bounds (optional) | - -#### Returns - -`Promise`<[`PaymasterFeeEstimate`](../namespaces/types.md#paymasterfeeestimate)\> - -response extracting fee from buildPaymasterTransaction - -#### Implementation of - -[AccountInterface](AccountInterface.md).[estimatePaymasterTransactionFee](AccountInterface.md#estimatepaymastertransactionfee) - -#### Defined in - -[src/account/default.ts:450](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L450) - ---- - -### preparePaymasterTransaction - -▸ **preparePaymasterTransaction**(`preparedTransaction`): `Promise`<[`ExecutableUserTransaction`](../namespaces/types.md#executableusertransaction)\> - -#### Parameters - -| Name | Type | -| :-------------------- | :------------------------------------------------------------------ | -| `preparedTransaction` | [`PreparedTransaction`](../namespaces/types.md#preparedtransaction) | - -#### Returns - -`Promise`<[`ExecutableUserTransaction`](../namespaces/types.md#executableusertransaction)\> - -#### Defined in - -[src/account/default.ts:458](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L458) - ---- - -### executePaymasterTransaction - -▸ **executePaymasterTransaction**(`calls`, `paymasterDetails`, `maxFeeInGasToken?`): `Promise`<\{ `transaction_hash`: `string` }\> - -Execute a paymaster transaction - -Assert that the gas token value is equal to the provided gas fees -Assert that the calls are strictly equal to the returned calls. -Assert that the gas token (in gas token) price is not too high, if provided. -Assert that typedData to signed is strictly equal to the provided typedData. - -#### Parameters - -| Name | Type | Description | -| :------------------ | :------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `calls` | [`Call`](../namespaces/types.md#call)[] | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata | -| `paymasterDetails` | [`PaymasterDetails`](../interfaces/types.PaymasterDetails.md) | the paymaster details containing: - feeMode - the fee mode (sponsored or default) - deploymentData - the deployment data (optional) - timeBounds - the time bounds when the transaction is valid (optional) - executeAfter and executeBefore expected to be in seconds (BLOCK_TIMESTAMP) | -| `maxFeeInGasToken?` | [`BigNumberish`](../namespaces/types.md#bignumberish) | the max fee acceptable to pay in gas token (optional) | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -the tarnsaction hash if successful, otherwise an error is thrown - -#### Implementation of - -[AccountInterface](AccountInterface.md).[executePaymasterTransaction](AccountInterface.md#executepaymastertransaction) - -#### Defined in - -[src/account/default.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L501) - ---- - -### declareIfNot - -▸ **declareIfNot**(`payload`, `transactionsDetail?`): `Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -First check if contract is already declared, if not declare it -If contract already declared returned transaction_hash is ''. -Method will pass even if contract is already declared - -#### Parameters - -| Name | Type | Description | -| :------------------- | :------------------------------------------------------------------------ | :---------- | -| `payload` | [`DeclareContractPayload`](../namespaces/types.md#declarecontractpayload) | - | -| `transactionsDetail` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | (optional) | - -#### Returns - -`Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -#### Defined in - -[src/account/default.ts:535](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L535) - ---- - -### declare - -▸ **declare**(`payload`, `details?`): `Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -Declares a given compiled contract (json) to starknet - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`DeclareContractPayload`](../namespaces/types.md#declarecontractpayload) | transaction payload to be deployed containing: - contract: compiled contract code - (optional) classHash: computed class hash of compiled contract. Pre-compute it for faster execution. - (required for Cairo1 without compiledClassHash) casm: CompiledContract \| string; - (optional for Cairo1 with casm) compiledClassHash: compiled class hash from casm. Pre-compute it for faster execution. | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | InvocationsDetails | - -#### Returns - -`Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -a confirmation of sending a transaction on the starknet contract - -#### Implementation of - -[AccountInterface](AccountInterface.md).[declare](AccountInterface.md#declare) - -#### Defined in - -[src/account/default.ts:551](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L551) - ---- - -### deploy - -▸ **deploy**(`payload`, `details?`): `Promise`<[`MultiDeployContractResponse`](../namespaces/types.md#multideploycontractresponse)\> - -Deploys a declared contract to starknet - using Universal Deployer Contract (UDC) -support multicall - -#### Parameters - -| Name | Type | Description | -| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload) \| [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload)[] | classHash: computed class hash of compiled contract - [constructorCalldata] contract constructor calldata - [salt=pseudorandom] deploy address salt - [unique=true] ensure unique salt | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | InvocationsDetails | - -#### Returns - -`Promise`<[`MultiDeployContractResponse`](../namespaces/types.md#multideploycontractresponse)\> - -- contract_address[] -- transaction_hash - -#### Implementation of - -[AccountInterface](AccountInterface.md).[deploy](AccountInterface.md#deploy) - -#### Defined in - -[src/account/default.ts:595](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L595) - ---- - -### deployContract - -▸ **deployContract**(`payload`, `details?`): `Promise`<[`DeployContractUDCResponse`](../namespaces/types.md#deploycontractudcresponse)\> - -Simplify deploy simulating old DeployContract with same response + UDC specific response -Internal wait for L2 transaction, support multicall - -#### Parameters - -| Name | Type | Description | -| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload) \| [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload)[] | classHash: computed class hash of compiled contract - [constructorCalldata] contract constructor calldata - [salt=pseudorandom] deploy address salt - [unique=true] ensure unique salt | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | InvocationsDetails | - -#### Returns - -`Promise`<[`DeployContractUDCResponse`](../namespaces/types.md#deploycontractudcresponse)\> - -- contract_address -- transaction_hash -- address -- deployer -- unique -- classHash -- calldata_len -- calldata -- salt - -#### Implementation of - -[AccountInterface](AccountInterface.md).[deployContract](AccountInterface.md#deploycontract) - -#### Defined in - -[src/account/default.ts:608](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L608) - ---- - -### declareAndDeploy - -▸ **declareAndDeploy**(`payload`, `details?`): `Promise`<[`DeclareDeployUDCResponse`](../namespaces/types.md#declaredeployudcresponse)\> - -Declares and Deploy a given compiled contract (json) to starknet using UDC -Internal wait for L2 transaction, do not support multicall -Method will pass even if contract is already declared (internal using DeclareIfNot) - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`DeclareAndDeployContractPayload`](../namespaces/types.md#declareanddeploycontractpayload) | contract: compiled contract code - [casm=cairo1]: CairoAssembly \| undefined; - [compiledClassHash]: string \| undefined; - [classHash]: computed class hash of compiled contract - [constructorCalldata] contract constructor calldata - [salt=pseudorandom] deploy address salt - [unique=true] ensure unique salt | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | InvocationsDetails | - -#### Returns - -`Promise`<[`DeclareDeployUDCResponse`](../namespaces/types.md#declaredeployudcresponse)\> - -- declare - - transaction_hash -- deploy - - contract_address - - transaction_hash - - address - - deployer - - unique - - classHash - - calldata_len - - calldata - - salt - -#### Implementation of - -[AccountInterface](AccountInterface.md).[declareAndDeploy](AccountInterface.md#declareanddeploy) - -#### Defined in - -[src/account/default.ts:617](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L617) - ---- - -### deployAccount - -▸ **deployAccount**(`«destructured»`, `details?`): `Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -Deploy the account on Starknet - -#### Parameters - -| Name | Type | Description | -| :--------------- | :------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `«destructured»` | [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload) | transaction payload to be deployed containing: - classHash: computed class hash of compiled contract - optional constructor calldata - optional address salt - optional contractAddress | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | InvocationsDetails | - -#### Returns - -`Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -a confirmation of sending a transaction on the starknet contract - -#### Implementation of - -[AccountInterface](AccountInterface.md).[deployAccount](AccountInterface.md#deployaccount) - -#### Defined in - -[src/account/default.ts:636](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L636) - ---- - -### signMessage - -▸ **signMessage**(`typedData`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs a TypedData object for off-chain usage with the Starknet private key and returns the signature -This adds a message prefix so it can't be interchanged with transactions - -#### Parameters - -| Name | Type | Description | -| :---------- | :----------------------------------------------------------------------- | :---------------------------- | -| `typedData` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | TypedData object to be signed | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the TypedData object - -**`Throws`** - -if typedData is not a valid TypedData - -#### Implementation of - -[AccountInterface](AccountInterface.md).[signMessage](AccountInterface.md#signmessage) - -#### Defined in - -[src/account/default.ts:696](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L696) - ---- - -### hashMessage - -▸ **hashMessage**(`typedData`): `Promise`<`string`\> - -Hash a TypedData object with Pedersen hash and return the hash -This adds a message prefix so it can't be interchanged with transactions - -#### Parameters - -| Name | Type | Description | -| :---------- | :----------------------------------------------------------------------- | :---------------------------- | -| `typedData` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | TypedData object to be hashed | - -#### Returns - -`Promise`<`string`\> - -the hash of the TypedData object - -**`Throws`** - -if typedData is not a valid TypedData - -#### Implementation of - -[AccountInterface](AccountInterface.md).[hashMessage](AccountInterface.md#hashmessage) - -#### Defined in - -[src/account/default.ts:700](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L700) - ---- - -### getSnip9Version - -▸ **getSnip9Version**(): `Promise`<`"0"` \| `"1"` \| `"2"`\> - -Verify if an account is compatible with SNIP-9 outside execution, and with which version of this standard. - -#### Returns - -`Promise`<`"0"` \| `"1"` \| `"2"`\> - -Not compatible, V1, V2. - -**`Example`** - -```typescript -const result = myAccount.getSnip9Version(); -// result = "V1" -``` - -#### Defined in - -[src/account/default.ts:713](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L713) - ---- - -### isValidSnip9Nonce - -▸ **isValidSnip9Nonce**(`nonce`): `Promise`<`boolean`\> - -Verify if a SNIP-9 nonce has not yet been used by the account. - -#### Parameters - -| Name | Type | Description | -| :------ | :---------------------------------------------------- | :-------------------- | -| `nonce` | [`BigNumberish`](../namespaces/types.md#bignumberish) | SNIP-9 nonce to test. | - -#### Returns - -`Promise`<`boolean`\> - -true if SNIP-9 nonce not yet used. - -**`Example`** - -```typescript -const result = myAccount.isValidSnip9Nonce(1234); -// result = true -``` - -#### Defined in - -[src/account/default.ts:734](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L734) - ---- - -### getSnip9Nonce - -▸ **getSnip9Nonce**(): `Promise`<`string`\> - -Outside transaction needs a specific SNIP-9 nonce, that we get in this function. -A SNIP-9 nonce can be any number not yet used ; no ordering is needed. - -#### Returns - -`Promise`<`string`\> - -an Hex string of a SNIP-9 nonce. - -**`Example`** - -```typescript -const result = myAccount.getSnip9Nonce(); -// result = "0x28a612590dbc36927933c8ee0f357eee639c8b22b3d3aa86949eed3ada4ac55" -``` - -#### Defined in - -[src/account/default.ts:758](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L758) - ---- - -### getOutsideTransaction - -▸ **getOutsideTransaction**(`options`, `calls`, `version?`, `nonce?`): `Promise`<[`OutsideTransaction`](../interfaces/types.OutsideTransaction.md)\> - -Creates an object containing transaction(s) that can be executed by an other account with` Account.executeFromOutside()`, called Outside Transaction. - -#### Parameters - -| Name | Type | Description | -| :--------- | :---------------------------------------------------------------------------------------- | :------------------------------------------------------------------ | -| `options` | [`OutsideExecutionOptions`](../interfaces/types.OutsideExecutionOptions.md) | Parameters of the transaction(s). | -| `calls` | [`AllowArray`](../namespaces/types.md#allowarray)<[`Call`](../namespaces/types.md#call)\> | Transaction(s) to execute. | -| `version?` | `"0"` \| `"1"` \| `"2"` | SNIP-9 version of the Account that creates the outside transaction. | -| `nonce?` | [`BigNumberish`](../namespaces/types.md#bignumberish) | Outside Nonce. | - -#### Returns - -`Promise`<[`OutsideTransaction`](../interfaces/types.OutsideTransaction.md)\> - -and object that can be used in `Account.executeFromOutside()` - -**`Example`** - -```typescript -const now_seconds = Math.floor(Date.now() / 1000); -const callOptions: OutsideExecutionOptions = { - caller: executorAccount.address, - execute_after: now_seconds - 3600, - execute_before: now_seconds + 3600, -}; -const call1: Call = { - contractAddress: ethAddress, - entrypoint: 'transfer', - calldata: { - recipient: recipientAccount.address, - amount: cairo.uint256(100), - }, -}; -const outsideTransaction1: OutsideTransaction = await signerAccount.getOutsideTransaction( - callOptions, - call3 -); -// result = { -// outsideExecution: { -// caller: '0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691', -// nonce: '0x28a612590dbc36927933c8ee0f357eee639c8b22b3d3aa86949eed3ada4ac55', -// execute_after: 1723650229, execute_before: 1723704229, calls: [[Object]] }, -// signature: Signature { -// r: 67518627037915514985321278857825384106482999609634873287406612756843916814n, -// s: 737198738569840639192844101690009498983611654458636624293579534560862067709n, recovery: 0 }, -// signerAddress: '0x655f8fd7c4013c07cf12a92184aa6c314d181443913e21f7e209a18f0c78492', -// version: '2' -// } -``` - -#### Defined in - -[src/account/default.ts:795](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L795) - ---- - -### executeFromOutside - -▸ **executeFromOutside**(`outsideTransaction`, `opts?`): `Promise`<\{ `transaction_hash`: `string` }\> - -An account B executes a transaction that has been signed by an account A. -Fees are paid by B. - -#### Parameters - -| Name | Type | Description | -| :------------------- | :-------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | -| `outsideTransaction` | [`AllowArray`](../namespaces/types.md#allowarray)<[`OutsideTransaction`](../interfaces/types.OutsideTransaction.md)\> | the signed transaction generated by `Account.getOutsideTransaction()`. | -| `opts?` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | same options than `Account.execute()`. | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -same response than `Account.execute()`. - -**`Example`** - -```typescript -const outsideTransaction1: OutsideTransaction = await signerAccount.getOutsideTransaction( - callOptions, - call1 -); -const outsideTransaction2: OutsideTransaction = await signerAccount.getOutsideTransaction( - callOptions4, - call4 -); -const result = await myAccount.executeFromOutside([outsideTransaction1, outsideTransaction2]); -// result = { transaction_hash: '0x11233...`} -``` - -#### Defined in - -[src/account/default.ts:855](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L855) - ---- - -### getUniversalSuggestedFee - -▸ **getUniversalSuggestedFee**(`version`, `«destructured»`, `details`): `Promise`<[`UniversalSuggestedFee`](../namespaces/types.md#universalsuggestedfee)\> - -#### Parameters - -| Name | Type | -| :--------------- | :-------------------------------------------------------------------------------------- | -| `version` | [`ETransactionVersion`](../namespaces/types.RPC.RPCSPEC08.API.md#etransactionversion-1) | -| `«destructured»` | [`EstimateFeeAction`](../namespaces/types.md#estimatefeeaction) | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | - -#### Returns - -`Promise`<[`UniversalSuggestedFee`](../namespaces/types.md#universalsuggestedfee)\> - -#### Defined in - -[src/account/default.ts:867](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L867) - ---- - -### getSuggestedFee - -▸ **getSuggestedFee**(`«destructured»`, `details`): `Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -Gets Suggested Max Fee based on the transaction type - -#### Parameters - -| Name | Type | -| :--------------- | :-------------------------------------------------------------- | -| `«destructured»` | [`EstimateFeeAction`](../namespaces/types.md#estimatefeeaction) | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | - -#### Returns - -`Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -EstimateFee (...response, resourceBounds, suggestedMaxFee) - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getSuggestedFee](AccountInterface.md#getsuggestedfee) - -#### Defined in - -[src/account/default.ts:895](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L895) - ---- - -### buildInvocation - -▸ **buildInvocation**(`call`, `details`): `Promise`<[`Invocation`](../namespaces/types.md#invocation)\> - -#### Parameters - -| Name | Type | -| :-------- | :---------------------------------------------------------------------------- | -| `call` | [`Call`](../namespaces/types.md#call)[] | -| `details` | [`InvocationsSignerDetails`](../namespaces/types.md#invocationssignerdetails) | - -#### Returns - -`Promise`<[`Invocation`](../namespaces/types.md#invocation)\> - -#### Defined in - -[src/account/default.ts:917](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L917) - ---- - -### buildDeclarePayload - -▸ **buildDeclarePayload**(`payload`, `details`): `Promise`<[`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction)\> - -#### Parameters - -| Name | Type | -| :-------- | :---------------------------------------------------------------------------- | -| `payload` | [`DeclareContractPayload`](../namespaces/types.md#declarecontractpayload) | -| `details` | [`InvocationsSignerDetails`](../namespaces/types.md#invocationssignerdetails) | - -#### Returns - -`Promise`<[`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction)\> - -#### Defined in - -[src/account/default.ts:932](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L932) - ---- - -### buildAccountDeployPayload - -▸ **buildAccountDeployPayload**(`«destructured»`, `details`): `Promise`<[`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction)\> - -#### Parameters - -| Name | Type | -| :--------------- | :------------------------------------------------------------------------------------ | -| `«destructured»` | [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload) | -| `details` | [`InvocationsSignerDetails`](../namespaces/types.md#invocationssignerdetails) | - -#### Returns - -`Promise`<[`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction)\> - -#### Defined in - -[src/account/default.ts:964](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L964) - ---- - -### buildUDCContractPayload - -▸ **buildUDCContractPayload**(`payload`): [`Call`](../namespaces/types.md#call)[] - -#### Parameters - -| Name | Type | -| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload) \| [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload)[] | - -#### Returns - -[`Call`](../namespaces/types.md#call)[] - -#### Defined in - -[src/account/default.ts:998](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L998) - ---- - -### accountInvocationsFactory - -▸ **accountInvocationsFactory**(`invocations`, `details`): `Promise`<[`AccountInvocations`](../namespaces/types.md#accountinvocations)\> - -#### Parameters - -| Name | Type | -| :------------ | :-------------------------------------------------------------------------------------------- | -| `invocations` | [`Invocations`](../namespaces/types.md#invocations) | -| `details` | [`AccountInvocationsFactoryDetails`](../namespaces/types.md#accountinvocationsfactorydetails) | - -#### Returns - -`Promise`<[`AccountInvocations`](../namespaces/types.md#accountinvocations)\> - -#### Defined in - -[src/account/default.ts:1025](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L1025) - ---- - -### getStarkName - -▸ **getStarkName**(`address?`, `StarknetIdContract?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :-------------------- | :---------------------------------------------------- | -| `address` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `StarknetIdContract?` | `string` | - -#### Returns - -`Promise`<`string`\> - -#### Overrides - -[Provider](Provider.md).[getStarkName](Provider.md#getstarkname-1) - -#### Defined in - -[src/account/default.ts:1123](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L1123) - ---- - -### fetch - -▸ **fetch**(`method`, `params?`, `id?`): `Promise`<`Response`\> - -#### Parameters - -| Name | Type | Default value | -| :-------- | :------------------- | :------------ | -| `method` | `string` | `undefined` | -| `params?` | `object` | `undefined` | -| `id` | `string` \| `number` | `0` | - -#### Returns - -`Promise`<`Response`\> - -#### Inherited from - -[Provider](Provider.md).[fetch](Provider.md#fetch) - -#### Defined in - -[src/provider/rpc.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L131) - ---- - -### getChainId - -▸ **getChainId**(): `Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -Gets the Starknet chain Id - -#### Returns - -`Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -the chain Id - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getChainId](AccountInterface.md#getchainid) - -#### Inherited from - -[Provider](Provider.md).[getChainId](Provider.md#getchainid) - -#### Defined in - -[src/provider/rpc.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L135) - ---- - -### readSpecVersion - -▸ **readSpecVersion**(): `undefined` \| `"0.7.1"` \| `"0.8.1"` - -read channel spec version - -#### Returns - -`undefined` \| `"0.7.1"` \| `"0.8.1"` - -#### Inherited from - -[Provider](Provider.md).[readSpecVersion](Provider.md#readspecversion) - -#### Defined in - -[src/provider/rpc.ts:142](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L142) - ---- - -### getSpecVersion - -▸ **getSpecVersion**(): `Promise`<`string`\> - -get channel spec version - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -[Provider](Provider.md).[getSpecVersion](Provider.md#getspecversion) - -#### Defined in - -[src/provider/rpc.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L149) - ---- - -### setUpSpecVersion - -▸ **setUpSpecVersion**(): `Promise`<`"0.7.1"` \| `"0.8.1"`\> - -setup channel spec version and return it - -#### Returns - -`Promise`<`"0.7.1"` \| `"0.8.1"`\> - -#### Inherited from - -[Provider](Provider.md).[setUpSpecVersion](Provider.md#setupspecversion) - -#### Defined in - -[src/provider/rpc.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L156) - ---- - -### getNonceForAddress - -▸ **getNonceForAddress**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -Returns the nonce associated with the given address in the given block - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | contract address | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - | - -#### Returns - -`Promise`<`string`\> - -the hex nonce - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getNonceForAddress](AccountInterface.md#getnonceforaddress) - -#### Inherited from - -[Provider](Provider.md).[getNonceForAddress](Provider.md#getnonceforaddress) - -#### Defined in - -[src/provider/rpc.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L160) - ---- - -### getBlock - -▸ **getBlock**(): `Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -Gets the block information - -#### Returns - -`Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -the block object - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getBlock](AccountInterface.md#getblock) - -#### Inherited from - -[Provider](Provider.md).[getBlock](Provider.md#getblock) - -#### Defined in - -[src/provider/rpc.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L167) - -▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------- | -| `blockIdentifier` | `"pending"` | - -#### Returns - -`Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getBlock](AccountInterface.md#getblock) - -#### Inherited from - -[Provider](Provider.md).[getBlock](Provider.md#getblock) - -#### Defined in - -[src/provider/rpc.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L168) - -▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> - -#### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `blockIdentifier` | `"latest"` | - -#### Returns - -`Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getBlock](AccountInterface.md#getblock) - -#### Inherited from - -[Provider](Provider.md).[getBlock](Provider.md#getblock) - -#### Defined in - -[src/provider/rpc.ts:169](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L169) - -▸ **getBlock**(`blockIdentifier?`): `Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> - -#### Implementation of - -AccountInterface.getBlock - -#### Inherited from - -[Provider](Provider.md).[getBlock](Provider.md#getblock) - -#### Defined in - -[src/provider/rpc.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L170) - ---- - -### getBlockLatestAccepted - -▸ **getBlockLatestAccepted**(): `Promise`<[`BlockHashAndNumber`](../namespaces/types.RPC.RPCSPEC07.API.md#blockhashandnumber)\> - -Get the most recent accepted block hash and number - -#### Returns - -`Promise`<[`BlockHashAndNumber`](../namespaces/types.RPC.RPCSPEC07.API.md#blockhashandnumber)\> - -#### Inherited from - -[Provider](Provider.md).[getBlockLatestAccepted](Provider.md#getblocklatestaccepted) - -#### Defined in - -[src/provider/rpc.ts:180](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L180) - ---- - -### getBlockNumber - -▸ **getBlockNumber**(): `Promise`<`number`\> - -Get the most recent accepted block number -redundant use getBlockLatestAccepted(); - -#### Returns - -`Promise`<`number`\> - -Number of the latest block - -#### Inherited from - -[Provider](Provider.md).[getBlockNumber](Provider.md#getblocknumber) - -#### Defined in - -[src/provider/rpc.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L189) - ---- - -### getBlockWithTxHashes - -▸ **getBlockWithTxHashes**(`blockIdentifier?`): `Promise`<[`BlockWithTxHashes`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxhashes)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockWithTxHashes`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxhashes)\> - -#### Inherited from - -[Provider](Provider.md).[getBlockWithTxHashes](Provider.md#getblockwithtxhashes) - -#### Defined in - -[src/provider/rpc.ts:193](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L193) - ---- - -### getBlockWithTxs - -▸ **getBlockWithTxs**(`blockIdentifier?`): `Promise`<[`BlockWithTxs`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxs)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockWithTxs`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxs)\> - -#### Inherited from - -[Provider](Provider.md).[getBlockWithTxs](Provider.md#getblockwithtxs) - -#### Defined in - -[src/provider/rpc.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L197) - ---- - -### waitForBlock - -▸ **waitForBlock**(`blockIdentifier?`, `retryInterval?`): `Promise`<`void`\> - -Pause the execution of the script until a specified block is created. - -#### Parameters - -| Name | Type | Default value | Description | -| :---------------- | :---------------------------------------------------------- | :------------ | :------------------------------------------------------------------------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | `'pending'` | bloc number (BigNumberish) or 'pending' or 'latest'. Use of 'latest" or of a block already created will generate no pause. | -| `retryInterval?` | `number` | `5000` | number of milliseconds between 2 requests to the node | - -#### Returns - -`Promise`<`void`\> - -**`Example`** - -```typescript -await myProvider.waitForBlock(); -// wait the creation of the pending block -``` - -#### Inherited from - -[Provider](Provider.md).[waitForBlock](Provider.md#waitforblock) - -#### Defined in - -[src/provider/rpc.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L212) - ---- - -### getL1GasPrice - -▸ **getL1GasPrice**(`blockIdentifier?`): `Promise`<`string`\> - -Gets the price of l1 gas in the block - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`\> - -gas price of the block - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getL1GasPrice](AccountInterface.md#getl1gasprice) - -#### Inherited from - -[Provider](Provider.md).[getL1GasPrice](Provider.md#getl1gasprice) - -#### Defined in - -[src/provider/rpc.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L242) - ---- - -### getL1MessageHash - -▸ **getL1MessageHash**(`l2TxHash`): `Promise`<`string`\> - -Get L1 message hash from L2 transaction hash - -#### Parameters - -| Name | Type | Description | -| :--------- | :---------------------------------------------------- | :------------------ | -| `l2TxHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | L2 transaction hash | - -#### Returns - -`Promise`<`string`\> - -Hex string of L1 message hash - -**`Example`** - -In Sepolia Testnet : - -```typescript -const result = provider.getL1MessageHash( - '0x28dfc05eb4f261b37ddad451ff22f1d08d4e3c24dc646af0ec69fa20e096819' -); -// result = '0x55b3f8b6e607fffd9b4d843dfe8f9b5c05822cd94fcad8797deb01d77805532a' -``` - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getL1MessageHash](AccountInterface.md#getl1messagehash) - -#### Inherited from - -[Provider](Provider.md).[getL1MessageHash](Provider.md#getl1messagehash) - -#### Defined in - -[src/provider/rpc.ts:248](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L248) - ---- - -### getBlockWithReceipts - -▸ **getBlockWithReceipts**(`blockIdentifier?`): `Promise`<`OnlyFirst`<[`BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| `OnlyFirst`<[`PENDING_BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| [`BlockWithTxReceipts`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxreceipts)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`OnlyFirst`<[`BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| `OnlyFirst`<[`PENDING_BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| [`BlockWithTxReceipts`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxreceipts)\> - -#### Inherited from - -[Provider](Provider.md).[getBlockWithReceipts](Provider.md#getblockwithreceipts) - -#### Defined in - -[src/provider/rpc.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L264) - ---- - -### getBlockStateUpdate - -▸ **getBlockStateUpdate**(): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Returns - -`Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Inherited from - -[Provider](Provider.md).[getBlockStateUpdate](Provider.md#getblockstateupdate) - -#### Defined in - -[src/provider/rpc.ts:270](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L270) - -▸ **getBlockStateUpdate**(`blockIdentifier`): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------- | -| `blockIdentifier` | `"pending"` | - -#### Returns - -`Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Inherited from - -[Provider](Provider.md).[getBlockStateUpdate](Provider.md#getblockstateupdate) - -#### Defined in - -[src/provider/rpc.ts:271](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L271) - -▸ **getBlockStateUpdate**(`blockIdentifier`): `Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `blockIdentifier` | `"latest"` | - -#### Returns - -`Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Inherited from - -[Provider](Provider.md).[getBlockStateUpdate](Provider.md#getblockstateupdate) - -#### Defined in - -[src/provider/rpc.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L272) - -▸ **getBlockStateUpdate**(`blockIdentifier?`): `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -#### Inherited from - -[Provider](Provider.md).[getBlockStateUpdate](Provider.md#getblockstateupdate) - -#### Defined in - -[src/provider/rpc.ts:273](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L273) - ---- - -### getBlockTransactionsTraces - -▸ **getBlockTransactionsTraces**(`blockIdentifier?`): `Promise`<[`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC08.API.md#blocktransactionstraces) \| [`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC07.API.md#blocktransactionstraces)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC08.API.md#blocktransactionstraces) \| [`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC07.API.md#blocktransactionstraces)\> - -#### Inherited from - -[Provider](Provider.md).[getBlockTransactionsTraces](Provider.md#getblocktransactionstraces) - -#### Defined in - -[src/provider/rpc.ts:278](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L278) - ---- - -### getBlockTransactionCount - -▸ **getBlockTransactionCount**(`blockIdentifier?`): `Promise`<`number`\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`number`\> - -#### Inherited from - -[Provider](Provider.md).[getBlockTransactionCount](Provider.md#getblocktransactioncount) - -#### Defined in - -[src/provider/rpc.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L282) - ---- - -### getTransaction - -▸ **getTransaction**(`txHash`): `Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -Gets the transaction information from a tx id. - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -the transaction object { transaction_id, status, transaction, block_number?, block_number?, transaction_index?, transaction_failure_reason? } - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getTransaction](AccountInterface.md#gettransaction) - -#### Inherited from - -[Provider](Provider.md).[getTransaction](Provider.md#gettransaction) - -#### Defined in - -[src/provider/rpc.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L286) - ---- - -### getTransactionByHash - -▸ **getTransactionByHash**(`txHash`): `Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Inherited from - -[Provider](Provider.md).[getTransactionByHash](Provider.md#gettransactionbyhash) - -#### Defined in - -[src/provider/rpc.ts:290](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L290) - ---- - -### getTransactionByBlockIdAndIndex - -▸ **getTransactionByBlockIdAndIndex**(`blockIdentifier`, `index`): `Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | -| `index` | `number` | - -#### Returns - -`Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Inherited from - -[Provider](Provider.md).[getTransactionByBlockIdAndIndex](Provider.md#gettransactionbyblockidandindex) - -#### Defined in - -[src/provider/rpc.ts:294](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L294) - ---- - -### getTransactionReceipt - -▸ **getTransactionReceipt**(`txHash`): `Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -Gets the transaction receipt from a tx hash. - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -the transaction receipt object - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getTransactionReceipt](AccountInterface.md#gettransactionreceipt) - -#### Inherited from - -[Provider](Provider.md).[getTransactionReceipt](Provider.md#gettransactionreceipt) - -#### Defined in - -[src/provider/rpc.ts:298](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L298) - ---- - -### getTransactionTrace - -▸ **getTransactionTrace**(`txHash`): `Promise`<[`TRANSACTION_TRACE`](../namespaces/types.md#transaction_trace)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TRANSACTION_TRACE`](../namespaces/types.md#transaction_trace)\> - -#### Inherited from - -[Provider](Provider.md).[getTransactionTrace](Provider.md#gettransactiontrace) - -#### Defined in - -[src/provider/rpc.ts:305](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L305) - ---- - -### getTransactionStatus - -▸ **getTransactionStatus**(`transactionHash`): `Promise`<[`TransactionStatus`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionstatus)\> - -Get the status of a transaction - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------- | -| `transactionHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TransactionStatus`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionstatus)\> - -#### Inherited from - -[Provider](Provider.md).[getTransactionStatus](Provider.md#gettransactionstatus) - -#### Defined in - -[src/provider/rpc.ts:312](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L312) - ---- - -### getSimulateTransaction - -▸ **getSimulateTransaction**(`invocations`, `options?`): `Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -#### Parameters - -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | AccountInvocations | -| `options?` | [`getSimulateTransactionOptions`](../namespaces/types.md#getsimulatetransactionoptions) | blockIdentifier and flags to skip validation and fee charge
- blockIdentifier
- skipValidate (default false)
- skipFeeCharge (default true)
| - -#### Returns - -`Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getSimulateTransaction](AccountInterface.md#getsimulatetransaction) - -#### Inherited from - -[Provider](Provider.md).[getSimulateTransaction](Provider.md#getsimulatetransaction) - -#### Defined in - -[src/provider/rpc.ts:323](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L323) - ---- - -### waitForTransaction - -▸ **waitForTransaction**(`txHash`, `options?`): `Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -Wait for the transaction to be accepted - -#### Parameters - -| Name | Type | Description | -| :--------- | :------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | transaction hash | -| `options?` | [`waitForTransactionOptions`](../namespaces/types.md#waitfortransactionoptions) | waitForTransactionOptions - (optional) retryInterval: number \| undefined; - (optional) successStates: TransactionStatus[] \| undefined; | - -#### Returns - -`Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -GetTransactionReceiptResponse - -#### Implementation of - -[AccountInterface](AccountInterface.md).[waitForTransaction](AccountInterface.md#waitfortransaction) - -#### Inherited from - -[Provider](Provider.md).[waitForTransaction](Provider.md#waitfortransaction) - -#### Defined in - -[src/provider/rpc.ts:333](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L333) - ---- - -### getStorageAt - -▸ **getStorageAt**(`contractAddress`, `key`, `blockIdentifier?`): `Promise`<`string`\> - -Get the value of the storage (contract's variable) at the given address and key - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | | -| `key` | [`BigNumberish`](../namespaces/types.md#bignumberish) | from getStorageVarAddress('') (WIP) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`\> - -the value of the storage variable - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getStorageAt](AccountInterface.md#getstorageat) - -#### Inherited from - -[Provider](Provider.md).[getStorageAt](Provider.md#getstorageat) - -#### Defined in - -[src/provider/rpc.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L345) - ---- - -### getClassHashAt - -▸ **getClassHashAt**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -Returns the contract class hash in the given block for the contract deployed at the given address - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | contract address | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`\> - -Class hash - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getClassHashAt](AccountInterface.md#getclasshashat) - -#### Inherited from - -[Provider](Provider.md).[getClassHashAt](Provider.md#getclasshashat) - -#### Defined in - -[src/provider/rpc.ts:353](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L353) - ---- - -### getClassByHash - -▸ **getClassByHash**(`classHash`): `Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -Returns the contract class deployed under the given class hash. - -#### Parameters - -| Name | Type | Description | -| :---------- | :---------------------------------------------------- | :---------- | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | class hash | - -#### Returns - -`Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -Contract class of compiled contract - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getClassByHash](AccountInterface.md#getclassbyhash) - -#### Inherited from - -[Provider](Provider.md).[getClassByHash](Provider.md#getclassbyhash) - -#### Defined in - -[src/provider/rpc.ts:357](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L357) - ---- - -### getClass - -▸ **getClass**(`classHash`, `blockIdentifier?`): `Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -#### Inherited from - -[Provider](Provider.md).[getClass](Provider.md#getclass) - -#### Defined in - -[src/provider/rpc.ts:361](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L361) - ---- - -### getClassAt - -▸ **getClassAt**(`contractAddress`, `blockIdentifier?`): `Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -Gets the contract class of the deployed contract. - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | contract address | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -Contract class of compiled contract - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getClassAt](AccountInterface.md#getclassat) - -#### Inherited from - -[Provider](Provider.md).[getClassAt](Provider.md#getclassat) - -#### Defined in - -[src/provider/rpc.ts:367](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L367) - ---- - -### getContractVersion - -▸ **getContractVersion**(`contractAddress`, `classHash?`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -Gets the contract version from the provided address - -#### Parameters - -| Name | Type | Description | -| :---------------- | :------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | string | -| `classHash?` | `undefined` | undefined | -| `options?` | [`getContractVersionOptions`](../namespaces/types.md#getcontractversionoptions) | getContractVersionOptions - (optional) compiler - (default true) extract compiler version using type tactic from abi - (optional) blockIdentifier - block identifier | - -#### Returns - -`Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getContractVersion](AccountInterface.md#getcontractversion) - -#### Inherited from - -[Provider](Provider.md).[getContractVersion](Provider.md#getcontractversion) - -#### Defined in - -[src/provider/rpc.ts:373](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L373) - -▸ **getContractVersion**(`contractAddress`, `classHash`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -Gets the contract version from the provided address - -#### Parameters - -| Name | Type | Description | -| :---------------- | :------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractAddress` | `undefined` | undefined | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | | -| `options?` | [`getContractVersionOptions`](../namespaces/types.md#getcontractversionoptions) | getContractVersionOptions - (optional) compiler - (default true) extract compiler version using type tactic from abi - (optional) blockIdentifier - block identifier | - -#### Returns - -`Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getContractVersion](AccountInterface.md#getcontractversion) - -#### Inherited from - -[Provider](Provider.md).[getContractVersion](Provider.md#getcontractversion) - -#### Defined in - -[src/provider/rpc.ts:378](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L378) - ---- - -### getInvokeEstimateFee - -▸ **getInvokeEstimateFee**(`invocation`, `invocationDetails`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates the fee for a given INVOKE transaction - -#### Parameters - -| Name | Type | Description | -| :------------------ | :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocation` | [`Invocation`](../namespaces/types.md#invocation) | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature | -| `invocationDetails` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - optional nonce - version - optional version | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | (optional) block identifier | -| `skipValidate?` | `boolean` | (optional) skip cairo **validate** method | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -the estimated fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getInvokeEstimateFee](AccountInterface.md#getinvokeestimatefee) - -#### Inherited from - -[Provider](Provider.md).[getInvokeEstimateFee](Provider.md#getinvokeestimatefee) - -#### Defined in - -[src/provider/rpc.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L411) - ---- - -### getDeclareEstimateFee - -▸ **getDeclareEstimateFee**(`invocation`, `details`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates the fee for a given DECLARE transaction - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ | -| `invocation` | [`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction) | transaction payload to be declared containing: - compiled contract code - sender address - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - version - optional version - optional maxFee | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | (optional) block identifier | -| `skipValidate?` | `boolean` | (optional) skip cairo **validate** method | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -the estimated fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getDeclareEstimateFee](AccountInterface.md#getdeclareestimatefee) - -#### Inherited from - -[Provider](Provider.md).[getDeclareEstimateFee](Provider.md#getdeclareestimatefee) - -#### Defined in - -[src/provider/rpc.ts:431](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L431) - ---- - -### getDeployAccountEstimateFee - -▸ **getDeployAccountEstimateFee**(`invocation`, `details`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates the fee for a given DEPLOY_ACCOUNT transaction - -#### Parameters - -| Name | Type | Description | -| :----------------- | :-------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ | -| `invocation` | [`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction) | transaction payload to be deployed containing: - classHash - constructorCalldata - addressSalt - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - version - optional version - optional maxFee | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | (optional) block identifier | -| `skipValidate?` | `boolean` | (optional) skip cairo **validate** method | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -the estimated fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getDeployAccountEstimateFee](AccountInterface.md#getdeployaccountestimatefee) - -#### Inherited from - -[Provider](Provider.md).[getDeployAccountEstimateFee](Provider.md#getdeployaccountestimatefee) - -#### Defined in - -[src/provider/rpc.ts:451](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L451) - ---- - -### getEstimateFeeBulk - -▸ **getEstimateFeeBulk**(`invocations`, `options`): `Promise`<[`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk)\> - -Estimates the fee for a list of INVOKE transaction - -#### Parameters - -| Name | Type | Description | -| :------------ | :------------------------------------------------------------------------------ | :----------------------------------------------------------------------- | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | AccountInvocations - Complete invocations array with account details | -| `options` | [`getEstimateFeeBulkOptions`](../namespaces/types.md#getestimatefeebulkoptions) | getEstimateFeeBulkOptions - (optional) blockIdentifier - BlockIdentifier | - -#### Returns - -`Promise`<[`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk)\> - -the estimated fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getEstimateFeeBulk](AccountInterface.md#getestimatefeebulk) - -#### Inherited from - -[Provider](Provider.md).[getEstimateFeeBulk](Provider.md#getestimatefeebulk) - -#### Defined in - -[src/provider/rpc.ts:471](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L471) - ---- - -### invokeFunction - -▸ **invokeFunction**(`functionInvocation`, `details`): `Promise`<\{ `transaction_hash`: `string` }\> - -Invokes a function on starknet - -#### Parameters - -| Name | Type | Description | -| :------------------- | :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `functionInvocation` | [`Invocation`](../namespaces/types.md#invocation) | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - optional nonce - version - optional version - maxFee - optional maxFee | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -response from addTransaction - -#### Implementation of - -[AccountInterface](AccountInterface.md).[invokeFunction](AccountInterface.md#invokefunction) - -#### Inherited from - -[Provider](Provider.md).[invokeFunction](Provider.md#invokefunction) - -#### Defined in - -[src/provider/rpc.ts:480](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L480) - ---- - -### declareContract - -▸ **declareContract**(`transaction`, `details`): `Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -Declares a given compiled contract (json) to starknet - -#### Parameters - -| Name | Type | Description | -| :------------ | :---------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- | -| `transaction` | [`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction) | transaction payload to be deployed containing: - compiled contract code - sender address - signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | Invocation Details containing: - nonce - optional version - optional maxFee | - -#### Returns - -`Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -a confirmation of sending a transaction on the starknet contract - -#### Implementation of - -[AccountInterface](AccountInterface.md).[declareContract](AccountInterface.md#declarecontract) - -#### Inherited from - -[Provider](Provider.md).[declareContract](Provider.md#declarecontract) - -#### Defined in - -[src/provider/rpc.ts:487](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L487) - ---- - -### deployAccountContract - -▸ **deployAccountContract**(`transaction`, `details`): `Promise`<\{ `contract_address`: `string` ; `transaction_hash`: `string` }\> - -Deploys a given compiled Account contract (json) to starknet - -#### Parameters - -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ | -| `transaction` | [`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction) | payload to be deployed containing: - compiled contract code - constructor calldata - address salt | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | - | - -#### Returns - -`Promise`<\{ `contract_address`: `string` ; `transaction_hash`: `string` }\> - -a confirmation of sending a transaction on the starknet contract - -#### Implementation of - -[AccountInterface](AccountInterface.md).[deployAccountContract](AccountInterface.md#deployaccountcontract) - -#### Inherited from - -[Provider](Provider.md).[deployAccountContract](Provider.md#deployaccountcontract) - -#### Defined in - -[src/provider/rpc.ts:494](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L494) - ---- - -### callContract - -▸ **callContract**(`call`, `blockIdentifier?`): `Promise`<`string`[]\> - -Calls a function on the Starknet contract. - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :----------------------- | -| `call` | [`Call`](../namespaces/types.md#call) | transaction to be called | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`[]\> - -the result of the function on the smart contract. - -#### Implementation of - -[AccountInterface](AccountInterface.md).[callContract](AccountInterface.md#callcontract) - -#### Inherited from - -[Provider](Provider.md).[callContract](Provider.md#callcontract) - -#### Defined in - -[src/provider/rpc.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L501) - ---- - -### estimateMessageFee - -▸ **estimateMessageFee**(`message`, `blockIdentifier?`): `Promise`<\{ `unit`: `"WEI"` \| `"FRI"` ; `overall_fee`: `string` \| `number` ; `l1_gas_price`: `undefined` \| `number` ; `l2_gas_price`: `undefined` \| `number` ; `l1_data_gas_price`: `undefined` \| `number` ; `l1_gas_consumed`: `undefined` \| `number` ; `l2_gas_consumed`: `undefined` \| `number` ; `l1_data_gas_consumed`: `undefined` \| `number` ; `gas_consumed`: `undefined` \| `string` ; `gas_price`: `undefined` \| `string` ; `data_gas_consumed`: `undefined` \| `string` ; `data_gas_price`: `undefined` \| `string` }\> - -NEW: Estimate the fee for a message from L1 - -#### Parameters - -| Name | Type | Description | -| :----------------------------- | :---------------------------------------------------------- | :-------------- | -| `message` | `Object` | Message From L1 | -| `message.entry_point_selector` | `string` | - | -| `message.from_address` | `string` | - | -| `message.to_address` | `string` | - | -| `message.payload` | `string`[] | - | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - | - -#### Returns - -`Promise`<\{ `unit`: `"WEI"` \| `"FRI"` ; `overall_fee`: `string` \| `number` ; `l1_gas_price`: `undefined` \| `number` ; `l2_gas_price`: `undefined` \| `number` ; `l1_data_gas_price`: `undefined` \| `number` ; `l1_gas_consumed`: `undefined` \| `number` ; `l2_gas_consumed`: `undefined` \| `number` ; `l1_data_gas_consumed`: `undefined` \| `number` ; `gas_consumed`: `undefined` \| `string` ; `gas_price`: `undefined` \| `string` ; `data_gas_consumed`: `undefined` \| `string` ; `data_gas_price`: `undefined` \| `string` }\> - -#### Inherited from - -[Provider](Provider.md).[estimateMessageFee](Provider.md#estimatemessagefee) - -#### Defined in - -[src/provider/rpc.ts:509](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L509) - ---- - -### getSyncingStats - -▸ **getSyncingStats**(): `Promise`<[`Syncing`](../namespaces/types.RPC.RPCSPEC07.API.md#syncing)\> - -Returns an object about the sync status, or false if the node is not synching - -#### Returns - -`Promise`<[`Syncing`](../namespaces/types.RPC.RPCSPEC07.API.md#syncing)\> - -Object with the stats data - -#### Inherited from - -[Provider](Provider.md).[getSyncingStats](Provider.md#getsyncingstats) - -#### Defined in - -[src/provider/rpc.ts:520](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L520) - ---- - -### getEvents - -▸ **getEvents**(`eventFilter`): `Promise`<\{ `events`: \{ keys: string[]; data: string[]; block_number: number; block_hash: string; transaction_hash: string; from_address: string; }[] ; `continuation_token`: `undefined` \| `string` }\> - -Returns all events matching the given filter - -#### Parameters - -| Name | Type | -| :------------ | :-------------------------------------------------------------------- | -| `eventFilter` | [`EventFilter`](../namespaces/types.RPC.RPCSPEC08.API.md#eventfilter) | - -#### Returns - -`Promise`<\{ `events`: \{ keys: string[]; data: string[]; block_number: number; block_hash: string; transaction_hash: string; from_address: string; }[] ; `continuation_token`: `undefined` \| `string` }\> - -events and the pagination of the events - -#### Inherited from - -[Provider](Provider.md).[getEvents](Provider.md#getevents) - -#### Defined in - -[src/provider/rpc.ts:528](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L528) - ---- - -### verifyMessageInStarknet - -▸ **verifyMessageInStarknet**(`message`, `signature`, `accountAddress`, `signatureVerificationFunctionName?`, `signatureVerificationResponse?`): `Promise`<`boolean`\> - -Verify in Starknet a signature of a TypedData object or of a given hash. - -#### Parameters - -| Name | Type | Description | -| :------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------ | -| `message` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) \| [`BigNumberish`](../namespaces/types.md#bignumberish) | TypedData object to be verified, or message hash to be verified. | -| `signature` | [`Signature`](../namespaces/types.md#signature) | signature of the message. | -| `accountAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | address of the account that has signed the message. | -| `signatureVerificationFunctionName?` | `string` | if account contract with non standard account verification function name. | -| `signatureVerificationResponse?` | `Object` | if account contract with non standard response of verification function. | -| `signatureVerificationResponse.okResponse` | `string`[] | - | -| `signatureVerificationResponse.nokResponse` | `string`[] | - | -| `signatureVerificationResponse.error` | `string`[] | - | - -#### Returns - -`Promise`<`boolean`\> - -```typescript -const myTypedMessage: TypedMessage = .... ; -const messageHash = typedData.getMessageHash(myTypedMessage,accountAddress); -const sign: WeierstrassSignatureType = ec.starkCurve.sign(messageHash, privateKey); -const accountAddress = "0x43b7240d227aa2fb8434350b3321c40ac1b88c7067982549e7609870621b535"; -const result1 = myRpcProvider.verifyMessageInStarknet(myTypedMessage, sign, accountAddress); -const result2 = myRpcProvider.verifyMessageInStarknet(messageHash, sign, accountAddress); -// result1 = result2 = true -``` - -#### Inherited from - -[Provider](Provider.md).[verifyMessageInStarknet](Provider.md#verifymessageinstarknet) - -#### Defined in - -[src/provider/rpc.ts:550](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L550) - ---- - -### isClassDeclared - -▸ **isClassDeclared**(`contractClassIdentifier`, `blockIdentifier?`): `Promise`<`boolean`\> - -Test if class is already declared from ContractClassIdentifier -Helper method using getClass - -#### Parameters - -| Name | Type | -| :------------------------ | :-------------------------------------------------------------------------- | -| `contractClassIdentifier` | [`ContractClassIdentifier`](../namespaces/types.md#contractclassidentifier) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`boolean`\> - -#### Inherited from - -[Provider](Provider.md).[isClassDeclared](Provider.md#isclassdeclared) - -#### Defined in - -[src/provider/rpc.ts:636](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L636) - ---- - -### prepareInvocations - -▸ **prepareInvocations**(`invocations`): `Promise`<[`Invocations`](../namespaces/types.md#invocations)\> - -Build bulk invocations with auto-detect declared class - -1. Test if class is declared if not declare it preventing already declared class error and not declared class errors -2. Order declarations first - -#### Parameters - -| Name | Type | -| :------------ | :-------------------------------------------------- | -| `invocations` | [`Invocations`](../namespaces/types.md#invocations) | - -#### Returns - -`Promise`<[`Invocations`](../namespaces/types.md#invocations)\> - -#### Inherited from - -[Provider](Provider.md).[prepareInvocations](Provider.md#prepareinvocations) - -#### Defined in - -[src/provider/rpc.ts:667](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L667) - ---- - -### getL1MessagesStatus - -▸ **getL1MessagesStatus**(`transactionHash`): `Promise`<[`L1L2MessagesStatus`](../namespaces/types.RPC.RPCSPEC08.API.md#l1l2messagesstatus)\> - -Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses for all L1 -> L2 messages sent by the l1 transaction, ordered by the l1 tx sending order - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------- | -| `transactionHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`L1L2MessagesStatus`](../namespaces/types.RPC.RPCSPEC08.API.md#l1l2messagesstatus)\> - -#### Inherited from - -[Provider](Provider.md).[getL1MessagesStatus](Provider.md#getl1messagesstatus) - -#### Defined in - -[src/provider/rpc.ts:691](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L691) - ---- - -### getStorageProof - -▸ **getStorageProof**(`classHashes`, `contractAddresses`, `contractsStorageKeys`, `blockIdentifier?`): `Promise`<[`StorageProof`](../namespaces/types.RPC.RPCSPEC08.API.md#storageproof)\> - -Get merkle paths in one of the state tries: global state, classes, individual contract - -#### Parameters - -| Name | Type | -| :--------------------- | :------------------------------------------------------------------------------------------ | -| `classHashes` | [`BigNumberish`](../namespaces/types.md#bignumberish)[] | -| `contractAddresses` | [`BigNumberish`](../namespaces/types.md#bignumberish)[] | -| `contractsStorageKeys` | [`CONTRACT_STORAGE_KEYS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_storage_keys)[] | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`StorageProof`](../namespaces/types.RPC.RPCSPEC08.API.md#storageproof)\> - -#### Inherited from - -[Provider](Provider.md).[getStorageProof](Provider.md#getstorageproof) - -#### Defined in - -[src/provider/rpc.ts:702](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L702) - ---- - -### getCompiledCasm - -▸ **getCompiledCasm**(`classHash`): `Promise`<[`CASM_COMPILED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#casm_compiled_contract_class)\> - -Get the contract class definition in the given block associated with the given hash - -#### Parameters - -| Name | Type | -| :---------- | :---------------------------------------------------- | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`CASM_COMPILED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#casm_compiled_contract_class)\> - -#### Inherited from - -[Provider](Provider.md).[getCompiledCasm](Provider.md#getcompiledcasm) - -#### Defined in - -[src/provider/rpc.ts:723](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L723) - ---- - -### getAddressFromStarkName - -▸ **getAddressFromStarkName**(`name`, `StarknetIdContract?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :-------------------- | :------- | -| `name` | `string` | -| `StarknetIdContract?` | `string` | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -[Provider](Provider.md).[getAddressFromStarkName](Provider.md#getaddressfromstarkname-1) - -#### Defined in - -[src/provider/extensions/starknetId.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L31) - ---- - -### getStarkProfile - -▸ **getStarkProfile**(`address`, `StarknetIdContract?`, `StarknetIdIdentityContract?`, `StarknetIdVerifierContract?`, `StarknetIdPfpContract?`, `StarknetIdPopContract?`, `StarknetIdMulticallContract?`): `Promise`<[`StarkProfile`](../namespaces/types.md#starkprofile)\> - -#### Parameters - -| Name | Type | -| :----------------------------- | :---------------------------------------------------- | -| `address` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `StarknetIdContract?` | `string` | -| `StarknetIdIdentityContract?` | `string` | -| `StarknetIdVerifierContract?` | `string` | -| `StarknetIdPfpContract?` | `string` | -| `StarknetIdPopContract?` | `string` | -| `StarknetIdMulticallContract?` | `string` | - -#### Returns - -`Promise`<[`StarkProfile`](../namespaces/types.md#starkprofile)\> - -#### Inherited from - -[Provider](Provider.md).[getStarkProfile](Provider.md#getstarkprofile-1) - -#### Defined in - -[src/provider/extensions/starknetId.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L40) diff --git a/www/versioned_docs/version-7.5.1/API/classes/CairoOption.md b/www/versioned_docs/version-7.5.1/API/classes/CairoOption.md deleted file mode 100644 index 5b62b43d4..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/CairoOption.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -id: 'CairoOption' -title: 'Class: CairoOption' -sidebar_label: 'CairoOption' -sidebar_position: 0 -custom_edit_url: null ---- - -Class to handle Cairo Option - -**`Param`** - -CairoOptionVariant.Some or CairoOptionVariant.None - -**`Param`** - -value of type T. - -**`Example`** - -```typescript -const myOption = new CairoOption(CairoOptionVariant.Some, '0x54dda8'); -``` - -## Type parameters - -| Name | -| :--- | -| `T` | - -## Constructors - -### constructor - -• **new CairoOption**<`T`\>(`variant`, `content?`): [`CairoOption`](CairoOption.md)<`T`\> - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Parameters - -| Name | Type | -| :--------- | :------- | -| `variant` | `number` | -| `content?` | `T` | - -#### Returns - -[`CairoOption`](CairoOption.md)<`T`\> - -#### Defined in - -[src/utils/calldata/enum/CairoOption.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoOption.ts#L26) - -## Properties - -### Some - -• `Optional` `Readonly` **Some**: `T` - -#### Defined in - -[src/utils/calldata/enum/CairoOption.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoOption.ts#L22) - ---- - -### None - -• `Optional` `Readonly` **None**: `boolean` - -#### Defined in - -[src/utils/calldata/enum/CairoOption.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoOption.ts#L24) - -## Methods - -### unwrap - -▸ **unwrap**(): `undefined` \| `T` - -#### Returns - -`undefined` \| `T` - -the content of the valid variant of a Cairo custom Enum. -If None, returns 'undefined'. - -#### Defined in - -[src/utils/calldata/enum/CairoOption.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoOption.ts#L49) - ---- - -### isSome - -▸ **isSome**(): `boolean` - -#### Returns - -`boolean` - -true if the valid variant is 'isSome'. - -#### Defined in - -[src/utils/calldata/enum/CairoOption.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoOption.ts#L57) - ---- - -### isNone - -▸ **isNone**(): `boolean` - -#### Returns - -`boolean` - -true if the valid variant is 'isNone'. - -#### Defined in - -[src/utils/calldata/enum/CairoOption.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoOption.ts#L65) diff --git a/www/versioned_docs/version-7.5.1/API/classes/CairoResult.md b/www/versioned_docs/version-7.5.1/API/classes/CairoResult.md deleted file mode 100644 index bc953cff4..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/CairoResult.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -id: 'CairoResult' -title: 'Class: CairoResult' -sidebar_label: 'CairoResult' -sidebar_position: 0 -custom_edit_url: null ---- - -Class to handle Cairo Result - -**`Param`** - -CairoResultVariant.Ok or CairoResultVariant.Err - -**`Param`** - -value of type T or U. - -**`Example`** - -```typescript -const myOption = new CairoResult(CairoResultVariant.Ok, '0x54dda8'); -``` - -## Type parameters - -| Name | -| :--- | -| `T` | -| `U` | - -## Constructors - -### constructor - -• **new CairoResult**<`T`, `U`\>(`variant`, `resultContent`): [`CairoResult`](CairoResult.md)<`T`, `U`\> - -#### Type parameters - -| Name | -| :--- | -| `T` | -| `U` | - -#### Parameters - -| Name | Type | -| :-------------- | :--------- | -| `variant` | `number` | -| `resultContent` | `T` \| `U` | - -#### Returns - -[`CairoResult`](CairoResult.md)<`T`, `U`\> - -#### Defined in - -[src/utils/calldata/enum/CairoResult.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoResult.ts#L26) - -## Properties - -### Ok - -• `Optional` `Readonly` **Ok**: `T` - -#### Defined in - -[src/utils/calldata/enum/CairoResult.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoResult.ts#L22) - ---- - -### Err - -• `Optional` `Readonly` **Err**: `U` - -#### Defined in - -[src/utils/calldata/enum/CairoResult.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoResult.ts#L24) - -## Methods - -### unwrap - -▸ **unwrap**(): `T` \| `U` - -#### Returns - -`T` \| `U` - -the content of the valid variant of a Cairo Result. - -#### Defined in - -[src/utils/calldata/enum/CairoResult.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoResult.ts#L43) - ---- - -### isOk - -▸ **isOk**(): `boolean` - -#### Returns - -`boolean` - -true if the valid variant is 'Ok'. - -#### Defined in - -[src/utils/calldata/enum/CairoResult.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoResult.ts#L57) - ---- - -### isErr - -▸ **isErr**(): `boolean` - -#### Returns - -`boolean` - -true if the valid variant is 'isErr'. - -#### Defined in - -[src/utils/calldata/enum/CairoResult.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoResult.ts#L65) diff --git a/www/versioned_docs/version-7.5.1/API/classes/CallData.md b/www/versioned_docs/version-7.5.1/API/classes/CallData.md deleted file mode 100644 index a15f0e818..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/CallData.md +++ /dev/null @@ -1,331 +0,0 @@ ---- -id: 'CallData' -title: 'Class: CallData' -sidebar_label: 'CallData' -sidebar_position: 0 -custom_edit_url: null ---- - -## Constructors - -### constructor - -• **new CallData**(`abi`): [`CallData`](CallData.md) - -#### Parameters - -| Name | Type | -| :---- | :---------------------------------- | -| `abi` | [`Abi`](../namespaces/types.md#abi) | - -#### Returns - -[`CallData`](CallData.md) - -#### Defined in - -[src/utils/calldata/index.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L52) - -## Properties - -### abi - -• **abi**: [`Abi`](../namespaces/types.md#abi) - -#### Defined in - -[src/utils/calldata/index.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L44) - ---- - -### parser - -• **parser**: `AbiParserInterface` - -#### Defined in - -[src/utils/calldata/index.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L46) - ---- - -### structs - -• `Protected` `Readonly` **structs**: [`AbiStructs`](../namespaces/types.md#abistructs) - -#### Defined in - -[src/utils/calldata/index.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L48) - ---- - -### enums - -• `Protected` `Readonly` **enums**: [`AbiEnums`](../namespaces/types.md#abienums) - -#### Defined in - -[src/utils/calldata/index.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L50) - -## Methods - -### compile - -▸ **compile**(`rawArgs`): [`Calldata`](../namespaces/types.md#calldata) - -Compile contract callData without abi - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------ | :--------------------------------------------------------------------------- | -| `rawArgs` | [`RawArgs`](../namespaces/types.md#rawargs) | RawArgs representing cairo method arguments or string array of compiled data | - -#### Returns - -[`Calldata`](../namespaces/types.md#calldata) - -Calldata - -#### Defined in - -[src/utils/calldata/index.ts:165](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L165) - ---- - -### getAbiStruct - -▸ **getAbiStruct**(`abi`): [`AbiStructs`](../namespaces/types.md#abistructs) - -Helper to extract structs from abi - -#### Parameters - -| Name | Type | Description | -| :---- | :---------------------------------- | :---------- | -| `abi` | [`Abi`](../namespaces/types.md#abi) | Abi | - -#### Returns - -[`AbiStructs`](../namespaces/types.md#abistructs) - -AbiStructs - structs from abi - -#### Defined in - -[src/utils/calldata/index.ts:283](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L283) - ---- - -### getAbiEnum - -▸ **getAbiEnum**(`abi`): [`AbiEnums`](../namespaces/types.md#abienums) - -Helper to extract enums from abi - -#### Parameters - -| Name | Type | Description | -| :---- | :---------------------------------- | :---------- | -| `abi` | [`Abi`](../namespaces/types.md#abi) | Abi | - -#### Returns - -[`AbiEnums`](../namespaces/types.md#abienums) - -AbiEnums - enums from abi - -#### Defined in - -[src/utils/calldata/index.ts:300](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L300) - ---- - -### toCalldata - -▸ **toCalldata**(`rawCalldata?`): [`Calldata`](../namespaces/types.md#calldata) - -Helper: Compile HexCalldata | RawCalldata | RawArgs - -#### Parameters - -| Name | Type | Default value | Description | -| :------------ | :------------------------------------------ | :------------ | :------------------------------------ | -| `rawCalldata` | [`RawArgs`](../namespaces/types.md#rawargs) | `[]` | HexCalldata \| RawCalldata \| RawArgs | - -#### Returns - -[`Calldata`](../namespaces/types.md#calldata) - -Calldata - -#### Defined in - -[src/utils/calldata/index.ts:319](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L319) - ---- - -### toHex - -▸ **toHex**(`raw?`): [`HexCalldata`](../namespaces/types.md#hexcalldata) - -Helper: Convert raw to HexCalldata - -#### Parameters - -| Name | Type | Default value | Description | -| :---- | :------------------------------------------ | :------------ | :------------------------------------ | -| `raw` | [`RawArgs`](../namespaces/types.md#rawargs) | `[]` | HexCalldata \| RawCalldata \| RawArgs | - -#### Returns - -[`HexCalldata`](../namespaces/types.md#hexcalldata) - -HexCalldata - -#### Defined in - -[src/utils/calldata/index.ts:328](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L328) - ---- - -### validate - -▸ **validate**(`type`, `method`, `args?`): `void` - -Validate arguments passed to the method as corresponding to the ones in the abi - -#### Parameters - -| Name | Type | Default value | Description | -| :------- | :-------------------------------------------------------- | :------------ | :------------------------------------------------------- | -| `type` | `"DEPLOY"` \| `"INVOKE"` \| `"CALL"` | `undefined` | ValidateType - type of the method | -| `method` | `string` | `undefined` | string - name of the method | -| `args` | [`ArgsOrCalldata`](../namespaces/types.md#argsorcalldata) | `[]` | ArgsOrCalldata - arguments that are passed to the method | - -#### Returns - -`void` - -#### Defined in - -[src/utils/calldata/index.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L65) - ---- - -### compile - -▸ **compile**(`method`, `argsCalldata`): [`Calldata`](../namespaces/types.md#calldata) - -Compile contract callData with abi -Parse the calldata by using input fields from the abi for that method - -#### Parameters - -| Name | Type | Description | -| :------------- | :------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `method` | `string` | string - method name | -| `argsCalldata` | [`RawArgs`](../namespaces/types.md#rawargs) | RawArgs - arguments passed to the method. Can be an array of arguments (in the order of abi definition), or an object constructed in conformity with abi (in this case, the parameter can be in a wrong order). | - -#### Returns - -[`Calldata`](../namespaces/types.md#calldata) - -Calldata - parsed arguments in format that contract is expecting - -**`Example`** - -```typescript -const calldata = myCallData.compile('constructor', ['0x34a', [1, 3n]]); -``` - -```typescript -const calldata2 = myCallData.compile('constructor', { list: [1, 3n], balance: '0x34' }); // wrong order is valid -``` - -#### Defined in - -[src/utils/calldata/index.ts:118](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L118) - ---- - -### parse - -▸ **parse**(`method`, `response`): [`Result`](../namespaces/types.md#result) - -Parse elements of the response array and structuring them into response object - -#### Parameters - -| Name | Type | Description | -| :--------- | :--------- | :---------------------------------- | -| `method` | `string` | string - method name | -| `response` | `string`[] | string[] - response from the method | - -#### Returns - -[`Result`](../namespaces/types.md#result) - -Result - parsed response corresponding to the abi - -#### Defined in - -[src/utils/calldata/index.ts:249](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L249) - ---- - -### format - -▸ **format**(`method`, `response`, `format`): [`Result`](../namespaces/types.md#result) - -Format cairo method response data to native js values based on provided format schema - -#### Parameters - -| Name | Type | Description | -| :--------- | :--------- | :------------------------------- | -| `method` | `string` | string - cairo method name | -| `response` | `string`[] | string[] - cairo method response | -| `format` | `object` | object - formatter object schema | - -#### Returns - -[`Result`](../namespaces/types.md#result) - -Result - parsed and formatted response object - -#### Defined in - -[src/utils/calldata/index.ts:273](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L273) - ---- - -### decodeParameters - -▸ **decodeParameters**(`typeCairo`, `response`): [`AllowArray`](../namespaces/types.md#allowarray)<[`Result`](../namespaces/types.md#result)\> - -Parse the elements of a contract response and structure them into one or several Result. -In Cairo 0, arrays are not supported. - -#### Parameters - -| Name | Type | Description | -| :---------- | :----------------------------------------------------------- | :------------------------------------------------------------------ | -| `typeCairo` | [`AllowArray`](../namespaces/types.md#allowarray)<`string`\> | string or string[] - Cairo type name, ex : "hello::hello::UserData" | -| `response` | `string`[] | string[] - serialized data corresponding to typeCairo. | - -#### Returns - -[`AllowArray`](../namespaces/types.md#allowarray)<[`Result`](../namespaces/types.md#result)\> - -Result or Result[] - parsed response corresponding to typeData. - -**`Example`** - -```ts -const res2 = helloCallData.decodeParameters('hello::hello::UserData', ['0x123456', '0x1']); -result = { address: 1193046n, is_claimed: true }; -``` - -#### Defined in - -[src/utils/calldata/index.ts:343](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/index.ts#L343) diff --git a/www/versioned_docs/version-7.5.1/API/classes/Contract.md b/www/versioned_docs/version-7.5.1/API/classes/Contract.md deleted file mode 100644 index 087d9d28e..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/Contract.md +++ /dev/null @@ -1,535 +0,0 @@ ---- -id: 'Contract' -title: 'Class: Contract' -sidebar_label: 'Contract' -sidebar_position: 0 -custom_edit_url: null ---- - -## Implements - -- [`ContractInterface`](ContractInterface.md) - -## Indexable - -▪ [key: `string`]: [`AsyncContractFunction`](../namespaces/types.md#asynccontractfunction) \| `any` - -## Constructors - -### constructor - -• **new Contract**(`abi`, `address`, `providerOrAccount?`): [`Contract`](Contract.md) - -Contract class to handle contract methods - -#### Parameters - -| Name | Type | Default value | Description | -| :------------------ | :--------------------------------------------------------------------------------------- | :---------------- | :-------------------------------------------- | -| `abi` | [`Abi`](../namespaces/types.md#abi) | `undefined` | Abi of the contract object | -| `address` | `string` | `undefined` | (optional) - address to connect to | -| `providerOrAccount` | [`ProviderInterface`](ProviderInterface.md) \| [`AccountInterface`](AccountInterface.md) | `defaultProvider` | (optional) - Provider or Account to attach to | - -#### Returns - -[`Contract`](Contract.md) - -#### Defined in - -[src/contract/default.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L138) - -## Properties - -### abi - -• **abi**: [`Abi`](../namespaces/types.md#abi) - -#### Implementation of - -[ContractInterface](ContractInterface.md).[abi](ContractInterface.md#abi) - -#### Defined in - -[src/contract/default.ts:105](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L105) - ---- - -### address - -• **address**: `string` - -#### Implementation of - -[ContractInterface](ContractInterface.md).[address](ContractInterface.md#address) - -#### Defined in - -[src/contract/default.ts:107](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L107) - ---- - -### providerOrAccount - -• **providerOrAccount**: [`ProviderInterface`](ProviderInterface.md) \| [`AccountInterface`](AccountInterface.md) - -#### Implementation of - -[ContractInterface](ContractInterface.md).[providerOrAccount](ContractInterface.md#provideroraccount) - -#### Defined in - -[src/contract/default.ts:109](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L109) - ---- - -### deployTransactionHash - -• `Optional` **deployTransactionHash**: `string` - -#### Implementation of - -[ContractInterface](ContractInterface.md).[deployTransactionHash](ContractInterface.md#deploytransactionhash) - -#### Defined in - -[src/contract/default.ts:111](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L111) - ---- - -### structs - -• `Protected` `Readonly` **structs**: `Object` - -#### Index signature - -▪ [name: `string`]: [`AbiStruct`](../namespaces/types.md#abistruct) - -#### Defined in - -[src/contract/default.ts:113](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L113) - ---- - -### events - -• `Protected` `Readonly` **events**: [`AbiEvents`](../namespaces/types.md#abievents) - -#### Defined in - -[src/contract/default.ts:115](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L115) - ---- - -### functions - -• `Readonly` **functions**: `Object` - -#### Index signature - -▪ [name: `string`]: [`AsyncContractFunction`](../namespaces/types.md#asynccontractfunction) - -#### Implementation of - -[ContractInterface](ContractInterface.md).[functions](ContractInterface.md#functions) - -#### Defined in - -[src/contract/default.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L117) - ---- - -### callStatic - -• `Readonly` **callStatic**: `Object` - -#### Index signature - -▪ [name: `string`]: [`AsyncContractFunction`](../namespaces/types.md#asynccontractfunction) - -#### Implementation of - -[ContractInterface](ContractInterface.md).[callStatic](ContractInterface.md#callstatic) - -#### Defined in - -[src/contract/default.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L119) - ---- - -### populateTransaction - -• `Readonly` **populateTransaction**: `Object` - -#### Index signature - -▪ [name: `string`]: [`ContractFunction`](../namespaces/types.md#contractfunction) - -#### Implementation of - -[ContractInterface](ContractInterface.md).[populateTransaction](ContractInterface.md#populatetransaction) - -#### Defined in - -[src/contract/default.ts:121](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L121) - ---- - -### estimateFee - -• `Readonly` **estimateFee**: `Object` - -#### Index signature - -▪ [name: `string`]: [`ContractFunction`](../namespaces/types.md#contractfunction) - -#### Implementation of - -[ContractInterface](ContractInterface.md).[estimateFee](ContractInterface.md#estimatefee) - -#### Defined in - -[src/contract/default.ts:123](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L123) - ---- - -### callData - -• `Private` **callData**: [`CallData`](CallData.md) - -#### Defined in - -[src/contract/default.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L127) - ---- - -### contractOptions - -• `Optional` **contractOptions**: [`ContractOptions`](../namespaces/types.md#contractoptions) - -#### Defined in - -[src/contract/default.ts:129](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L129) - -## Methods - -### withOptions - -▸ **withOptions**(`options`): [`Contract`](Contract.md) - -#### Parameters - -| Name | Type | -| :-------- | :---------------------------------------------------------- | -| `options` | [`ContractOptions`](../namespaces/types.md#contractoptions) | - -#### Returns - -[`Contract`](Contract.md) - -#### Defined in - -[src/contract/default.ts:194](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L194) - ---- - -### attach - -▸ **attach**(`address`): `void` - -Saves the address of the contract deployed on network that will be used for interaction - -#### Parameters - -| Name | Type | Description | -| :-------- | :------- | :---------------------- | -| `address` | `string` | address of the contract | - -#### Returns - -`void` - -#### Implementation of - -[ContractInterface](ContractInterface.md).[attach](ContractInterface.md#attach) - -#### Defined in - -[src/contract/default.ts:199](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L199) - ---- - -### connect - -▸ **connect**(`providerOrAccount`): `void` - -Attaches to new Provider or Account - -#### Parameters - -| Name | Type | Description | -| :------------------ | :--------------------------------------------------------------------------------------- | :----------------------------------- | -| `providerOrAccount` | [`ProviderInterface`](ProviderInterface.md) \| [`AccountInterface`](AccountInterface.md) | new Provider or Account to attach to | - -#### Returns - -`void` - -#### Implementation of - -[ContractInterface](ContractInterface.md).[connect](ContractInterface.md#connect) - -#### Defined in - -[src/contract/default.ts:203](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L203) - ---- - -### deployed - -▸ **deployed**(): `Promise`<[`Contract`](Contract.md)\> - -Resolves when contract is deployed on the network or when no deployment transaction is found - -#### Returns - -`Promise`<[`Contract`](Contract.md)\> - -Promise that resolves when contract is deployed on the network or when no deployment transaction is found - -**`Throws`** - -When deployment fails - -#### Implementation of - -[ContractInterface](ContractInterface.md).[deployed](ContractInterface.md#deployed) - -#### Defined in - -[src/contract/default.ts:207](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L207) - ---- - -### call - -▸ **call**(`method`, `args?`, `«destructured»?`): `Promise`<[`Result`](../namespaces/types.md#result)\> - -Calls a method on a contract - -#### Parameters - -| Name | Type | Default value | Description | -| :--------------- | :-------------------------------------------------------- | :------------ | :---------------------------------- | -| `method` | `string` | `undefined` | name of the method | -| `args` | [`ArgsOrCalldata`](../namespaces/types.md#argsorcalldata) | `[]` | Array of the arguments for the call | -| `«destructured»` | [`CallOptions`](../namespaces/types.md#calloptions) | `{}` | optional blockIdentifier | - -#### Returns - -`Promise`<[`Result`](../namespaces/types.md#result)\> - -Result of the call as an array with key value pars - -#### Implementation of - -[ContractInterface](ContractInterface.md).[call](ContractInterface.md#call) - -#### Defined in - -[src/contract/default.ts:215](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L215) - ---- - -### invoke - -▸ **invoke**(`method`, `args?`, `«destructured»?`): `Promise`<\{ `transaction_hash`: `string` }\> - -Invokes a method on a contract - -#### Parameters - -| Name | Type | Default value | Description | -| :--------------- | :-------------------------------------------------------- | :------------ | :------------------------------------------------ | -| `method` | `string` | `undefined` | name of the method | -| `args` | [`ArgsOrCalldata`](../namespaces/types.md#argsorcalldata) | `[]` | Array of the arguments for the invoke or Calldata | -| `«destructured»` | [`InvokeOptions`](../namespaces/types.md#invokeoptions) | `{}` | | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -Add Transaction Response - -#### Implementation of - -[ContractInterface](ContractInterface.md).[invoke](ContractInterface.md#invoke) - -#### Defined in - -[src/contract/default.ts:256](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L256) - ---- - -### estimate - -▸ **estimate**(`method`, `args?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates a method on a contract - -#### Parameters - -| Name | Type | Default value | Description | -| :------- | :-------------------------------------------------------- | :------------ | :---------------------------------------------- | -| `method` | `string` | `undefined` | name of the method | -| `args` | [`ArgsOrCalldata`](../namespaces/types.md#argsorcalldata) | `[]` | Array of the arguments for the call or Calldata | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -#### Implementation of - -[ContractInterface](ContractInterface.md).[estimate](ContractInterface.md#estimate) - -#### Defined in - -[src/contract/default.ts:298](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L298) - ---- - -### populate - -▸ **populate**(`method`, `args?`): [`Call`](../namespaces/types.md#call) - -Calls a method on a contract - -#### Parameters - -| Name | Type | Default value | Description | -| :------- | :------------------------------------------ | :------------ | :---------------------------------------------- | -| `method` | `string` | `undefined` | name of the method | -| `args` | [`RawArgs`](../namespaces/types.md#rawargs) | `[]` | Array of the arguments for the call or Calldata | - -#### Returns - -[`Call`](../namespaces/types.md#call) - -Invocation object - -#### Implementation of - -[ContractInterface](ContractInterface.md).[populate](ContractInterface.md#populate) - -#### Defined in - -[src/contract/default.ts:312](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L312) - ---- - -### parseEvents - -▸ **parseEvents**(`receipt`): [`ParsedEvents`](../namespaces/types.md#parsedevents) - -Parse contract events of a GetTransactionReceiptResponse received from waitForTransaction. Based on contract's abi - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------------------------- | :------------------ | -| `receipt` | [`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse) | transaction receipt | - -#### Returns - -[`ParsedEvents`](../namespaces/types.md#parsedevents) - -Events parsed - -#### Implementation of - -[ContractInterface](ContractInterface.md).[parseEvents](ContractInterface.md#parseevents) - -#### Defined in - -[src/contract/default.ts:323](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L323) - ---- - -### isCairo1 - -▸ **isCairo1**(): `boolean` - -tells if the contract comes from a Cairo 1 contract - -#### Returns - -`boolean` - -TRUE if the contract comes from a Cairo1 contract - -**`Example`** - -```typescript -const isCairo1: boolean = myContract.isCairo1(); -``` - -#### Implementation of - -[ContractInterface](ContractInterface.md).[isCairo1](ContractInterface.md#iscairo1) - -#### Defined in - -[src/contract/default.ts:354](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L354) - ---- - -### getVersion - -▸ **getVersion**(): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -Retrieves the version of the contract (cairo version & compiler version) - -#### Returns - -`Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Implementation of - -[ContractInterface](ContractInterface.md).[getVersion](ContractInterface.md#getversion) - -#### Defined in - -[src/contract/default.ts:358](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L358) - ---- - -### typedv2 - -▸ **typedv2**<`TAbi`\>(`tAbi`): [`TypedContractV2`](../modules.md#typedcontractv2)<`TAbi`\> - -Returns a typed instance of ContractV2 based on the supplied ABI. - -#### Type parameters - -| Name | Type | -| :----- | :------------------------------------------------------------------------------------------------------------------------------ | -| `TAbi` | extends readonly (`AbiImpl` \| `AbiFunction` \| `AbiInterface` \| `AbiConstructor` \| `AbiEvent` \| `AbiStruct` \| `AbiEnum`)[] | - -#### Parameters - -| Name | Type | Description | -| :----- | :----- | :----------------------------------------------------- | -| `tAbi` | `TAbi` | The ABI (Abstract Binary Interface) of the ContractV2. | - -#### Returns - -[`TypedContractV2`](../modules.md#typedcontractv2)<`TAbi`\> - -- A typed instance of ContractV2. - -#### Implementation of - -[ContractInterface](ContractInterface.md).[typedv2](ContractInterface.md#typedv2) - -#### Defined in - -[src/contract/default.ts:362](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L362) diff --git a/www/versioned_docs/version-7.5.1/API/classes/ContractFactory.md b/www/versioned_docs/version-7.5.1/API/classes/ContractFactory.md deleted file mode 100644 index 439fdfc9e..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/ContractFactory.md +++ /dev/null @@ -1,175 +0,0 @@ ---- -id: 'ContractFactory' -title: 'Class: ContractFactory' -sidebar_label: 'ContractFactory' -sidebar_position: 0 -custom_edit_url: null ---- - -## Constructors - -### constructor - -• **new ContractFactory**(`params`): [`ContractFactory`](ContractFactory.md) - -#### Parameters - -| Name | Type | Description | -| :------- | :------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params` | [`ContractFactoryParams`](../modules.md#contractfactoryparams) | CFParams - compiledContract: CompiledContract; - account: AccountInterface; - casm?: CairoAssembly; - classHash?: string; - compiledClassHash?: string; - abi?: Abi; | - -#### Returns - -[`ContractFactory`](ContractFactory.md) - -#### Defined in - -[src/contract/contractFactory.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/contractFactory.ts#L51) - -## Properties - -### compiledContract - -• **compiledContract**: [`CompiledContract`](../namespaces/types.md#compiledcontract) - -#### Defined in - -[src/contract/contractFactory.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/contractFactory.ts#L26) - ---- - -### account - -• **account**: [`AccountInterface`](AccountInterface.md) - -#### Defined in - -[src/contract/contractFactory.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/contractFactory.ts#L28) - ---- - -### abi - -• **abi**: [`Abi`](../namespaces/types.md#abi) - -#### Defined in - -[src/contract/contractFactory.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/contractFactory.ts#L30) - ---- - -### classHash - -• `Optional` **classHash**: `string` - -#### Defined in - -[src/contract/contractFactory.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/contractFactory.ts#L32) - ---- - -### casm - -• `Optional` **casm**: [`CairoAssembly`](../namespaces/types.md#cairoassembly) - -#### Defined in - -[src/contract/contractFactory.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/contractFactory.ts#L34) - ---- - -### compiledClassHash - -• `Optional` **compiledClassHash**: `string` - -#### Defined in - -[src/contract/contractFactory.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/contractFactory.ts#L36) - ---- - -### CallData - -• `Private` **CallData**: [`CallData`](CallData.md) - -#### Defined in - -[src/contract/contractFactory.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/contractFactory.ts#L38) - ---- - -### contractOptions - -• `Optional` **contractOptions**: [`ContractOptions`](../namespaces/types.md#contractoptions) - -#### Defined in - -[src/contract/contractFactory.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/contractFactory.ts#L40) - -## Methods - -### deploy - -▸ **deploy**(`...args`): `Promise`<[`Contract`](Contract.md)\> - -Deploys contract and returns new instance of the Contract - -If contract is not declared it will first declare it, and then deploy - -#### Parameters - -| Name | Type | -| :-------- | :-------------------------------------------------------- | -| `...args` | [`ArgsOrCalldata`](../namespaces/types.md#argsorcalldata) | - -#### Returns - -`Promise`<[`Contract`](Contract.md)\> - -#### Defined in - -[src/contract/contractFactory.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/contractFactory.ts#L67) - ---- - -### connect - -▸ **connect**(`account`): [`ContractFactory`](ContractFactory.md) - -Attaches to new Account - -#### Parameters - -| Name | Type | Description | -| :-------- | :---------------------------------------- | :----------------------- | -| `account` | [`AccountInterface`](AccountInterface.md) | new Account to attach to | - -#### Returns - -[`ContractFactory`](ContractFactory.md) - -#### Defined in - -[src/contract/contractFactory.ts:106](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/contractFactory.ts#L106) - ---- - -### attach - -▸ **attach**(`address`): [`Contract`](Contract.md) - -Attaches current abi and account to the new address - -#### Parameters - -| Name | Type | -| :-------- | :------- | -| `address` | `string` | - -#### Returns - -[`Contract`](Contract.md) - -#### Defined in - -[src/contract/contractFactory.ts:114](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/contractFactory.ts#L114) diff --git a/www/versioned_docs/version-7.5.1/API/classes/ContractInterface.md b/www/versioned_docs/version-7.5.1/API/classes/ContractInterface.md deleted file mode 100644 index 7228c50a1..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/ContractInterface.md +++ /dev/null @@ -1,383 +0,0 @@ ---- -id: 'ContractInterface' -title: 'Class: ContractInterface' -sidebar_label: 'ContractInterface' -sidebar_position: 0 -custom_edit_url: null ---- - -## Implemented by - -- [`Contract`](Contract.md) - -## Indexable - -▪ [key: `string`]: [`AsyncContractFunction`](../namespaces/types.md#asynccontractfunction) \| `any` - -## Constructors - -### constructor - -• **new ContractInterface**(): [`ContractInterface`](ContractInterface.md) - -#### Returns - -[`ContractInterface`](ContractInterface.md) - -## Properties - -### abi - -• `Abstract` **abi**: [`Abi`](../namespaces/types.md#abi) - -#### Defined in - -[src/contract/interface.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L49) - ---- - -### address - -• `Abstract` **address**: `string` - -#### Defined in - -[src/contract/interface.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L51) - ---- - -### providerOrAccount - -• `Abstract` **providerOrAccount**: [`ProviderInterface`](ProviderInterface.md) \| [`AccountInterface`](AccountInterface.md) - -#### Defined in - -[src/contract/interface.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L53) - ---- - -### deployTransactionHash - -• `Optional` `Abstract` **deployTransactionHash**: `string` - -#### Defined in - -[src/contract/interface.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L55) - ---- - -### functions - -• `Readonly` **functions**: `Object` - -#### Index signature - -▪ [name: `string`]: [`AsyncContractFunction`](../namespaces/types.md#asynccontractfunction) - -#### Defined in - -[src/contract/interface.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L57) - ---- - -### callStatic - -• `Readonly` **callStatic**: `Object` - -#### Index signature - -▪ [name: `string`]: [`AsyncContractFunction`](../namespaces/types.md#asynccontractfunction) - -#### Defined in - -[src/contract/interface.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L59) - ---- - -### populateTransaction - -• `Readonly` **populateTransaction**: `Object` - -#### Index signature - -▪ [name: `string`]: [`ContractFunction`](../namespaces/types.md#contractfunction) - -#### Defined in - -[src/contract/interface.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L61) - ---- - -### estimateFee - -• `Readonly` **estimateFee**: `Object` - -#### Index signature - -▪ [name: `string`]: [`ContractFunction`](../namespaces/types.md#contractfunction) - -#### Defined in - -[src/contract/interface.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L63) - -## Methods - -### attach - -▸ **attach**(`address`): `void` - -Saves the address of the contract deployed on network that will be used for interaction - -#### Parameters - -| Name | Type | Description | -| :-------- | :------- | :---------------------- | -| `address` | `string` | address of the contract | - -#### Returns - -`void` - -#### Defined in - -[src/contract/interface.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L72) - ---- - -### connect - -▸ **connect**(`providerOrAccount`): `void` - -Attaches to new Provider or Account - -#### Parameters - -| Name | Type | Description | -| :------------------ | :--------------------------------------------------------------------------------------- | :----------------------------------- | -| `providerOrAccount` | [`ProviderInterface`](ProviderInterface.md) \| [`AccountInterface`](AccountInterface.md) | new Provider or Account to attach to | - -#### Returns - -`void` - -#### Defined in - -[src/contract/interface.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L79) - ---- - -### deployed - -▸ **deployed**(): `Promise`<[`ContractInterface`](ContractInterface.md)\> - -Resolves when contract is deployed on the network or when no deployment transaction is found - -#### Returns - -`Promise`<[`ContractInterface`](ContractInterface.md)\> - -Promise that resolves when contract is deployed on the network or when no deployment transaction is found - -**`Throws`** - -When deployment fails - -#### Defined in - -[src/contract/interface.ts:87](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L87) - ---- - -### call - -▸ **call**(`method`, `args?`, `options?`): `Promise`<[`Result`](../namespaces/types.md#result)\> - -Calls a method on a contract - -#### Parameters - -| Name | Type | Description | -| :--------- | :-------------------------------------------------------- | :---------------------------------- | -| `method` | `string` | name of the method | -| `args?` | [`ArgsOrCalldata`](../namespaces/types.md#argsorcalldata) | Array of the arguments for the call | -| `options?` | [`CallOptions`](../namespaces/types.md#calloptions) | optional blockIdentifier | - -#### Returns - -`Promise`<[`Result`](../namespaces/types.md#result)\> - -Result of the call as an array with key value pars - -#### Defined in - -[src/contract/interface.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L97) - ---- - -### invoke - -▸ **invoke**(`method`, `args?`, `options?`): `Promise`<\{ `transaction_hash`: `string` }\> - -Invokes a method on a contract - -#### Parameters - -| Name | Type | Description | -| :--------- | :-------------------------------------------------------- | :------------------------------------------------ | -| `method` | `string` | name of the method | -| `args?` | [`ArgsOrCalldata`](../namespaces/types.md#argsorcalldata) | Array of the arguments for the invoke or Calldata | -| `options?` | [`InvokeOptions`](../namespaces/types.md#invokeoptions) | | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -Add Transaction Response - -#### Defined in - -[src/contract/interface.ts:111](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L111) - ---- - -### estimate - -▸ **estimate**(`method`, `args?`, `options?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates a method on a contract - -#### Parameters - -| Name | Type | Description | -| :------------------------- | :---------------------------------------------------------- | :---------------------------------------------- | -| `method` | `string` | name of the method | -| `args?` | [`ArgsOrCalldata`](../namespaces/types.md#argsorcalldata) | Array of the arguments for the call or Calldata | -| `options?` | `Object` | optional blockIdentifier | -| `options.blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -#### Defined in - -[src/contract/interface.ts:124](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L124) - ---- - -### populate - -▸ **populate**(`method`, `args?`): [`Invocation`](../namespaces/types.md#invocation) - -Calls a method on a contract - -#### Parameters - -| Name | Type | Description | -| :------- | :-------------------------------------------------------- | :---------------------------------------------- | -| `method` | `string` | name of the method | -| `args?` | [`ArgsOrCalldata`](../namespaces/types.md#argsorcalldata) | Array of the arguments for the call or Calldata | - -#### Returns - -[`Invocation`](../namespaces/types.md#invocation) - -Invocation object - -#### Defined in - -[src/contract/interface.ts:139](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L139) - ---- - -### parseEvents - -▸ **parseEvents**(`receipt`): [`ParsedEvents`](../namespaces/types.md#parsedevents) - -Parse contract events of a GetTransactionReceiptResponse received from waitForTransaction. Based on contract's abi - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------------------------- | :------------------ | -| `receipt` | [`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse) | transaction receipt | - -#### Returns - -[`ParsedEvents`](../namespaces/types.md#parsedevents) - -Events parsed - -#### Defined in - -[src/contract/interface.ts:147](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L147) - ---- - -### isCairo1 - -▸ **isCairo1**(): `boolean` - -tells if the contract comes from a Cairo 1 contract - -#### Returns - -`boolean` - -TRUE if the contract comes from a Cairo1 contract - -**`Example`** - -```typescript -const isCairo1: boolean = myContract.isCairo1(); -``` - -#### Defined in - -[src/contract/interface.ts:158](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L158) - ---- - -### getVersion - -▸ **getVersion**(): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -Retrieves the version of the contract (cairo version & compiler version) - -#### Returns - -`Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Defined in - -[src/contract/interface.ts:163](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L163) - ---- - -### typedv2 - -▸ **typedv2**<`TAbi`\>(`tAbi`): `TypedContractV2`<`TAbi`\> - -Returns a typed instance of ContractV2 based on the supplied ABI. - -#### Type parameters - -| Name | Type | -| :----- | :------------------------------------------------------------------------------------------------------------------------------ | -| `TAbi` | extends readonly (`AbiImpl` \| `AbiFunction` \| `AbiInterface` \| `AbiConstructor` \| `AbiEvent` \| `AbiStruct` \| `AbiEnum`)[] | - -#### Parameters - -| Name | Type | Description | -| :----- | :----- | :----------------------------------------------------- | -| `tAbi` | `TAbi` | The ABI (Abstract Binary Interface) of the ContractV2. | - -#### Returns - -`TypedContractV2`<`TAbi`\> - -- A typed instance of ContractV2. - -#### Defined in - -[src/contract/interface.ts:171](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/interface.ts#L171) diff --git a/www/versioned_docs/version-7.5.1/API/classes/LedgerSigner221.md b/www/versioned_docs/version-7.5.1/API/classes/LedgerSigner221.md deleted file mode 100644 index f658a0bc9..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/LedgerSigner221.md +++ /dev/null @@ -1,809 +0,0 @@ ---- -id: 'LedgerSigner221' -title: 'Class: LedgerSigner221' -sidebar_label: 'LedgerSigner221' -sidebar_position: 0 -custom_edit_url: null ---- - -Signer for accounts using a Ledger Nano S+/X signature (Starknet Ledger APP version 2.2.1). - -The Ledger has to be connected, unlocked and the Starknet APP has to be selected prior of use of this class. - -## Type parameters - -| Name | Type | -| :---------- | :-------------------------------------- | -| `Transport` | extends `Record`<`any`, `any`\> = `any` | - -## Hierarchy - -- [`LedgerSigner111`](LedgerSigner111.md) - - ↳ **`LedgerSigner221`** - - ↳↳ [`LedgerSigner231`](LedgerSigner231.md) - -## Implements - -- [`SignerInterface`](SignerInterface.md) - -## Constructors - -### constructor - -• **new LedgerSigner221**<`Transport`\>(`transport`, `accountID`, `eip2645application?`, `pathFunction?`): [`LedgerSigner221`](LedgerSigner221.md)<`Transport`\> - -constructor of the LedgerSigner class. - -#### Type parameters - -| Name | Type | -| :---------- | :-------------------------------------- | -| `Transport` | extends `Record`<`any`, `any`\> = `any` | - -#### Parameters - -| Name | Type | Default value | Description | -| :-------------------- | :---------------------------------------------------------------------- | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `transport` | `Transport` | `undefined` | 5 transports are available to handle USB, bluetooth, Node, Web, Mobile. See Guides for more details. | -| `accountID` | `number` | `undefined` | ID of Ledger Nano (can handle 2\*\*31 accounts). | -| `eip2645application?` | `string` | `'LedgerW'` | A wallet is defined by an ERC2645 derivation path (6 items). One item is called `application` and can be customized. Default value is `LedgerW`. | -| `pathFunction?` | [`LedgerPathCalculation`](../namespaces/types.md#ledgerpathcalculation) | `getLedgerPathBuffer221` | defines the function that will calculate the path. By default `getLedgerPathBuffer221` is selected. If you are using APP v2.2.1 with an account created with the v1.1.1, you need to use : `typescript const myLedgerSigner = new LedgerSigner211(myNodeTransport, 0, undefined, getLedgerPathBuffer111); ` | - -#### Returns - -[`LedgerSigner221`](LedgerSigner221.md)<`Transport`\> - -**`Example`** - -```typescript -import TransportNodeHid from '@ledgerhq/hw-transport-node-hid'; -const myNodeTransport = await TransportNodeHid.create(); -const myLedgerSigner = new LedgerSigner211(myNodeTransport, 0); -``` - -#### Overrides - -[LedgerSigner111](LedgerSigner111.md).[constructor](LedgerSigner111.md#constructor) - -#### Defined in - -[src/signer/ledgerSigner221.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L76) - -## Properties - -### transporter - -• `Readonly` **transporter**: `any` - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[transporter](LedgerSigner111.md#transporter) - -#### Defined in - -[src/signer/ledgerSigner111.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L46) - ---- - -### \_transporter - -• `Protected` **\_transporter**: `any` - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[\_transporter](LedgerSigner111.md#_transporter) - -#### Defined in - -[src/signer/ledgerSigner111.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L49) - ---- - -### accountID - -• `Readonly` **accountID**: `number` - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[accountID](LedgerSigner111.md#accountid) - -#### Defined in - -[src/signer/ledgerSigner111.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L51) - ---- - -### eip2645applicationName - -• `Readonly` **eip2645applicationName**: `string` - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[eip2645applicationName](LedgerSigner111.md#eip2645applicationname) - -#### Defined in - -[src/signer/ledgerSigner111.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L53) - ---- - -### pathBuffer - -• `Readonly` **pathBuffer**: `Uint8Array` - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[pathBuffer](LedgerSigner111.md#pathbuffer) - -#### Defined in - -[src/signer/ledgerSigner111.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L55) - ---- - -### appVersion - -• `Protected` **appVersion**: `string` - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[appVersion](LedgerSigner111.md#appversion) - -#### Defined in - -[src/signer/ledgerSigner111.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L57) - ---- - -### pubKey - -• `Protected` **pubKey**: `string` - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[pubKey](LedgerSigner111.md#pubkey) - -#### Defined in - -[src/signer/ledgerSigner111.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L59) - ---- - -### fullPubKey - -• `Protected` **fullPubKey**: `string` - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[fullPubKey](LedgerSigner111.md#fullpubkey) - -#### Defined in - -[src/signer/ledgerSigner111.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L61) - -## Methods - -### signTransaction - -▸ **signTransaction**(`transactions`, `transactionsDetail`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Sign in a Ledger a V1 or a V3 transaction. The details are displayed on the Ledger screen. - -#### Parameters - -| Name | Type | Description | -| :------------------- | :---------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | -| `transactions` | [`Call`](../namespaces/types.md#call)[] | An array of `Call` transactions (generated for example by `myContract.populate()`). | -| `transactionsDetail` | [`InvocationsSignerDetails`](../namespaces/types.md#invocationssignerdetails) | An object that includes all the necessary inputs to hash the transaction. Can be `V2InvocationsSignerDetails` or `V3InvocationsSignerDetails` type. | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -The signed transaction. - -**`Example`** - -```typescript -const txDetailsV3: V3InvocationsSignerDetails = { - chainId: constants.StarknetChainId.SN_MAIN, - nonce: '28', - accountDeploymentData: [], - paymasterData: [], - cairoVersion: '1', - feeDataAvailabilityMode: 'L1', - nonceDataAvailabilityMode: 'L1', - resourceBounds: { - l1_gas: { - max_amount: '0x2a00', - max_price_per_unit: '0x5c00000', - }, - l2_gas: { - max_amount: '0x00', - max_price_per_unit: '0x00', - }, - }, - tip: 0, - version: '0x3', - walletAddress: account0.address, -}; -const result = myLedgerSigner.signTransaction([call0, call1], txDetailsV3); -// result = Signature { r: 611475243393396148729326917410546146405234155928298353899191529090923298688n, -// s: 798839819213540985856952481651392652149797817551686626114697493101433761982n, -// recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signTransaction](SignerInterface.md#signtransaction) - -#### Overrides - -[LedgerSigner111](LedgerSigner111.md).[signTransaction](LedgerSigner111.md#signtransaction) - -#### Defined in - -[src/signer/ledgerSigner221.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L120) - ---- - -### signDeployAccountTransaction - -▸ **signDeployAccountTransaction**(`details`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Sign in a Ledger the deployment of a new account. The details are displayed on the Ledger screen. - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | -| `details` | [`DeployAccountSignerDetails`](../namespaces/types.md#deployaccountsignerdetails) | An object that includes all necessary data to calculate the Hash. It can be `V2DeployAccountSignerDetails` or `V3DeployAccountSignerDetails` types. | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -The deploy account signature. - -**`Example`** - -```typescript -const result = myLedgerSigner.signDeployAccountTransaction(details); -// result = Signature { r: 611475243393396148729326917410546146405234155928298353899191529090923298688n, -// s: 798839819213540985856952481651392652149797817551686626114697493101433761982n, -// recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signDeployAccountTransaction](SignerInterface.md#signdeployaccounttransaction) - -#### Overrides - -[LedgerSigner111](LedgerSigner111.md).[signDeployAccountTransaction](LedgerSigner111.md#signdeployaccounttransaction) - -#### Defined in - -[src/signer/ledgerSigner221.ts:173](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L173) - ---- - -### convertBnToLedger - -▸ **convertBnToLedger**(`input`): `Uint8Array` - -Internal function to convert a bigNumberish to an Uint8array of 256 bits - -#### Parameters - -| Name | Type | Description | -| :------ | :---------------------------------------------------- | :---------- | -| `input` | [`BigNumberish`](../namespaces/types.md#bignumberish) | input value | - -#### Returns - -`Uint8Array` - -a Uint8Array containing 32 bytes. - -#### Defined in - -[src/signer/ledgerSigner221.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L219) - ---- - -### decodeSignatureLedger - -▸ **decodeSignatureLedger**(`respSign`): `Object` - -Internal function to decode the response of the Ledger signature - -#### Parameters - -| Name | Type | Description | -| :--------- | :----------- | :-------------------------------- | -| `respSign` | `Uint8Array` | the Buffer response of the Ledger | - -#### Returns - -`Object` - -transaction hash & signature - -| Name | Type | -| :---------- | :---------------------------------------------- | -| `hash` | `bigint` | -| `signature` | [`Signature`](../namespaces/types.md#signature) | - -#### Defined in - -[src/signer/ledgerSigner221.ts:228](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L228) - ---- - -### encodeCall - -▸ **encodeCall**(`call`): `Uint8Array`[] - -Internal function to convert a Call to an array of Uint8Array. - -#### Parameters - -| Name | Type | Description | -| :----- | :------------------------------------ | :----------------- | -| `call` | [`Call`](../namespaces/types.md#call) | A Call to convert. | - -#### Returns - -`Uint8Array`[] - -Call encoded in an array of Uint8Array (each containing 7 u256). - -#### Defined in - -[src/signer/ledgerSigner221.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L242) - ---- - -### signTxV1 - -▸ **signTxV1**(`txDetails`, `calls`): `Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -Ask the Ledger Nano to display and sign a Starknet V1 transaction. - -#### Parameters - -| Name | Type | Description | -| :---------- | :-------------------------------------------------------------------------------- | :--------------------------------- | -| `txDetails` | [`V2InvocationsSignerDetails`](../namespaces/types.md#v2invocationssignerdetails) | All the details needed for a txV1. | -| `calls` | [`Call`](../namespaces/types.md#call)[] | array of Starknet invocations | - -#### Returns - -`Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -an object including the transaction Hash and the signature - -**`Example`** - -```typescript -const calls: Call[] = [ - { - contractAddress: '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7', - entrypoint: 'transfer', - calldata: [ - '0x11f5fc2a92ac03434a7937fe982f5e5293b65ad438a989c5b78fb8f04a12016', - '0x9184e72a000', - '0x0', - ], - }, -]; -const txDet: V2InvocationsSignerDetails = { - walletAddress: txDetails.accountAddress, - chainId: constants.StarknetChainId.SN_MAIN, - cairoVersion: '1', - maxFee: txDetails.max_fee, - nonce: txDetails.nonce, - version: '0x1', -}; -const res = await myLedgerSigner.signTxV1(txDet, calls); -// res = {hash: -// signature: -// } -``` - -#### Defined in - -[src/signer/ledgerSigner221.ts:288](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L288) - ---- - -### signTxV3 - -▸ **signTxV3**(`txDetails`, `calls`): `Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -Ask to the Ledger Nano to display and sign a Starknet V3 transaction. - -#### Parameters - -| Name | Type | Description | -| :---------- | :-------------------------------------------------------------------------------- | :--------------------------------- | -| `txDetails` | [`V3InvocationsSignerDetails`](../namespaces/types.md#v3invocationssignerdetails) | All the details needed for a txV3. | -| `calls` | [`Call`](../namespaces/types.md#call)[] | array of Starknet invocations | - -#### Returns - -`Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -an object including the transaction Hash and the signature - -**`Example`** - -```typescript -const calls: Call[] = [ - { - contractAddress: '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7', - entrypoint: 'transfer', - calldata: [ - '0x11f5fc2a92ac03434a7937fe982f5e5293b65ad438a989c5b78fb8f04a12016', - '0x9184e72a000', - '0x0', - ], - }, -]; -const txDetailsV3: V3InvocationsSignerDetails = { - chainId: constants.StarknetChainId.SN_MAIN, - nonce: '28', - accountDeploymentData: [], - paymasterData: [], - cairoVersion: '1', - feeDataAvailabilityMode: 'L1', - nonceDataAvailabilityMode: 'L1', - resourceBounds: { - l1_gas: { max_amount: '0x2a00', max_price_per_unit: '0x5c00000' }, - l2_gas: { max_amount: '0x00', max_price_per_unit: '0x00' }, - }, - tip: 0, - version: '0x3', - walletAddress: account0.address, -}; -const res = await myLedgerSigner.signTxV3(txDetailsV3, calls); -// res = {hash: -// signature: -// } -``` - -#### Defined in - -[src/signer/ledgerSigner221.ts:358](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L358) - ---- - -### signDeployAccountV1 - -▸ **signDeployAccountV1**(`deployAccountDetail`): `Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -Ask the Ledger Nano to display and sign a Starknet V1 account deployment. - -#### Parameters - -| Name | Type | Description | -| :-------------------- | :------------------------------------------------------------------------------------ | :---------------------------------------------- | -| `deployAccountDetail` | [`V2DeployAccountSignerDetails`](../namespaces/types.md#v2deployaccountsignerdetails) | All the details needed for a V1 deploy account. | - -#### Returns - -`Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -an object including the transaction Hash and the signature - -**`Example`** - -```typescript -const deployData: V2DeployAccountSignerDetails = { - tip: 0, - paymasterData: [], - accountDeploymentData: [], - nonceDataAvailabilityMode: 'L1', - feeDataAvailabilityMode: 'L1', - resourceBounds: { - l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - l1_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - }, - classHash: '0x540d7f5ec7ecf317e68d48564934cb99259781b1ee3cedbbc37ec5337f8e688', - constructorCalldata: [ - '89832696000889662999767022750851886674077821293893187900664573372145410755', - ], - contractAddress: '0x32c60fba64eb96831d064bbb2319375b7b7381543abe66da872e4344bcd72a0', - addressSalt: '0x0032d7efe2a9232f9b463e7206c68fdea4aeb13fec0cb308c6ba1d197d5922c3', - chainId: '0x534e5f5345504f4c4941', - maxFee: 55050000000000n, - version: '0x1', - nonce: 0n, -}; -const res = await myLedgerSigner.signDeployAccountV1(deployData); -// res = {hash: -// signature: -// } -``` - -#### Defined in - -[src/signer/ledgerSigner221.ts:464](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L464) - ---- - -### signDeployAccountV3 - -▸ **signDeployAccountV3**(`deployAccountDetail`): `Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -Ask the Ledger Nano to display and sign a Starknet V3 account deployment. - -#### Parameters - -| Name | Type | Description | -| :-------------------- | :------------------------------------------------------------------------------------ | :---------------------------------------------- | -| `deployAccountDetail` | [`V3DeployAccountSignerDetails`](../namespaces/types.md#v3deployaccountsignerdetails) | All the details needed for a V3 deploy account. | - -#### Returns - -`Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -an object including the transaction Hash and the signature - -**`Example`** - -```typescript -const deployData: V3DeployAccountSignerDetails = { - tip: 0, - paymasterData: [], - accountDeploymentData: [], - nonceDataAvailabilityMode: 'L1', - feeDataAvailabilityMode: 'L1', - resourceBounds: { - l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - l1_gas: { max_amount: '0x226', max_price_per_unit: '0x22ecb25c00' }, - }, - classHash: '0x540d7f5ec7ecf317e68d48564934cb99259781b1ee3cedbbc37ec5337f8e688', - constructorCalldata: [ - '3571125127744830445572285574469842579401255431821644822726857471463672199621', - ], - contractAddress: '0x4ca062add1cf12a107be1107af17981cf6e544a24d987693230ea481d3d5e34', - addressSalt: '0x07e52f68e3160e1ef698211cdf6d3792368fe347e7e2d4a8ace14d9b248f39c5', - chainId: '0x534e5f5345504f4c4941', - maxFee: 0, - version: '0x3', - nonce: 0n, -}; -const res = await myLedgerSigner.signDeployAccountV3(deployData); -// res = {hash: -// signature: -// } -``` - -#### Defined in - -[src/signer/ledgerSigner221.ts:546](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L546) - ---- - -### getPubKey - -▸ **getPubKey**(): `Promise`<`string`\> - -provides the Starknet public key - -#### Returns - -`Promise`<`string`\> - -an hex string : 64 characters are Point X coordinate. - -**`Example`** - -```typescript -const result = await myLedgerSigner.getPubKey(); -// result= "0x03681417ba3e1f050dd3ccdceb8d22b5e44fa70ee7844d472c6a768bded5174e" -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[getPubKey](SignerInterface.md#getpubkey) - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[getPubKey](LedgerSigner111.md#getpubkey) - -#### Defined in - -[src/signer/ledgerSigner111.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L108) - ---- - -### getFullPubKey - -▸ **getFullPubKey**(): `Promise`<`string`\> - -provides the full public key (with parity prefix) - -#### Returns - -`Promise`<`string`\> - -an hex string : 2 first characters are the parity, the 64 following characters are Point X coordinate. 64 last characters are Point Y coordinate. - -**`Example`** - -```typescript -const result = await myLedgerSigner.getFullPubKey(); -// result= "0x0403681417ba3e1f050dd3ccdceb8d22b5e44fa70ee7844d472c6a768bded5174e03cbc86f805dcfcb0c1922dd4daf181afa289d86223a18bc856276615bcc7787" -``` - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[getFullPubKey](LedgerSigner111.md#getfullpubkey) - -#### Defined in - -[src/signer/ledgerSigner111.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L122) - ---- - -### getAppVersion - -▸ **getAppVersion**(): `Promise`<`string`\> - -Returns the version of the Starknet APP implemented in the Ledger. - -#### Returns - -`Promise`<`string`\> - -version. - -**`Example`** - -```typescript -const result = await myLedgerSigner.getAppVersion(); -// result= "1.1.1" -``` - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[getAppVersion](LedgerSigner111.md#getappversion) - -#### Defined in - -[src/signer/ledgerSigner111.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L136) - ---- - -### signMessage - -▸ **signMessage**(`typedDataToHash`, `accountAddress`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Sign a TypedData message (SNIP-12) in a Ledger. - -#### Parameters - -| Name | Type | Description | -| :---------------- | :----------------------------------------------------------------------- | :------------------------------------------- | -| `typedDataToHash` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | A TypedData message compatible with SNIP-12. | -| `accountAddress` | `string` | Signer account address (Hex or num string) | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -The signed message. - -**`Example`** - -```typescript -const result = myLedgerSigner.signMessage(snip12Message, account0.address); -// result = Signature { r: 611475243393396148729326917410546146405234155928298353899191529090923298688n, -// s: 798839819213540985856952481651392652149797817551686626114697493101433761982n, -// recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signMessage](SignerInterface.md#signmessage) - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[signMessage](LedgerSigner111.md#signmessage) - -#### Defined in - -[src/signer/ledgerSigner111.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L157) - ---- - -### signDeclareTransaction - -▸ **signDeclareTransaction**(`details`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Sign in a Ledger the declaration of a new class. This is a blind sign on the Ledger screen. - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | -| `details` | [`DeclareSignerDetails`](../namespaces/types.md#declaresignerdetails) | An object that includes all necessary data to calculate the Hash. It can be `V3DeclareSignerDetails` or `V2DeclareSignerDetails` types. | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -The declare Signature. - -**`Example`** - -```typescript -const result = myLedgerSigner.signDeclareTransaction(details); -// result = Signature { r: 611475243393396148729326917410546146405234155928298353899191529090923298688n, -// s: 798839819213540985856952481651392652149797817551686626114697493101433761982n, -// recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signDeclareTransaction](SignerInterface.md#signdeclaretransaction) - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[signDeclareTransaction](LedgerSigner111.md#signdeclaretransaction) - -#### Defined in - -[src/signer/ledgerSigner111.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L286) - ---- - -### signRaw - -▸ **signRaw**(`msgHash`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Internal function to sign a hash in a Ledger Nano. -This is a blind sign in the Ledger ; no display of what you are signing. - -#### Parameters - -| Name | Type | -| :-------- | :------- | -| `msgHash` | `string` | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[signRaw](LedgerSigner111.md#signraw) - -#### Defined in - -[src/signer/ledgerSigner111.ts:315](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L315) - ---- - -### getPublicKeys - -▸ **getPublicKeys**(): `Promise`<`void`\> - -internal function to get both the Starknet public key and the full public key - -#### Returns - -`Promise`<`void`\> - -#### Inherited from - -[LedgerSigner111](LedgerSigner111.md).[getPublicKeys](LedgerSigner111.md#getpublickeys) - -#### Defined in - -[src/signer/ledgerSigner111.ts:334](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L334) diff --git a/www/versioned_docs/version-7.5.1/API/classes/LedgerSigner231.md b/www/versioned_docs/version-7.5.1/API/classes/LedgerSigner231.md deleted file mode 100644 index e6fe35d6a..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/LedgerSigner231.md +++ /dev/null @@ -1,835 +0,0 @@ ---- -id: 'LedgerSigner231' -title: 'Class: LedgerSigner231' -sidebar_label: 'LedgerSigner231' -sidebar_position: 0 -custom_edit_url: null ---- - -Signer for accounts using a Ledger Nano S+/X signature (Starknet Ledger APP version 2.3.1). - -The Ledger has to be connected, unlocked and the Starknet APP has to be selected prior of use of this class. - -## Type parameters - -| Name | Type | -| :---------- | :-------------------------------------- | -| `Transport` | extends `Record`<`any`, `any`\> = `any` | - -## Hierarchy - -- [`LedgerSigner221`](LedgerSigner221.md) - - ↳ **`LedgerSigner231`** - -## Implements - -- [`SignerInterface`](SignerInterface.md) - -## Constructors - -### constructor - -• **new LedgerSigner231**<`Transport`\>(`transport`, `accountID`, `eip2645application?`, `pathFunction?`): [`LedgerSigner231`](LedgerSigner231.md)<`Transport`\> - -constructor of the LedgerSigner class. - -#### Type parameters - -| Name | Type | -| :---------- | :-------------------------------------- | -| `Transport` | extends `Record`<`any`, `any`\> = `any` | - -#### Parameters - -| Name | Type | Default value | Description | -| :-------------------- | :---------------------------------------------------------------------- | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `transport` | `Transport` | `undefined` | 5 transports are available to handle USB, bluetooth, Node, Web, Mobile. See Guides for more details. | -| `accountID` | `number` | `undefined` | ID of Ledger Nano account (can handle 2\*\*31 accounts). | -| `eip2645application?` | `string` | `'LedgerW'` | A wallet is defined by an ERC2645 derivation path (6 items). One item is called `application` and can be customized. Default value is `LedgerW`. | -| `pathFunction?` | [`LedgerPathCalculation`](../namespaces/types.md#ledgerpathcalculation) | `getLedgerPathBuffer221` | defines the function that will calculate the path. By default `getLedgerPathBuffer221` is selected. If you are using APP v2.3.1 with an account created with the v1.1.1, you need to use : `typescript const myLedgerSigner = new LedgerSigner231(myNodeTransport, 0, undefined, getLedgerPathBuffer111); ` | - -#### Returns - -[`LedgerSigner231`](LedgerSigner231.md)<`Transport`\> - -**`Example`** - -```typescript -import TransportNodeHid from '@ledgerhq/hw-transport-node-hid'; -const myNodeTransport = await TransportNodeHid.create(); -const myLedgerSigner = new LedgerSigner231(myNodeTransport, 0); -``` - -#### Overrides - -[LedgerSigner221](LedgerSigner221.md).[constructor](LedgerSigner221.md#constructor) - -#### Defined in - -[src/signer/ledgerSigner231.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner231.ts#L65) - -## Properties - -### transporter - -• `Readonly` **transporter**: `any` - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[transporter](LedgerSigner221.md#transporter) - -#### Defined in - -[src/signer/ledgerSigner111.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L46) - ---- - -### \_transporter - -• `Protected` **\_transporter**: `any` - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[\_transporter](LedgerSigner221.md#_transporter) - -#### Defined in - -[src/signer/ledgerSigner111.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L49) - ---- - -### accountID - -• `Readonly` **accountID**: `number` - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[accountID](LedgerSigner221.md#accountid) - -#### Defined in - -[src/signer/ledgerSigner111.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L51) - ---- - -### eip2645applicationName - -• `Readonly` **eip2645applicationName**: `string` - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[eip2645applicationName](LedgerSigner221.md#eip2645applicationname) - -#### Defined in - -[src/signer/ledgerSigner111.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L53) - ---- - -### pathBuffer - -• `Readonly` **pathBuffer**: `Uint8Array` - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[pathBuffer](LedgerSigner221.md#pathbuffer) - -#### Defined in - -[src/signer/ledgerSigner111.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L55) - ---- - -### appVersion - -• `Protected` **appVersion**: `string` - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[appVersion](LedgerSigner221.md#appversion) - -#### Defined in - -[src/signer/ledgerSigner111.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L57) - ---- - -### pubKey - -• `Protected` **pubKey**: `string` - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[pubKey](LedgerSigner221.md#pubkey) - -#### Defined in - -[src/signer/ledgerSigner111.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L59) - ---- - -### fullPubKey - -• `Protected` **fullPubKey**: `string` - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[fullPubKey](LedgerSigner221.md#fullpubkey) - -#### Defined in - -[src/signer/ledgerSigner111.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L61) - -## Methods - -### signTxV1 - -▸ **signTxV1**(`txDetails`, `calls`): `Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -Ask the Ledger Nano to display and sign a Starknet V1 transaction. - -#### Parameters - -| Name | Type | Description | -| :---------- | :-------------------------------------------------------------------------------- | :--------------------------------- | -| `txDetails` | [`V2InvocationsSignerDetails`](../namespaces/types.md#v2invocationssignerdetails) | All the details needed for a txV1. | -| `calls` | [`Call`](../namespaces/types.md#call)[] | array of Starknet invocations | - -#### Returns - -`Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -an object including the transaction Hash and the signature - -**`Example`** - -```typescript -const calls: Call[] = [ - { - contractAddress: '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7', - entrypoint: 'transfer', - calldata: [ - '0x11f5fc2a92ac03434a7937fe982f5e5293b65ad438a989c5b78fb8f04a12016', - '0x9184e72a000', - '0x0', - ], - }, -]; -const txDet: V2InvocationsSignerDetails = { - walletAddress: txDetails.accountAddress, - chainId: constants.StarknetChainId.SN_MAIN, - cairoVersion: '1', - maxFee: txDetails.max_fee, - nonce: txDetails.nonce, - version: '0x1', -}; -const res = await myLedgerSigner.signTxV1(txDet, calls); -// res = {hash: -// signature: -// } -``` - -#### Overrides - -[LedgerSigner221](LedgerSigner221.md).[signTxV1](LedgerSigner221.md#signtxv1) - -#### Defined in - -[src/signer/ledgerSigner231.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner231.ts#L97) - ---- - -### signTxV3 - -▸ **signTxV3**(`txDetails`, `calls`): `Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -Ask to the Ledger Nano to display and sign a Starknet V3 transaction (Rpc 0.7 & Rpc 0.8). - -#### Parameters - -| Name | Type | Description | -| :---------- | :-------------------------------------------------------------------------------- | :--------------------------------- | -| `txDetails` | [`V3InvocationsSignerDetails`](../namespaces/types.md#v3invocationssignerdetails) | All the details needed for a txV3. | -| `calls` | [`Call`](../namespaces/types.md#call)[] | array of Starknet invocations | - -#### Returns - -`Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -an object including the transaction Hash and the signature - -**`Example`** - -```typescript -const calls: Call[] = [ - { - contractAddress: '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7', - entrypoint: 'transfer', - calldata: [ - '0x11f5fc2a92ac03434a7937fe982f5e5293b65ad438a989c5b78fb8f04a12016', - '0x9184e72a000', - '0x0', - ], - }, -]; -const txDetailsV3: V3InvocationsSignerDetails = { - chainId: constants.StarknetChainId.SN_MAIN, - nonce: '28', - accountDeploymentData: [], - paymasterData: [], - cairoVersion: '1', - feeDataAvailabilityMode: 'L1', - nonceDataAvailabilityMode: 'L1', - resourceBounds: { - l1_gas: { max_amount: '0x2a00', max_price_per_unit: '0x5c00000' }, - l2_gas: { max_amount: '0x00', max_price_per_unit: '0x00' }, - }, - tip: 0, - version: '0x3', - walletAddress: account0.address, -}; // Rpc 0.7 transaction. -const res = await myLedgerSigner.signTxV3(txDetailsV3, calls); -// res = {hash: -// signature: -// } -``` - -#### Overrides - -[LedgerSigner221](LedgerSigner221.md).[signTxV3](LedgerSigner221.md#signtxv3) - -#### Defined in - -[src/signer/ledgerSigner231.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner231.ts#L167) - ---- - -### signDeployAccountV1 - -▸ **signDeployAccountV1**(`deployAccountDetail`): `Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -Ask the Ledger Nano to display and sign a Starknet V1 account deployment. - -#### Parameters - -| Name | Type | Description | -| :-------------------- | :------------------------------------------------------------------------------------ | :---------------------------------------------- | -| `deployAccountDetail` | [`V2DeployAccountSignerDetails`](../namespaces/types.md#v2deployaccountsignerdetails) | All the details needed for a V1 deploy account. | - -#### Returns - -`Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -an object including the transaction Hash and the signature - -**`Example`** - -```typescript -const deployData: V2DeployAccountSignerDetails = { - tip: 0, - paymasterData: [], - accountDeploymentData: [], - nonceDataAvailabilityMode: 'L1', - feeDataAvailabilityMode: 'L1', - resourceBounds: { - l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - l1_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - }, - classHash: '0x540d7f5ec7ecf317e68d48564934cb99259781b1ee3cedbbc37ec5337f8e688', - constructorCalldata: [ - '89832696000889662999767022750851886674077821293893187900664573372145410755', - ], - contractAddress: '0x32c60fba64eb96831d064bbb2319375b7b7381543abe66da872e4344bcd72a0', - addressSalt: '0x0032d7efe2a9232f9b463e7206c68fdea4aeb13fec0cb308c6ba1d197d5922c3', - chainId: '0x534e5f5345504f4c4941', - maxFee: 55050000000000n, - version: '0x1', - nonce: 0n, -}; -const res = await myLedgerSigner.signDeployAccountV1(deployData); -// res = {hash: -// signature: -// } -``` - -#### Overrides - -[LedgerSigner221](LedgerSigner221.md).[signDeployAccountV1](LedgerSigner221.md#signdeployaccountv1) - -#### Defined in - -[src/signer/ledgerSigner231.ts:291](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner231.ts#L291) - ---- - -### signDeployAccountV3 - -▸ **signDeployAccountV3**(`deployAccountDetail`): `Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -Ask the Ledger Nano to display and sign a Starknet V3 account deployment (Rpc 0.7 & Rpc 0.8). - -#### Parameters - -| Name | Type | Description | -| :-------------------- | :------------------------------------------------------------------------------------ | :---------------------------------------------- | -| `deployAccountDetail` | [`V3DeployAccountSignerDetails`](../namespaces/types.md#v3deployaccountsignerdetails) | All the details needed for a V3 deploy account. | - -#### Returns - -`Promise`<\{ `hash`: `bigint` ; `signature`: [`Signature`](../namespaces/types.md#signature) }\> - -an object including the transaction Hash and the signature - -**`Example`** - -```typescript -const deployData: V3DeployAccountSignerDetails = { - tip: 0, - paymasterData: [], - accountDeploymentData: [], - nonceDataAvailabilityMode: 'L1', - feeDataAvailabilityMode: 'L1', - resourceBounds: { - l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, - l1_gas: { max_amount: '0x226', max_price_per_unit: '0x22ecb25c00' }, - }, - classHash: '0x540d7f5ec7ecf317e68d48564934cb99259781b1ee3cedbbc37ec5337f8e688', - constructorCalldata: [ - '3571125127744830445572285574469842579401255431821644822726857471463672199621', - ], - contractAddress: '0x4ca062add1cf12a107be1107af17981cf6e544a24d987693230ea481d3d5e34', - addressSalt: '0x07e52f68e3160e1ef698211cdf6d3792368fe347e7e2d4a8ace14d9b248f39c5', - chainId: '0x534e5f5345504f4c4941', - maxFee: 0, - version: '0x3', - nonce: 0n, -}; // Rpc 0.7 transaction. -const res = await myLedgerSigner.signDeployAccountV3(deployData); -// res = {hash: -// signature: -// } -``` - -#### Overrides - -[LedgerSigner221](LedgerSigner221.md).[signDeployAccountV3](LedgerSigner221.md#signdeployaccountv3) - -#### Defined in - -[src/signer/ledgerSigner231.ts:373](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner231.ts#L373) - ---- - -### encodeCall - -▸ **encodeCall**(`call`): `Uint8Array`[] - -Internal function to convert a Call to an array of Uint8Array. - -#### Parameters - -| Name | Type | Description | -| :----- | :------------------------------------ | :----------------- | -| `call` | [`Call`](../namespaces/types.md#call) | A Call to convert. | - -#### Returns - -`Uint8Array`[] - -Call encoded in an array of Uint8Array (each containing 7 u256). - -#### Overrides - -[LedgerSigner221](LedgerSigner221.md).[encodeCall](LedgerSigner221.md#encodecall) - -#### Defined in - -[src/signer/ledgerSigner231.ts:474](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner231.ts#L474) - ---- - -### signTransaction - -▸ **signTransaction**(`transactions`, `transactionsDetail`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Sign in a Ledger a V1 or a V3 transaction. The details are displayed on the Ledger screen. - -#### Parameters - -| Name | Type | Description | -| :------------------- | :---------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | -| `transactions` | [`Call`](../namespaces/types.md#call)[] | An array of `Call` transactions (generated for example by `myContract.populate()`). | -| `transactionsDetail` | [`InvocationsSignerDetails`](../namespaces/types.md#invocationssignerdetails) | An object that includes all the necessary inputs to hash the transaction. Can be `V2InvocationsSignerDetails` or `V3InvocationsSignerDetails` type. | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -The signed transaction. - -**`Example`** - -```typescript -const txDetailsV3: V3InvocationsSignerDetails = { - chainId: constants.StarknetChainId.SN_MAIN, - nonce: '28', - accountDeploymentData: [], - paymasterData: [], - cairoVersion: '1', - feeDataAvailabilityMode: 'L1', - nonceDataAvailabilityMode: 'L1', - resourceBounds: { - l1_gas: { - max_amount: '0x2a00', - max_price_per_unit: '0x5c00000', - }, - l2_gas: { - max_amount: '0x00', - max_price_per_unit: '0x00', - }, - }, - tip: 0, - version: '0x3', - walletAddress: account0.address, -}; -const result = myLedgerSigner.signTransaction([call0, call1], txDetailsV3); -// result = Signature { r: 611475243393396148729326917410546146405234155928298353899191529090923298688n, -// s: 798839819213540985856952481651392652149797817551686626114697493101433761982n, -// recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signTransaction](SignerInterface.md#signtransaction) - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[signTransaction](LedgerSigner221.md#signtransaction) - -#### Defined in - -[src/signer/ledgerSigner221.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L120) - ---- - -### signDeployAccountTransaction - -▸ **signDeployAccountTransaction**(`details`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Sign in a Ledger the deployment of a new account. The details are displayed on the Ledger screen. - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | -| `details` | [`DeployAccountSignerDetails`](../namespaces/types.md#deployaccountsignerdetails) | An object that includes all necessary data to calculate the Hash. It can be `V2DeployAccountSignerDetails` or `V3DeployAccountSignerDetails` types. | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -The deploy account signature. - -**`Example`** - -```typescript -const result = myLedgerSigner.signDeployAccountTransaction(details); -// result = Signature { r: 611475243393396148729326917410546146405234155928298353899191529090923298688n, -// s: 798839819213540985856952481651392652149797817551686626114697493101433761982n, -// recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signDeployAccountTransaction](SignerInterface.md#signdeployaccounttransaction) - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[signDeployAccountTransaction](LedgerSigner221.md#signdeployaccounttransaction) - -#### Defined in - -[src/signer/ledgerSigner221.ts:173](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L173) - ---- - -### convertBnToLedger - -▸ **convertBnToLedger**(`input`): `Uint8Array` - -Internal function to convert a bigNumberish to an Uint8array of 256 bits - -#### Parameters - -| Name | Type | Description | -| :------ | :---------------------------------------------------- | :---------- | -| `input` | [`BigNumberish`](../namespaces/types.md#bignumberish) | input value | - -#### Returns - -`Uint8Array` - -a Uint8Array containing 32 bytes. - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[convertBnToLedger](LedgerSigner221.md#convertbntoledger) - -#### Defined in - -[src/signer/ledgerSigner221.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L219) - ---- - -### decodeSignatureLedger - -▸ **decodeSignatureLedger**(`respSign`): `Object` - -Internal function to decode the response of the Ledger signature - -#### Parameters - -| Name | Type | Description | -| :--------- | :----------- | :-------------------------------- | -| `respSign` | `Uint8Array` | the Buffer response of the Ledger | - -#### Returns - -`Object` - -transaction hash & signature - -| Name | Type | -| :---------- | :---------------------------------------------- | -| `hash` | `bigint` | -| `signature` | [`Signature`](../namespaces/types.md#signature) | - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[decodeSignatureLedger](LedgerSigner221.md#decodesignatureledger) - -#### Defined in - -[src/signer/ledgerSigner221.ts:228](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L228) - ---- - -### getPubKey - -▸ **getPubKey**(): `Promise`<`string`\> - -provides the Starknet public key - -#### Returns - -`Promise`<`string`\> - -an hex string : 64 characters are Point X coordinate. - -**`Example`** - -```typescript -const result = await myLedgerSigner.getPubKey(); -// result= "0x03681417ba3e1f050dd3ccdceb8d22b5e44fa70ee7844d472c6a768bded5174e" -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[getPubKey](SignerInterface.md#getpubkey) - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[getPubKey](LedgerSigner221.md#getpubkey) - -#### Defined in - -[src/signer/ledgerSigner111.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L108) - ---- - -### getFullPubKey - -▸ **getFullPubKey**(): `Promise`<`string`\> - -provides the full public key (with parity prefix) - -#### Returns - -`Promise`<`string`\> - -an hex string : 2 first characters are the parity, the 64 following characters are Point X coordinate. 64 last characters are Point Y coordinate. - -**`Example`** - -```typescript -const result = await myLedgerSigner.getFullPubKey(); -// result= "0x0403681417ba3e1f050dd3ccdceb8d22b5e44fa70ee7844d472c6a768bded5174e03cbc86f805dcfcb0c1922dd4daf181afa289d86223a18bc856276615bcc7787" -``` - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[getFullPubKey](LedgerSigner221.md#getfullpubkey) - -#### Defined in - -[src/signer/ledgerSigner111.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L122) - ---- - -### getAppVersion - -▸ **getAppVersion**(): `Promise`<`string`\> - -Returns the version of the Starknet APP implemented in the Ledger. - -#### Returns - -`Promise`<`string`\> - -version. - -**`Example`** - -```typescript -const result = await myLedgerSigner.getAppVersion(); -// result= "1.1.1" -``` - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[getAppVersion](LedgerSigner221.md#getappversion) - -#### Defined in - -[src/signer/ledgerSigner111.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L136) - ---- - -### signMessage - -▸ **signMessage**(`typedDataToHash`, `accountAddress`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Sign a TypedData message (SNIP-12) in a Ledger. - -#### Parameters - -| Name | Type | Description | -| :---------------- | :----------------------------------------------------------------------- | :------------------------------------------- | -| `typedDataToHash` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | A TypedData message compatible with SNIP-12. | -| `accountAddress` | `string` | Signer account address (Hex or num string) | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -The signed message. - -**`Example`** - -```typescript -const result = myLedgerSigner.signMessage(snip12Message, account0.address); -// result = Signature { r: 611475243393396148729326917410546146405234155928298353899191529090923298688n, -// s: 798839819213540985856952481651392652149797817551686626114697493101433761982n, -// recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signMessage](SignerInterface.md#signmessage) - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[signMessage](LedgerSigner221.md#signmessage) - -#### Defined in - -[src/signer/ledgerSigner111.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L157) - ---- - -### signDeclareTransaction - -▸ **signDeclareTransaction**(`details`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Sign in a Ledger the declaration of a new class. This is a blind sign on the Ledger screen. - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | -| `details` | [`DeclareSignerDetails`](../namespaces/types.md#declaresignerdetails) | An object that includes all necessary data to calculate the Hash. It can be `V3DeclareSignerDetails` or `V2DeclareSignerDetails` types. | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -The declare Signature. - -**`Example`** - -```typescript -const result = myLedgerSigner.signDeclareTransaction(details); -// result = Signature { r: 611475243393396148729326917410546146405234155928298353899191529090923298688n, -// s: 798839819213540985856952481651392652149797817551686626114697493101433761982n, -// recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signDeclareTransaction](SignerInterface.md#signdeclaretransaction) - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[signDeclareTransaction](LedgerSigner221.md#signdeclaretransaction) - -#### Defined in - -[src/signer/ledgerSigner111.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L286) - ---- - -### signRaw - -▸ **signRaw**(`msgHash`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Internal function to sign a hash in a Ledger Nano. -This is a blind sign in the Ledger ; no display of what you are signing. - -#### Parameters - -| Name | Type | -| :-------- | :------- | -| `msgHash` | `string` | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[signRaw](LedgerSigner221.md#signraw) - -#### Defined in - -[src/signer/ledgerSigner111.ts:315](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L315) - ---- - -### getPublicKeys - -▸ **getPublicKeys**(): `Promise`<`void`\> - -internal function to get both the Starknet public key and the full public key - -#### Returns - -`Promise`<`void`\> - -#### Inherited from - -[LedgerSigner221](LedgerSigner221.md).[getPublicKeys](LedgerSigner221.md#getpublickeys) - -#### Defined in - -[src/signer/ledgerSigner111.ts:334](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L334) diff --git a/www/versioned_docs/version-7.5.1/API/classes/LibraryError.md b/www/versioned_docs/version-7.5.1/API/classes/LibraryError.md deleted file mode 100644 index 47b00ce15..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/LibraryError.md +++ /dev/null @@ -1,175 +0,0 @@ ---- -id: 'LibraryError' -title: 'Class: LibraryError' -sidebar_label: 'LibraryError' -sidebar_position: 0 -custom_edit_url: null ---- - -## Hierarchy - -- `CustomError` - - ↳ **`LibraryError`** - - ↳↳ [`RpcError`](RpcError.md) - - ↳↳ [`TimeoutError`](TimeoutError.md) - - ↳↳ [`WebSocketNotConnectedError`](WebSocketNotConnectedError.md) - -## Constructors - -### constructor - -• **new LibraryError**(`message?`): [`LibraryError`](LibraryError.md) - -#### Parameters - -| Name | Type | -| :--------- | :------- | -| `message?` | `string` | - -#### Returns - -[`LibraryError`](LibraryError.md) - -#### Inherited from - -CustomError.constructor - -#### Defined in - -[src/utils/errors/index.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/errors/index.ts#L23) - -## Properties - -### prepareStackTrace - -▪ `Static` `Optional` **prepareStackTrace**: (`err`: `Error`, `stackTraces`: `CallSite`[]) => `any` - -#### Type declaration - -▸ (`err`, `stackTraces`): `any` - -Optional override for formatting stack traces - -##### Parameters - -| Name | Type | -| :------------ | :----------- | -| `err` | `Error` | -| `stackTraces` | `CallSite`[] | - -##### Returns - -`any` - -**`See`** - -https://v8.dev/docs/stack-trace-api#customizing-stack-traces - -#### Inherited from - -CustomError.prepareStackTrace - -#### Defined in - -node_modules/@types/node/globals.d.ts:143 - ---- - -### stackTraceLimit - -▪ `Static` **stackTraceLimit**: `number` - -#### Inherited from - -CustomError.stackTraceLimit - -#### Defined in - -node_modules/@types/node/globals.d.ts:145 - ---- - -### name - -• **name**: `string` - -#### Inherited from - -CustomError.name - -#### Defined in - -[src/utils/errors/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/errors/index.ts#L21) - ---- - -### message - -• **message**: `string` - -#### Inherited from - -CustomError.message - -#### Defined in - -www/node_modules/typescript/lib/lib.es5.d.ts:1055 - ---- - -### stack - -• `Optional` **stack**: `string` - -#### Inherited from - -CustomError.stack - -#### Defined in - -www/node_modules/typescript/lib/lib.es5.d.ts:1056 - ---- - -### cause - -• `Optional` **cause**: `unknown` - -#### Inherited from - -CustomError.cause - -#### Defined in - -www/node_modules/typescript/lib/lib.es2022.error.d.ts:24 - -## Methods - -### captureStackTrace - -▸ **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` - -Create .stack property on a target object - -#### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `targetObject` | `object` | -| `constructorOpt?` | `Function` | - -#### Returns - -`void` - -#### Inherited from - -CustomError.captureStackTrace - -#### Defined in - -node_modules/@types/node/globals.d.ts:136 diff --git a/www/versioned_docs/version-7.5.1/API/classes/PaymasterInterface.md b/www/versioned_docs/version-7.5.1/API/classes/PaymasterInterface.md deleted file mode 100644 index 5c2e36c8a..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/PaymasterInterface.md +++ /dev/null @@ -1,153 +0,0 @@ ---- -id: 'PaymasterInterface' -title: 'Class: PaymasterInterface' -sidebar_label: 'PaymasterInterface' -sidebar_position: 0 -custom_edit_url: null ---- - -## Implemented by - -- [`PaymasterRpc`](PaymasterRpc.md) - -## Constructors - -### constructor - -• **new PaymasterInterface**(): [`PaymasterInterface`](PaymasterInterface.md) - -#### Returns - -[`PaymasterInterface`](PaymasterInterface.md) - -## Properties - -### nodeUrl - -• `Abstract` **nodeUrl**: `string` - -#### Defined in - -[src/paymaster/interface.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/interface.ts#L12) - ---- - -### headers - -• `Abstract` **headers**: `object` - -#### Defined in - -[src/paymaster/interface.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/interface.ts#L14) - ---- - -### baseFetch - -• `Readonly` `Abstract` **baseFetch**: (`input`: `RequestInfo` \| `URL`, `init?`: `RequestInit`) => `Promise`<`Response`\> - -#### Type declaration - -▸ (`input`, `init?`): `Promise`<`Response`\> - -##### Parameters - -| Name | Type | -| :------ | :--------------------- | -| `input` | `RequestInfo` \| `URL` | -| `init?` | `RequestInit` | - -##### Returns - -`Promise`<`Response`\> - -#### Defined in - -[src/paymaster/interface.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/interface.ts#L16) - -## Methods - -### isAvailable - -▸ **isAvailable**(): `Promise`<`boolean`\> - -Returns the status of the paymaster service - -#### Returns - -`Promise`<`boolean`\> - -If the paymaster service is correctly functioning, return true. Else, return false - -#### Defined in - -[src/paymaster/interface.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/interface.ts#L23) - ---- - -### buildTransaction - -▸ **buildTransaction**(`transaction`, `parameters`): `Promise`<[`PreparedTransaction`](../namespaces/types.md#preparedtransaction)\> - -Receives the transaction the user wants to execute. Returns the typed data along with -the estimated gas cost and the maximum gas cost suggested to ensure execution - -#### Parameters - -| Name | Type | Description | -| :------------ | :------------------------------------------------------------------ | :------------------------------------------------------------- | -| `transaction` | [`UserTransaction`](../namespaces/types.md#usertransaction) | Transaction to be executed by the paymaster | -| `parameters` | [`ExecutionParameters`](../namespaces/types.md#executionparameters) | Execution parameters to be used when executing the transaction | - -#### Returns - -`Promise`<[`PreparedTransaction`](../namespaces/types.md#preparedtransaction)\> - -The transaction data required for execution along with an estimation of the fee - -#### Defined in - -[src/paymaster/interface.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/interface.ts#L33) - ---- - -### executeTransaction - -▸ **executeTransaction**(`transaction`, `parameters`): `Promise`<[`ExecuteResponse`](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md#executeresponse)\> - -Sends the signed typed data to the paymaster service for execution - -#### Parameters - -| Name | Type | Description | -| :------------ | :------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------- | -| `transaction` | [`ExecutableUserTransaction`](../namespaces/types.md#executableusertransaction) | Typed data build by calling paymaster_buildTransaction signed by the user to be executed by the paymaster service | -| `parameters` | [`ExecutionParameters`](../namespaces/types.md#executionparameters) | Execution parameters to be used when executing the transaction | - -#### Returns - -`Promise`<[`ExecuteResponse`](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md#executeresponse)\> - -The hash of the transaction broadcasted by the paymaster and the tracking ID corresponding to the user `execute` request - -#### Defined in - -[src/paymaster/interface.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/interface.ts#L45) - ---- - -### getSupportedTokens - -▸ **getSupportedTokens**(): `Promise`<[`TokenData`](../interfaces/types.TokenData.md)[]\> - -Get a list of the tokens that the paymaster supports, together with their prices in STRK - -#### Returns - -`Promise`<[`TokenData`](../interfaces/types.TokenData.md)[]\> - -An array of token data - -#### Defined in - -[src/paymaster/interface.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/interface.ts#L55) diff --git a/www/versioned_docs/version-7.5.1/API/classes/PaymasterRpc.md b/www/versioned_docs/version-7.5.1/API/classes/PaymasterRpc.md deleted file mode 100644 index 35f35415e..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/PaymasterRpc.md +++ /dev/null @@ -1,273 +0,0 @@ ---- -id: 'PaymasterRpc' -title: 'Class: PaymasterRpc' -sidebar_label: 'PaymasterRpc' -sidebar_position: 0 -custom_edit_url: null ---- - -## Implements - -- [`PaymasterInterface`](PaymasterInterface.md) - -## Constructors - -### constructor - -• **new PaymasterRpc**(`options?`): [`PaymasterRpc`](PaymasterRpc.md) - -#### Parameters - -| Name | Type | -| :--------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | -| `options?` | [`PaymasterOptions`](../interfaces/types.PaymasterOptions.md) \| [`PaymasterInterface`](PaymasterInterface.md) \| [`PaymasterRpc`](PaymasterRpc.md) | - -#### Returns - -[`PaymasterRpc`](PaymasterRpc.md) - -#### Defined in - -[src/paymaster/rpc.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/rpc.ts#L84) - -## Properties - -### nodeUrl - -• **nodeUrl**: `string` - -#### Implementation of - -[PaymasterInterface](PaymasterInterface.md).[nodeUrl](PaymasterInterface.md#nodeurl) - -#### Defined in - -[src/paymaster/rpc.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/rpc.ts#L76) - ---- - -### headers - -• **headers**: `object` - -#### Implementation of - -[PaymasterInterface](PaymasterInterface.md).[headers](PaymasterInterface.md#headers) - -#### Defined in - -[src/paymaster/rpc.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/rpc.ts#L78) - ---- - -### baseFetch - -• `Readonly` **baseFetch**: (`input`: `RequestInfo` \| `URL`, `init?`: `RequestInit`) => `Promise`<`Response`\> - -#### Type declaration - -▸ (`input`, `init?`): `Promise`<`Response`\> - -##### Parameters - -| Name | Type | -| :------ | :--------------------- | -| `input` | `RequestInfo` \| `URL` | -| `init?` | `RequestInit` | - -##### Returns - -`Promise`<`Response`\> - -#### Implementation of - -[PaymasterInterface](PaymasterInterface.md).[baseFetch](PaymasterInterface.md#basefetch) - -#### Defined in - -[src/paymaster/rpc.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/rpc.ts#L80) - ---- - -### requestId - -• **requestId**: `number` - -#### Defined in - -[src/paymaster/rpc.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/rpc.ts#L82) - -## Methods - -### fetch - -▸ **fetch**(`method`, `params?`, `id?`): `Promise`<`Response`\> - -#### Parameters - -| Name | Type | Default value | -| :-------- | :------------------- | :------------ | -| `method` | `string` | `undefined` | -| `params?` | `object` | `undefined` | -| `id` | `string` \| `number` | `0` | - -#### Returns - -`Promise`<`Response`\> - -#### Defined in - -[src/paymaster/rpc.ts:114](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/rpc.ts#L114) - ---- - -### errorHandler - -▸ **errorHandler**(`method`, `params`, `rpcError?`, `otherError?`): `void` - -#### Parameters - -| Name | Type | -| :------------ | :----------------------------------------------- | -| `method` | `string` | -| `params` | `any` | -| `rpcError?` | [`Error`](../namespaces/types.RPC.JRPC.md#error) | -| `otherError?` | `any` | - -#### Returns - -`void` - -#### Defined in - -[src/paymaster/rpc.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/rpc.ts#L128) - ---- - -### fetchEndpoint - -▸ **fetchEndpoint**<`T`\>(`method`, `params?`): `Promise`<[`Methods`](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md#methods)[`T`][``"result"``]\> - -#### Type parameters - -| Name | Type | -| :--- | :-------------------------------------------------------------- | -| `T` | extends keyof `ReadMethods` \| `"paymaster_executeTransaction"` | - -#### Parameters - -| Name | Type | -| :-------- | :----------------------------------------------------------------------------------------- | -| `method` | `T` | -| `params?` | [`Methods`](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md#methods)[`T`][``"params"``] | - -#### Returns - -`Promise`<[`Methods`](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md#methods)[`T`][``"result"``]\> - -#### Defined in - -[src/paymaster/rpc.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/rpc.ts#L140) - ---- - -### isAvailable - -▸ **isAvailable**(): `Promise`<`boolean`\> - -Returns the status of the paymaster service - -#### Returns - -`Promise`<`boolean`\> - -If the paymaster service is correctly functioning, return true. Else, return false - -#### Implementation of - -[PaymasterInterface](PaymasterInterface.md).[isAvailable](PaymasterInterface.md#isavailable) - -#### Defined in - -[src/paymaster/rpc.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/rpc.ts#L156) - ---- - -### buildTransaction - -▸ **buildTransaction**(`transaction`, `parameters`): `Promise`<[`PreparedTransaction`](../namespaces/types.md#preparedtransaction)\> - -Receives the transaction the user wants to execute. Returns the typed data along with -the estimated gas cost and the maximum gas cost suggested to ensure execution - -#### Parameters - -| Name | Type | Description | -| :------------ | :------------------------------------------------------------------ | :------------------------------------------------------------- | -| `transaction` | [`UserTransaction`](../namespaces/types.md#usertransaction) | Transaction to be executed by the paymaster | -| `parameters` | [`ExecutionParameters`](../namespaces/types.md#executionparameters) | Execution parameters to be used when executing the transaction | - -#### Returns - -`Promise`<[`PreparedTransaction`](../namespaces/types.md#preparedtransaction)\> - -The transaction data required for execution along with an estimation of the fee - -#### Implementation of - -[PaymasterInterface](PaymasterInterface.md).[buildTransaction](PaymasterInterface.md#buildtransaction) - -#### Defined in - -[src/paymaster/rpc.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/rpc.ts#L160) - ---- - -### executeTransaction - -▸ **executeTransaction**(`transaction`, `parameters`): `Promise`<[`ExecuteResponse`](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md#executeresponse)\> - -Sends the signed typed data to the paymaster service for execution - -#### Parameters - -| Name | Type | Description | -| :------------ | :------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------- | -| `transaction` | [`ExecutableUserTransaction`](../namespaces/types.md#executableusertransaction) | Typed data build by calling paymaster_buildTransaction signed by the user to be executed by the paymaster service | -| `parameters` | [`ExecutionParameters`](../namespaces/types.md#executionparameters) | Execution parameters to be used when executing the transaction | - -#### Returns - -`Promise`<[`ExecuteResponse`](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md#executeresponse)\> - -The hash of the transaction broadcasted by the paymaster and the tracking ID corresponding to the user `execute` request - -#### Implementation of - -[PaymasterInterface](PaymasterInterface.md).[executeTransaction](PaymasterInterface.md#executetransaction) - -#### Defined in - -[src/paymaster/rpc.ts:238](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/rpc.ts#L238) - ---- - -### getSupportedTokens - -▸ **getSupportedTokens**(): `Promise`<[`TokenData`](../interfaces/types.TokenData.md)[]\> - -Get a list of the tokens that the paymaster supports, together with their prices in STRK - -#### Returns - -`Promise`<[`TokenData`](../interfaces/types.TokenData.md)[]\> - -An array of token data - -#### Implementation of - -[PaymasterInterface](PaymasterInterface.md).[getSupportedTokens](PaymasterInterface.md#getsupportedtokens) - -#### Defined in - -[src/paymaster/rpc.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/rpc.ts#L282) diff --git a/www/versioned_docs/version-7.5.1/API/classes/Provider.md b/www/versioned_docs/version-7.5.1/API/classes/Provider.md deleted file mode 100644 index 550f4f8a7..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/Provider.md +++ /dev/null @@ -1,1700 +0,0 @@ ---- -id: 'Provider' -title: 'Class: Provider' -sidebar_label: 'Provider' -sidebar_position: 0 -custom_edit_url: null ---- - -## Hierarchy - -- `RpcProvider`<`this`\> & `StarknetId`<`this`\> - - ↳ **`Provider`** - - ↳↳ [`Account`](Account.md) - -## Constructors - -### constructor - -• **new Provider**(`optionsOrProvider?`): [`Provider`](Provider.md) - -#### Parameters - -| Name | Type | -| :------------------- | :-------------------------------------------------------------------------------------------------------------------------------- | -| `optionsOrProvider?` | [`RpcProviderOptions`](../namespaces/types.md#rpcprovideroptions) \| [`ProviderInterface`](ProviderInterface.md) \| `RpcProvider` | - -#### Returns - -[`Provider`](Provider.md) - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).constructor - -#### Defined in - -[src/provider/rpc.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L69) - -• **new Provider**(): [`Provider`](Provider.md) - -#### Returns - -[`Provider`](Provider.md) - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).constructor - -## Properties - -### responseParser - -• **responseParser**: [`RPCResponseParser`](RPCResponseParser.md) - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).responseParser - -#### Defined in - -[src/provider/rpc.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L65) - ---- - -### channel - -• **channel**: [`RpcChannel`](RPC07.RpcChannel.md) \| [`RpcChannel`](RPC08.RpcChannel.md) - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).channel - -#### Defined in - -[src/provider/rpc.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L67) - ---- - -### getStateUpdate - -• **getStateUpdate**: () => `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\>(`blockIdentifier`: `"pending"`) => `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\>(`blockIdentifier`: `"latest"`) => `Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\>(`blockIdentifier?`: [`BlockIdentifier`](../namespaces/types.md#blockidentifier)) => `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -#### Type declaration - -▸ (): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -##### Returns - -`Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -▸ (`blockIdentifier`): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -##### Parameters - -| Name | Type | -| :---------------- | :---------- | -| `blockIdentifier` | `"pending"` | - -##### Returns - -`Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -▸ (`blockIdentifier`): `Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -##### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `blockIdentifier` | `"latest"` | - -##### Returns - -`Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -▸ (`blockIdentifier?`): `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -##### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -##### Returns - -`Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getStateUpdate - -#### Defined in - -[src/provider/rpc.ts:268](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L268) - -## Methods - -### create - -▸ **create**<`T`\>(`this`, `optionsOrProvider?`): `Promise`<`T`\> - -auto configure channel based on provided node -leave space for other async before constructor - -#### Type parameters - -| Name | Type | -| :--- | :-------------------------- | -| `T` | extends `RpcProvider`<`T`\> | - -#### Parameters - -| Name | Type | -| :------------------- | :----------------------------------------------------------------------------------------------- | -| `this` | (...`args`: [optionsOrProvider?: RpcProviderOptions \| ProviderInterface \| RpcProvider]) => `T` | -| `optionsOrProvider?` | [`RpcProviderOptions`](../namespaces/types.md#rpcprovideroptions) | - -#### Returns - -`Promise`<`T`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).create - -#### Defined in - -[src/provider/rpc.ts:101](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L101) - ---- - -### getStarkName - -▸ **getStarkName**(`provider`, `address`, `StarknetIdContract?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :-------------------- | :---------------------------------------------------- | -| `provider` | [`ProviderInterface`](ProviderInterface.md) | -| `address` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `StarknetIdContract?` | `string` | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getStarkName - -#### Defined in - -[src/provider/extensions/starknetId.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L62) - ---- - -### getAddressFromStarkName - -▸ **getAddressFromStarkName**(`provider`, `name`, `StarknetIdContract?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :-------------------- | :------------------------------------------ | -| `provider` | [`ProviderInterface`](ProviderInterface.md) | -| `name` | `string` | -| `StarknetIdContract?` | `string` | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getAddressFromStarkName - -#### Defined in - -[src/provider/extensions/starknetId.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L96) - ---- - -### getStarkProfile - -▸ **getStarkProfile**(`provider`, `address`, `StarknetIdContract?`, `StarknetIdIdentityContract?`, `StarknetIdVerifierContract?`, `StarknetIdPfpContract?`, `StarknetIdPopContract?`, `StarknetIdMulticallContract?`): `Promise`<[`StarkProfile`](../namespaces/types.md#starkprofile)\> - -#### Parameters - -| Name | Type | -| :----------------------------- | :---------------------------------------------------- | -| `provider` | [`ProviderInterface`](ProviderInterface.md) | -| `address` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `StarknetIdContract?` | `string` | -| `StarknetIdIdentityContract?` | `string` | -| `StarknetIdVerifierContract?` | `string` | -| `StarknetIdPfpContract?` | `string` | -| `StarknetIdPopContract?` | `string` | -| `StarknetIdMulticallContract?` | `string` | - -#### Returns - -`Promise`<[`StarkProfile`](../namespaces/types.md#starkprofile)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getStarkProfile - -#### Defined in - -[src/provider/extensions/starknetId.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L128) - ---- - -### fetch - -▸ **fetch**(`method`, `params?`, `id?`): `Promise`<`Response`\> - -#### Parameters - -| Name | Type | Default value | -| :-------- | :------------------- | :------------ | -| `method` | `string` | `undefined` | -| `params?` | `object` | `undefined` | -| `id` | `string` \| `number` | `0` | - -#### Returns - -`Promise`<`Response`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).fetch - -#### Defined in - -[src/provider/rpc.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L131) - ---- - -### getChainId - -▸ **getChainId**(): `Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -#### Returns - -`Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getChainId - -#### Defined in - -[src/provider/rpc.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L135) - ---- - -### readSpecVersion - -▸ **readSpecVersion**(): `undefined` \| `"0.7.1"` \| `"0.8.1"` - -read channel spec version - -#### Returns - -`undefined` \| `"0.7.1"` \| `"0.8.1"` - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).readSpecVersion - -#### Defined in - -[src/provider/rpc.ts:142](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L142) - ---- - -### getSpecVersion - -▸ **getSpecVersion**(): `Promise`<`string`\> - -get channel spec version - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getSpecVersion - -#### Defined in - -[src/provider/rpc.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L149) - ---- - -### setUpSpecVersion - -▸ **setUpSpecVersion**(): `Promise`<`"0.7.1"` \| `"0.8.1"`\> - -setup channel spec version and return it - -#### Returns - -`Promise`<`"0.7.1"` \| `"0.8.1"`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).setUpSpecVersion - -#### Defined in - -[src/provider/rpc.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L156) - ---- - -### getNonceForAddress - -▸ **getNonceForAddress**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getNonceForAddress - -#### Defined in - -[src/provider/rpc.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L160) - ---- - -### getBlock - -▸ **getBlock**(): `Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -#### Returns - -`Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlock - -#### Defined in - -[src/provider/rpc.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L167) - -▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------- | -| `blockIdentifier` | `"pending"` | - -#### Returns - -`Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlock - -#### Defined in - -[src/provider/rpc.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L168) - -▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> - -#### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `blockIdentifier` | `"latest"` | - -#### Returns - -`Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlock - -#### Defined in - -[src/provider/rpc.ts:169](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L169) - -▸ **getBlock**(`blockIdentifier?`): `Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlock - -#### Defined in - -[src/provider/rpc.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L170) - ---- - -### getBlockLatestAccepted - -▸ **getBlockLatestAccepted**(): `Promise`<[`BlockHashAndNumber`](../namespaces/types.RPC.RPCSPEC07.API.md#blockhashandnumber)\> - -Get the most recent accepted block hash and number - -#### Returns - -`Promise`<[`BlockHashAndNumber`](../namespaces/types.RPC.RPCSPEC07.API.md#blockhashandnumber)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlockLatestAccepted - -#### Defined in - -[src/provider/rpc.ts:180](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L180) - ---- - -### getBlockNumber - -▸ **getBlockNumber**(): `Promise`<`number`\> - -Get the most recent accepted block number -redundant use getBlockLatestAccepted(); - -#### Returns - -`Promise`<`number`\> - -Number of the latest block - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlockNumber - -#### Defined in - -[src/provider/rpc.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L189) - ---- - -### getBlockWithTxHashes - -▸ **getBlockWithTxHashes**(`blockIdentifier?`): `Promise`<[`BlockWithTxHashes`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxhashes)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockWithTxHashes`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxhashes)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlockWithTxHashes - -#### Defined in - -[src/provider/rpc.ts:193](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L193) - ---- - -### getBlockWithTxs - -▸ **getBlockWithTxs**(`blockIdentifier?`): `Promise`<[`BlockWithTxs`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxs)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockWithTxs`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxs)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlockWithTxs - -#### Defined in - -[src/provider/rpc.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L197) - ---- - -### waitForBlock - -▸ **waitForBlock**(`blockIdentifier?`, `retryInterval?`): `Promise`<`void`\> - -Pause the execution of the script until a specified block is created. - -#### Parameters - -| Name | Type | Default value | Description | -| :---------------- | :---------------------------------------------------------- | :------------ | :------------------------------------------------------------------------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | `'pending'` | bloc number (BigNumberish) or 'pending' or 'latest'. Use of 'latest" or of a block already created will generate no pause. | -| `retryInterval?` | `number` | `5000` | number of milliseconds between 2 requests to the node | - -#### Returns - -`Promise`<`void`\> - -**`Example`** - -```typescript -await myProvider.waitForBlock(); -// wait the creation of the pending block -``` - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).waitForBlock - -#### Defined in - -[src/provider/rpc.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L212) - ---- - -### getL1GasPrice - -▸ **getL1GasPrice**(`blockIdentifier?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getL1GasPrice - -#### Defined in - -[src/provider/rpc.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L242) - ---- - -### getL1MessageHash - -▸ **getL1MessageHash**(`l2TxHash`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :--------- | :---------------------------------------------------- | -| `l2TxHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getL1MessageHash - -#### Defined in - -[src/provider/rpc.ts:248](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L248) - ---- - -### getBlockWithReceipts - -▸ **getBlockWithReceipts**(`blockIdentifier?`): `Promise`<`OnlyFirst`<[`BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| `OnlyFirst`<[`PENDING_BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| [`BlockWithTxReceipts`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxreceipts)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`OnlyFirst`<[`BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| `OnlyFirst`<[`PENDING_BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| [`BlockWithTxReceipts`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxreceipts)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlockWithReceipts - -#### Defined in - -[src/provider/rpc.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L264) - ---- - -### getBlockStateUpdate - -▸ **getBlockStateUpdate**(): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Returns - -`Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlockStateUpdate - -#### Defined in - -[src/provider/rpc.ts:270](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L270) - -▸ **getBlockStateUpdate**(`blockIdentifier`): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------- | -| `blockIdentifier` | `"pending"` | - -#### Returns - -`Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlockStateUpdate - -#### Defined in - -[src/provider/rpc.ts:271](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L271) - -▸ **getBlockStateUpdate**(`blockIdentifier`): `Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `blockIdentifier` | `"latest"` | - -#### Returns - -`Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlockStateUpdate - -#### Defined in - -[src/provider/rpc.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L272) - -▸ **getBlockStateUpdate**(`blockIdentifier?`): `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlockStateUpdate - -#### Defined in - -[src/provider/rpc.ts:273](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L273) - ---- - -### getBlockTransactionsTraces - -▸ **getBlockTransactionsTraces**(`blockIdentifier?`): `Promise`<[`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC08.API.md#blocktransactionstraces) \| [`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC07.API.md#blocktransactionstraces)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC08.API.md#blocktransactionstraces) \| [`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC07.API.md#blocktransactionstraces)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlockTransactionsTraces - -#### Defined in - -[src/provider/rpc.ts:278](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L278) - ---- - -### getBlockTransactionCount - -▸ **getBlockTransactionCount**(`blockIdentifier?`): `Promise`<`number`\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`number`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getBlockTransactionCount - -#### Defined in - -[src/provider/rpc.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L282) - ---- - -### getTransaction - -▸ **getTransaction**(`txHash`): `Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getTransaction - -#### Defined in - -[src/provider/rpc.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L286) - ---- - -### getTransactionByHash - -▸ **getTransactionByHash**(`txHash`): `Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getTransactionByHash - -#### Defined in - -[src/provider/rpc.ts:290](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L290) - ---- - -### getTransactionByBlockIdAndIndex - -▸ **getTransactionByBlockIdAndIndex**(`blockIdentifier`, `index`): `Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | -| `index` | `number` | - -#### Returns - -`Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getTransactionByBlockIdAndIndex - -#### Defined in - -[src/provider/rpc.ts:294](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L294) - ---- - -### getTransactionReceipt - -▸ **getTransactionReceipt**(`txHash`): `Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getTransactionReceipt - -#### Defined in - -[src/provider/rpc.ts:298](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L298) - ---- - -### getTransactionTrace - -▸ **getTransactionTrace**(`txHash`): `Promise`<[`TRANSACTION_TRACE`](../namespaces/types.md#transaction_trace)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TRANSACTION_TRACE`](../namespaces/types.md#transaction_trace)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getTransactionTrace - -#### Defined in - -[src/provider/rpc.ts:305](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L305) - ---- - -### getTransactionStatus - -▸ **getTransactionStatus**(`transactionHash`): `Promise`<[`TransactionStatus`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionstatus)\> - -Get the status of a transaction - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------- | -| `transactionHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TransactionStatus`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionstatus)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getTransactionStatus - -#### Defined in - -[src/provider/rpc.ts:312](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L312) - ---- - -### getSimulateTransaction - -▸ **getSimulateTransaction**(`invocations`, `options?`): `Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -#### Parameters - -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | AccountInvocations | -| `options?` | [`getSimulateTransactionOptions`](../namespaces/types.md#getsimulatetransactionoptions) | blockIdentifier and flags to skip validation and fee charge
- blockIdentifier
- skipValidate (default false)
- skipFeeCharge (default true)
| - -#### Returns - -`Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getSimulateTransaction - -#### Defined in - -[src/provider/rpc.ts:323](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L323) - ---- - -### waitForTransaction - -▸ **waitForTransaction**(`txHash`, `options?`): `Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -#### Parameters - -| Name | Type | -| :--------- | :------------------------------------------------------------------------------ | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `options?` | [`waitForTransactionOptions`](../namespaces/types.md#waitfortransactionoptions) | - -#### Returns - -`Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).waitForTransaction - -#### Defined in - -[src/provider/rpc.ts:333](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L333) - ---- - -### getStorageAt - -▸ **getStorageAt**(`contractAddress`, `key`, `blockIdentifier?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `key` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getStorageAt - -#### Defined in - -[src/provider/rpc.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L345) - ---- - -### getClassHashAt - -▸ **getClassHashAt**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getClassHashAt - -#### Defined in - -[src/provider/rpc.ts:353](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L353) - ---- - -### getClassByHash - -▸ **getClassByHash**(`classHash`): `Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -#### Parameters - -| Name | Type | -| :---------- | :---------------------------------------------------- | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getClassByHash - -#### Defined in - -[src/provider/rpc.ts:357](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L357) - ---- - -### getClass - -▸ **getClass**(`classHash`, `blockIdentifier?`): `Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getClass - -#### Defined in - -[src/provider/rpc.ts:361](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L361) - ---- - -### getClassAt - -▸ **getClassAt**(`contractAddress`, `blockIdentifier?`): `Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getClassAt - -#### Defined in - -[src/provider/rpc.ts:367](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L367) - ---- - -### getContractVersion - -▸ **getContractVersion**(`contractAddress`, `classHash?`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Parameters - -| Name | Type | -| :---------------- | :------------------------------------------------------------------------------ | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `classHash?` | `undefined` | -| `options?` | [`getContractVersionOptions`](../namespaces/types.md#getcontractversionoptions) | - -#### Returns - -`Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getContractVersion - -#### Defined in - -[src/provider/rpc.ts:373](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L373) - -▸ **getContractVersion**(`contractAddress`, `classHash`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Parameters - -| Name | Type | -| :---------------- | :------------------------------------------------------------------------------ | -| `contractAddress` | `undefined` | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `options?` | [`getContractVersionOptions`](../namespaces/types.md#getcontractversionoptions) | - -#### Returns - -`Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getContractVersion - -#### Defined in - -[src/provider/rpc.ts:378](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L378) - ---- - -### getInvokeEstimateFee - -▸ **getInvokeEstimateFee**(`invocation`, `invocationDetails`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -#### Parameters - -| Name | Type | -| :------------------ | :---------------------------------------------------------------------------------- | -| `invocation` | [`Invocation`](../namespaces/types.md#invocation) | -| `invocationDetails` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | -| `skipValidate?` | `boolean` | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getInvokeEstimateFee - -#### Defined in - -[src/provider/rpc.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L411) - ---- - -### getDeclareEstimateFee - -▸ **getDeclareEstimateFee**(`invocation`, `details`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------------------------------- | -| `invocation` | [`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction) | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | -| `skipValidate?` | `boolean` | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getDeclareEstimateFee - -#### Defined in - -[src/provider/rpc.ts:431](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L431) - ---- - -### getDeployAccountEstimateFee - -▸ **getDeployAccountEstimateFee**(`invocation`, `details`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -#### Parameters - -| Name | Type | -| :----------------- | :-------------------------------------------------------------------------------------------- | -| `invocation` | [`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction) | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | -| `skipValidate?` | `boolean` | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getDeployAccountEstimateFee - -#### Defined in - -[src/provider/rpc.ts:451](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L451) - ---- - -### getEstimateFeeBulk - -▸ **getEstimateFeeBulk**(`invocations`, `options`): `Promise`<[`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk)\> - -#### Parameters - -| Name | Type | -| :------------ | :------------------------------------------------------------------------------ | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | -| `options` | [`getEstimateFeeBulkOptions`](../namespaces/types.md#getestimatefeebulkoptions) | - -#### Returns - -`Promise`<[`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getEstimateFeeBulk - -#### Defined in - -[src/provider/rpc.ts:471](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L471) - ---- - -### invokeFunction - -▸ **invokeFunction**(`functionInvocation`, `details`): `Promise`<\{ `transaction_hash`: `string` }\> - -#### Parameters - -| Name | Type | -| :------------------- | :---------------------------------------------------------------------------------- | -| `functionInvocation` | [`Invocation`](../namespaces/types.md#invocation) | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).invokeFunction - -#### Defined in - -[src/provider/rpc.ts:480](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L480) - ---- - -### declareContract - -▸ **declareContract**(`transaction`, `details`): `Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -#### Parameters - -| Name | Type | -| :------------ | :---------------------------------------------------------------------------------- | -| `transaction` | [`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction) | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | - -#### Returns - -`Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).declareContract - -#### Defined in - -[src/provider/rpc.ts:487](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L487) - ---- - -### deployAccountContract - -▸ **deployAccountContract**(`transaction`, `details`): `Promise`<\{ `contract_address`: `string` ; `transaction_hash`: `string` }\> - -#### Parameters - -| Name | Type | -| :------------ | :-------------------------------------------------------------------------------------------- | -| `transaction` | [`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction) | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | - -#### Returns - -`Promise`<\{ `contract_address`: `string` ; `transaction_hash`: `string` }\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).deployAccountContract - -#### Defined in - -[src/provider/rpc.ts:494](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L494) - ---- - -### callContract - -▸ **callContract**(`call`, `blockIdentifier?`): `Promise`<`string`[]\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `call` | [`Call`](../namespaces/types.md#call) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`string`[]\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).callContract - -#### Defined in - -[src/provider/rpc.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L501) - ---- - -### estimateMessageFee - -▸ **estimateMessageFee**(`message`, `blockIdentifier?`): `Promise`<\{ `unit`: `"WEI"` \| `"FRI"` ; `overall_fee`: `string` \| `number` ; `l1_gas_price`: `undefined` \| `number` ; `l2_gas_price`: `undefined` \| `number` ; `l1_data_gas_price`: `undefined` \| `number` ; `l1_gas_consumed`: `undefined` \| `number` ; `l2_gas_consumed`: `undefined` \| `number` ; `l1_data_gas_consumed`: `undefined` \| `number` ; `gas_consumed`: `undefined` \| `string` ; `gas_price`: `undefined` \| `string` ; `data_gas_consumed`: `undefined` \| `string` ; `data_gas_price`: `undefined` \| `string` }\> - -NEW: Estimate the fee for a message from L1 - -#### Parameters - -| Name | Type | Description | -| :----------------------------- | :---------------------------------------------------------- | :-------------- | -| `message` | `Object` | Message From L1 | -| `message.entry_point_selector` | `string` | - | -| `message.from_address` | `string` | - | -| `message.to_address` | `string` | - | -| `message.payload` | `string`[] | - | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - | - -#### Returns - -`Promise`<\{ `unit`: `"WEI"` \| `"FRI"` ; `overall_fee`: `string` \| `number` ; `l1_gas_price`: `undefined` \| `number` ; `l2_gas_price`: `undefined` \| `number` ; `l1_data_gas_price`: `undefined` \| `number` ; `l1_gas_consumed`: `undefined` \| `number` ; `l2_gas_consumed`: `undefined` \| `number` ; `l1_data_gas_consumed`: `undefined` \| `number` ; `gas_consumed`: `undefined` \| `string` ; `gas_price`: `undefined` \| `string` ; `data_gas_consumed`: `undefined` \| `string` ; `data_gas_price`: `undefined` \| `string` }\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).estimateMessageFee - -#### Defined in - -[src/provider/rpc.ts:509](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L509) - ---- - -### getSyncingStats - -▸ **getSyncingStats**(): `Promise`<[`Syncing`](../namespaces/types.RPC.RPCSPEC07.API.md#syncing)\> - -Returns an object about the sync status, or false if the node is not synching - -#### Returns - -`Promise`<[`Syncing`](../namespaces/types.RPC.RPCSPEC07.API.md#syncing)\> - -Object with the stats data - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getSyncingStats - -#### Defined in - -[src/provider/rpc.ts:520](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L520) - ---- - -### getEvents - -▸ **getEvents**(`eventFilter`): `Promise`<\{ `events`: \{ keys: string[]; data: string[]; block_number: number; block_hash: string; transaction_hash: string; from_address: string; }[] ; `continuation_token`: `undefined` \| `string` }\> - -Returns all events matching the given filter - -#### Parameters - -| Name | Type | -| :------------ | :-------------------------------------------------------------------- | -| `eventFilter` | [`EventFilter`](../namespaces/types.RPC.RPCSPEC08.API.md#eventfilter) | - -#### Returns - -`Promise`<\{ `events`: \{ keys: string[]; data: string[]; block_number: number; block_hash: string; transaction_hash: string; from_address: string; }[] ; `continuation_token`: `undefined` \| `string` }\> - -events and the pagination of the events - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getEvents - -#### Defined in - -[src/provider/rpc.ts:528](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L528) - ---- - -### verifyMessageInStarknet - -▸ **verifyMessageInStarknet**(`message`, `signature`, `accountAddress`, `signatureVerificationFunctionName?`, `signatureVerificationResponse?`): `Promise`<`boolean`\> - -Verify in Starknet a signature of a TypedData object or of a given hash. - -#### Parameters - -| Name | Type | Description | -| :------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------ | -| `message` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) \| [`BigNumberish`](../namespaces/types.md#bignumberish) | TypedData object to be verified, or message hash to be verified. | -| `signature` | [`Signature`](../namespaces/types.md#signature) | signature of the message. | -| `accountAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | address of the account that has signed the message. | -| `signatureVerificationFunctionName?` | `string` | if account contract with non standard account verification function name. | -| `signatureVerificationResponse?` | `Object` | if account contract with non standard response of verification function. | -| `signatureVerificationResponse.okResponse` | `string`[] | - | -| `signatureVerificationResponse.nokResponse` | `string`[] | - | -| `signatureVerificationResponse.error` | `string`[] | - | - -#### Returns - -`Promise`<`boolean`\> - -```typescript -const myTypedMessage: TypedMessage = .... ; -const messageHash = typedData.getMessageHash(myTypedMessage,accountAddress); -const sign: WeierstrassSignatureType = ec.starkCurve.sign(messageHash, privateKey); -const accountAddress = "0x43b7240d227aa2fb8434350b3321c40ac1b88c7067982549e7609870621b535"; -const result1 = myRpcProvider.verifyMessageInStarknet(myTypedMessage, sign, accountAddress); -const result2 = myRpcProvider.verifyMessageInStarknet(messageHash, sign, accountAddress); -// result1 = result2 = true -``` - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).verifyMessageInStarknet - -#### Defined in - -[src/provider/rpc.ts:550](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L550) - ---- - -### isClassDeclared - -▸ **isClassDeclared**(`contractClassIdentifier`, `blockIdentifier?`): `Promise`<`boolean`\> - -Test if class is already declared from ContractClassIdentifier -Helper method using getClass - -#### Parameters - -| Name | Type | -| :------------------------ | :-------------------------------------------------------------------------- | -| `contractClassIdentifier` | [`ContractClassIdentifier`](../namespaces/types.md#contractclassidentifier) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`boolean`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).isClassDeclared - -#### Defined in - -[src/provider/rpc.ts:636](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L636) - ---- - -### prepareInvocations - -▸ **prepareInvocations**(`invocations`): `Promise`<[`Invocations`](../namespaces/types.md#invocations)\> - -Build bulk invocations with auto-detect declared class - -1. Test if class is declared if not declare it preventing already declared class error and not declared class errors -2. Order declarations first - -#### Parameters - -| Name | Type | -| :------------ | :-------------------------------------------------- | -| `invocations` | [`Invocations`](../namespaces/types.md#invocations) | - -#### Returns - -`Promise`<[`Invocations`](../namespaces/types.md#invocations)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).prepareInvocations - -#### Defined in - -[src/provider/rpc.ts:667](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L667) - ---- - -### getL1MessagesStatus - -▸ **getL1MessagesStatus**(`transactionHash`): `Promise`<[`L1L2MessagesStatus`](../namespaces/types.RPC.RPCSPEC08.API.md#l1l2messagesstatus)\> - -Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses for all L1 -> L2 messages sent by the l1 transaction, ordered by the l1 tx sending order - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------- | -| `transactionHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`L1L2MessagesStatus`](../namespaces/types.RPC.RPCSPEC08.API.md#l1l2messagesstatus)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getL1MessagesStatus - -#### Defined in - -[src/provider/rpc.ts:691](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L691) - ---- - -### getStorageProof - -▸ **getStorageProof**(`classHashes`, `contractAddresses`, `contractsStorageKeys`, `blockIdentifier?`): `Promise`<[`StorageProof`](../namespaces/types.RPC.RPCSPEC08.API.md#storageproof)\> - -Get merkle paths in one of the state tries: global state, classes, individual contract - -#### Parameters - -| Name | Type | -| :--------------------- | :------------------------------------------------------------------------------------------ | -| `classHashes` | [`BigNumberish`](../namespaces/types.md#bignumberish)[] | -| `contractAddresses` | [`BigNumberish`](../namespaces/types.md#bignumberish)[] | -| `contractsStorageKeys` | [`CONTRACT_STORAGE_KEYS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_storage_keys)[] | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`StorageProof`](../namespaces/types.RPC.RPCSPEC08.API.md#storageproof)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getStorageProof - -#### Defined in - -[src/provider/rpc.ts:702](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L702) - ---- - -### getCompiledCasm - -▸ **getCompiledCasm**(`classHash`): `Promise`<[`CASM_COMPILED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#casm_compiled_contract_class)\> - -Get the contract class definition in the given block associated with the given hash - -#### Parameters - -| Name | Type | -| :---------- | :---------------------------------------------------- | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`CASM_COMPILED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#casm_compiled_contract_class)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getCompiledCasm - -#### Defined in - -[src/provider/rpc.ts:723](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L723) - ---- - -### getStarkName - -▸ **getStarkName**(`address`, `StarknetIdContract?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :-------------------- | :---------------------------------------------------- | -| `address` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `StarknetIdContract?` | `string` | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getStarkName - -#### Defined in - -[src/provider/extensions/starknetId.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L22) - ---- - -### getAddressFromStarkName - -▸ **getAddressFromStarkName**(`name`, `StarknetIdContract?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :-------------------- | :------- | -| `name` | `string` | -| `StarknetIdContract?` | `string` | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getAddressFromStarkName - -#### Defined in - -[src/provider/extensions/starknetId.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L31) - ---- - -### getStarkProfile - -▸ **getStarkProfile**(`address`, `StarknetIdContract?`, `StarknetIdIdentityContract?`, `StarknetIdVerifierContract?`, `StarknetIdPfpContract?`, `StarknetIdPopContract?`, `StarknetIdMulticallContract?`): `Promise`<[`StarkProfile`](../namespaces/types.md#starkprofile)\> - -#### Parameters - -| Name | Type | -| :----------------------------- | :---------------------------------------------------- | -| `address` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `StarknetIdContract?` | `string` | -| `StarknetIdIdentityContract?` | `string` | -| `StarknetIdVerifierContract?` | `string` | -| `StarknetIdPfpContract?` | `string` | -| `StarknetIdPopContract?` | `string` | -| `StarknetIdMulticallContract?` | `string` | - -#### Returns - -`Promise`<[`StarkProfile`](../namespaces/types.md#starkprofile)\> - -#### Inherited from - -Mixin(BaseRpcProvider, StarknetId).getStarkProfile - -#### Defined in - -[src/provider/extensions/starknetId.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L40) diff --git a/www/versioned_docs/version-7.5.1/API/classes/ProviderInterface.md b/www/versioned_docs/version-7.5.1/API/classes/ProviderInterface.md deleted file mode 100644 index 9ed8da86a..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/ProviderInterface.md +++ /dev/null @@ -1,663 +0,0 @@ ---- -id: 'ProviderInterface' -title: 'Class: ProviderInterface' -sidebar_label: 'ProviderInterface' -sidebar_position: 0 -custom_edit_url: null ---- - -## Hierarchy - -- **`ProviderInterface`** - - ↳ [`AccountInterface`](AccountInterface.md) - -## Constructors - -### constructor - -• **new ProviderInterface**(): [`ProviderInterface`](ProviderInterface.md) - -#### Returns - -[`ProviderInterface`](ProviderInterface.md) - -## Properties - -### channel - -• `Abstract` **channel**: [`RpcChannel`](RPC07.RpcChannel.md) \| [`RpcChannel`](RPC08.RpcChannel.md) - -#### Defined in - -[src/provider/interface.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L37) - -## Methods - -### getChainId - -▸ **getChainId**(): `Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -Gets the Starknet chain Id - -#### Returns - -`Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -the chain Id - -#### Defined in - -[src/provider/interface.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L44) - ---- - -### callContract - -▸ **callContract**(`call`, `blockIdentifier?`): `Promise`<[`CallContractResponse`](../namespaces/types.md#callcontractresponse)\> - -Calls a function on the Starknet contract. - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :----------------------- | -| `call` | [`Call`](../namespaces/types.md#call) | transaction to be called | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<[`CallContractResponse`](../namespaces/types.md#callcontractresponse)\> - -the result of the function on the smart contract. - -#### Defined in - -[src/provider/interface.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L53) - ---- - -### getBlock - -▸ **getBlock**(`blockIdentifier?`): `Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -Gets the block information - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------- | :--------------- | -| `blockIdentifier?` | `"pending"` | block identifier | - -#### Returns - -`Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -the block object - -#### Defined in - -[src/provider/interface.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L64) - -▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> - -#### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `blockIdentifier` | `"latest"` | - -#### Returns - -`Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> - -#### Defined in - -[src/provider/interface.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L65) - -▸ **getBlock**(`blockIdentifier`): `Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> - -#### Defined in - -[src/provider/interface.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L66) - ---- - -### getClassAt - -▸ **getClassAt**(`contractAddress`, `blockIdentifier?`): `Promise`<[`ContractClassResponse`](../namespaces/types.md#contractclassresponse)\> - -Gets the contract class of the deployed contract. - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `contractAddress` | `string` | contract address | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<[`ContractClassResponse`](../namespaces/types.md#contractclassresponse)\> - -Contract class of compiled contract - -#### Defined in - -[src/provider/interface.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L75) - ---- - -### getL1GasPrice - -▸ **getL1GasPrice**(`blockIdentifier`): `Promise`<`string`\> - -Gets the price of l1 gas in the block - -#### Parameters - -| Name | Type | Description | -| :---------------- | :---------------------------------------------------------- | :--------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`\> - -gas price of the block - -#### Defined in - -[src/provider/interface.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L86) - ---- - -### getL1MessageHash - -▸ **getL1MessageHash**(`l2TxHash`): `Promise`<`string`\> - -Get L1 message hash from L2 transaction hash - -#### Parameters - -| Name | Type | Description | -| :--------- | :---------------------------------------------------- | :------------------ | -| `l2TxHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | L2 transaction hash | - -#### Returns - -`Promise`<`string`\> - -Hex string of L1 message hash - -**`Example`** - -In Sepolia Testnet : - -```typescript -const result = provider.getL1MessageHash( - '0x28dfc05eb4f261b37ddad451ff22f1d08d4e3c24dc646af0ec69fa20e096819' -); -// result = '0x55b3f8b6e607fffd9b4d843dfe8f9b5c05822cd94fcad8797deb01d77805532a' -``` - -#### Defined in - -[src/provider/interface.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L99) - ---- - -### getClassHashAt - -▸ **getClassHashAt**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -Returns the contract class hash in the given block for the contract deployed at the given address - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `contractAddress` | `string` | contract address | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`\> - -Class hash - -#### Defined in - -[src/provider/interface.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L108) - ---- - -### getClassByHash - -▸ **getClassByHash**(`classHash`): `Promise`<[`ContractClassResponse`](../namespaces/types.md#contractclassresponse)\> - -Returns the contract class deployed under the given class hash. - -#### Parameters - -| Name | Type | Description | -| :---------- | :------- | :---------- | -| `classHash` | `string` | class hash | - -#### Returns - -`Promise`<[`ContractClassResponse`](../namespaces/types.md#contractclassresponse)\> - -Contract class of compiled contract - -#### Defined in - -[src/provider/interface.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L119) - ---- - -### getNonceForAddress - -▸ **getNonceForAddress**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -Returns the nonce associated with the given address in the given block - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `contractAddress` | `string` | contract address | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - | - -#### Returns - -`Promise`<`string`\> - -the hex nonce - -#### Defined in - -[src/provider/interface.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L127) - ---- - -### getStorageAt - -▸ **getStorageAt**(`contractAddress`, `key`, `blockIdentifier?`): `Promise`<`string`\> - -Get the value of the storage (contract's variable) at the given address and key - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------------------------------------------------- | -| `contractAddress` | `string` | | -| `key` | [`BigNumberish`](../namespaces/types.md#bignumberish) | from getStorageVarAddress('') (WIP) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`\> - -the value of the storage variable - -#### Defined in - -[src/provider/interface.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L140) - ---- - -### getTransaction - -▸ **getTransaction**(`transactionHash`): `Promise`<[`TransactionWithHash`](../namespaces/types.md#transactionwithhash)\> - -Gets the transaction information from a tx id. - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------- | -| `transactionHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TransactionWithHash`](../namespaces/types.md#transactionwithhash)\> - -the transaction object { transaction_id, status, transaction, block_number?, block_number?, transaction_index?, transaction_failure_reason? } - -#### Defined in - -[src/provider/interface.ts:152](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L152) - ---- - -### getTransactionReceipt - -▸ **getTransactionReceipt**(`transactionHash`): `Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -Gets the transaction receipt from a tx hash. - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------- | -| `transactionHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -the transaction receipt object - -#### Defined in - -[src/provider/interface.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L160) - ---- - -### deployAccountContract - -▸ **deployAccountContract**(`payload`, `details`): `Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -Deploys a given compiled Account contract (json) to starknet - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------ | -| `payload` | [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload) | payload to be deployed containing: - compiled contract code - constructor calldata - address salt | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | - | - -#### Returns - -`Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -a confirmation of sending a transaction on the starknet contract - -#### Defined in - -[src/provider/interface.ts:173](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L173) - ---- - -### invokeFunction - -▸ **invokeFunction**(`invocation`, `details`): `Promise`<\{ `transaction_hash`: `string` }\> - -Invokes a function on starknet - -#### Parameters - -| Name | Type | Description | -| :----------- | :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocation` | [`Invocation`](../namespaces/types.md#invocation) | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - optional nonce - version - optional version - maxFee - optional maxFee | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -response from addTransaction - -#### Defined in - -[src/provider/interface.ts:192](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L192) - ---- - -### declareContract - -▸ **declareContract**(`transaction`, `details`): `Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -Declares a given compiled contract (json) to starknet - -#### Parameters - -| Name | Type | Description | -| :------------ | :---------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- | -| `transaction` | [`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction) | transaction payload to be deployed containing: - compiled contract code - sender address - signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | Invocation Details containing: - nonce - optional version - optional maxFee | - -#### Returns - -`Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -a confirmation of sending a transaction on the starknet contract - -#### Defined in - -[src/provider/interface.ts:209](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L209) - ---- - -### getInvokeEstimateFee - -▸ **getInvokeEstimateFee**(`invocation`, `details`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates the fee for a given INVOKE transaction - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocation` | [`Invocation`](../namespaces/types.md#invocation) | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - optional nonce - version - optional version | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | (optional) block identifier | -| `skipValidate?` | `boolean` | (optional) skip cairo **validate** method | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -the estimated fee - -#### Defined in - -[src/provider/interface.ts:229](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L229) - ---- - -### getDeclareEstimateFee - -▸ **getDeclareEstimateFee**(`transaction`, `details`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates the fee for a given DECLARE transaction - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ | -| `transaction` | [`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction) | transaction payload to be declared containing: - compiled contract code - sender address - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - version - optional version - optional maxFee | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | (optional) block identifier | -| `skipValidate?` | `boolean` | (optional) skip cairo **validate** method | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -the estimated fee - -#### Defined in - -[src/provider/interface.ts:251](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L251) - ---- - -### getDeployAccountEstimateFee - -▸ **getDeployAccountEstimateFee**(`transaction`, `details`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates the fee for a given DEPLOY_ACCOUNT transaction - -#### Parameters - -| Name | Type | Description | -| :----------------- | :-------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ | -| `transaction` | [`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction) | transaction payload to be deployed containing: - classHash - constructorCalldata - addressSalt - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - version - optional version - optional maxFee | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | (optional) block identifier | -| `skipValidate?` | `boolean` | (optional) skip cairo **validate** method | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -the estimated fee - -#### Defined in - -[src/provider/interface.ts:274](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L274) - ---- - -### getEstimateFeeBulk - -▸ **getEstimateFeeBulk**(`invocations`, `options?`): `Promise`<[`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk)\> - -Estimates the fee for a list of INVOKE transaction - -#### Parameters - -| Name | Type | Description | -| :------------ | :------------------------------------------------------------------------------ | :----------------------------------------------------------------------- | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | AccountInvocations - Complete invocations array with account details | -| `options?` | [`getEstimateFeeBulkOptions`](../namespaces/types.md#getestimatefeebulkoptions) | getEstimateFeeBulkOptions - (optional) blockIdentifier - BlockIdentifier | - -#### Returns - -`Promise`<[`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk)\> - -the estimated fee - -#### Defined in - -[src/provider/interface.ts:289](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L289) - ---- - -### waitForTransaction - -▸ **waitForTransaction**(`txHash`, `options?`): `Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -Wait for the transaction to be accepted - -#### Parameters - -| Name | Type | Description | -| :--------- | :------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | transaction hash | -| `options?` | [`waitForTransactionOptions`](../namespaces/types.md#waitfortransactionoptions) | waitForTransactionOptions - (optional) retryInterval: number \| undefined; - (optional) successStates: TransactionStatus[] \| undefined; | - -#### Returns - -`Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -GetTransactionReceiptResponse - -#### Defined in - -[src/provider/interface.ts:302](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L302) - ---- - -### getSimulateTransaction - -▸ **getSimulateTransaction**(`invocations`, `options?`): `Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -Simulates the transaction and returns the transaction trace and estimated fee. - -#### Parameters - -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | AccountInvocations - Complete invocations array with account details | -| `options?` | [`getSimulateTransactionOptions`](../namespaces/types.md#getsimulatetransactionoptions) | getSimulateTransactionOptions - (optional) blockIdentifier - block identifier - (optional) skipValidate - skip cairo **validate** method - (optional) skipExecute - skip cairo **execute** method | - -#### Returns - -`Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -an array of transaction trace and estimated fee - -#### Defined in - -[src/provider/interface.ts:317](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L317) - ---- - -### getStateUpdate - -▸ **getStateUpdate**(`blockIdentifier?`): `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -Gets the state changes in a specific block (result of executing the requested block) - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -StateUpdateResponse - -#### Defined in - -[src/provider/interface.ts:328](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L328) - ---- - -### getContractVersion - -▸ **getContractVersion**(`contractAddress`, `classHash?`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -Gets the contract version from the provided address - -#### Parameters - -| Name | Type | Description | -| :---------------- | :------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractAddress` | `string` | string | -| `classHash?` | `undefined` | undefined | -| `options?` | [`getContractVersionOptions`](../namespaces/types.md#getcontractversionoptions) | getContractVersionOptions - (optional) compiler - (default true) extract compiler version using type tactic from abi - (optional) blockIdentifier - block identifier | - -#### Returns - -`Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Defined in - -[src/provider/interface.ts:338](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L338) - -▸ **getContractVersion**(`contractAddress`, `classHash`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -Gets the contract version from the provided address - -#### Parameters - -| Name | Type | Description | -| :---------------- | :------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractAddress` | `undefined` | undefined | -| `classHash` | `string` | | -| `options?` | [`getContractVersionOptions`](../namespaces/types.md#getcontractversionoptions) | getContractVersionOptions - (optional) compiler - (default true) extract compiler version using type tactic from abi - (optional) blockIdentifier - block identifier | - -#### Returns - -`Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Defined in - -[src/provider/interface.ts:352](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L352) diff --git a/www/versioned_docs/version-7.5.1/API/classes/RpcError.md b/www/versioned_docs/version-7.5.1/API/classes/RpcError.md deleted file mode 100644 index cf0b5d9e2..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/RpcError.md +++ /dev/null @@ -1,259 +0,0 @@ ---- -id: 'RpcError' -title: 'Class: RpcError' -sidebar_label: 'RpcError' -sidebar_position: 0 -custom_edit_url: null ---- - -## Type parameters - -| Name | Type | -| :----------- | :-------------------------------------------------------------------------------------------------------- | -| `BaseErrorT` | extends [`RPC_ERROR`](../namespaces/types.md#rpc_error) = [`RPC_ERROR`](../namespaces/types.md#rpc_error) | - -## Hierarchy - -- [`LibraryError`](LibraryError.md) - - ↳ **`RpcError`** - -## Constructors - -### constructor - -• **new RpcError**<`BaseErrorT`\>(`baseError`, `method`, `params`): [`RpcError`](RpcError.md)<`BaseErrorT`\> - -#### Type parameters - -| Name | Type | -| :----------- | :-------------------------------------------------------------------------------------------------------- | -| `BaseErrorT` | extends [`RPC_ERROR`](../namespaces/types.md#rpc_error) = [`RPC_ERROR`](../namespaces/types.md#rpc_error) | - -#### Parameters - -| Name | Type | -| :---------- | :----------- | -| `baseError` | `BaseErrorT` | -| `method` | `string` | -| `params` | `any` | - -#### Returns - -[`RpcError`](RpcError.md)<`BaseErrorT`\> - -#### Overrides - -[LibraryError](LibraryError.md).[constructor](LibraryError.md#constructor) - -#### Defined in - -[src/utils/errors/index.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/errors/index.ts#L50) - -## Properties - -### prepareStackTrace - -▪ `Static` `Optional` **prepareStackTrace**: (`err`: `Error`, `stackTraces`: `CallSite`[]) => `any` - -#### Type declaration - -▸ (`err`, `stackTraces`): `any` - -Optional override for formatting stack traces - -##### Parameters - -| Name | Type | -| :------------ | :----------- | -| `err` | `Error` | -| `stackTraces` | `CallSite`[] | - -##### Returns - -`any` - -**`See`** - -https://v8.dev/docs/stack-trace-api#customizing-stack-traces - -#### Inherited from - -[LibraryError](LibraryError.md).[prepareStackTrace](LibraryError.md#preparestacktrace) - -#### Defined in - -node_modules/@types/node/globals.d.ts:143 - ---- - -### stackTraceLimit - -▪ `Static` **stackTraceLimit**: `number` - -#### Inherited from - -[LibraryError](LibraryError.md).[stackTraceLimit](LibraryError.md#stacktracelimit) - -#### Defined in - -node_modules/@types/node/globals.d.ts:145 - ---- - -### request - -• `Readonly` **request**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :------- | -| `method` | `string` | -| `params` | `any` | - -#### Defined in - -[src/utils/errors/index.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/errors/index.ts#L45) - ---- - -### baseError - -• `Readonly` **baseError**: `BaseErrorT` - -#### Defined in - -[src/utils/errors/index.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/errors/index.ts#L51) - ---- - -### name - -• **name**: `string` - -#### Inherited from - -[LibraryError](LibraryError.md).[name](LibraryError.md#name) - -#### Defined in - -[src/utils/errors/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/errors/index.ts#L21) - ---- - -### message - -• **message**: `string` - -#### Inherited from - -[LibraryError](LibraryError.md).[message](LibraryError.md#message) - -#### Defined in - -www/node_modules/typescript/lib/lib.es5.d.ts:1055 - ---- - -### stack - -• `Optional` **stack**: `string` - -#### Inherited from - -[LibraryError](LibraryError.md).[stack](LibraryError.md#stack) - -#### Defined in - -www/node_modules/typescript/lib/lib.es5.d.ts:1056 - ---- - -### cause - -• `Optional` **cause**: `unknown` - -#### Inherited from - -[LibraryError](LibraryError.md).[cause](LibraryError.md#cause) - -#### Defined in - -www/node_modules/typescript/lib/lib.es2022.error.d.ts:24 - -## Accessors - -### code - -• `get` **code**(): `1` \| `32` \| `10` \| `20` \| `21` \| `24` \| `27` \| `28` \| `29` \| `31` \| `33` \| `34` \| `40` \| `41` \| `42` \| `51` \| `52` \| `53` \| `54` \| `55` \| `56` \| `57` \| `58` \| `59` \| `60` \| `61` \| `62` \| `63` \| `66` \| `67` \| `68` \| `100` \| `163` \| `150` \| `151` \| `153` \| `154` \| `155` \| `156` \| `157` \| `158` \| `159` \| `160` - -#### Returns - -`1` \| `32` \| `10` \| `20` \| `21` \| `24` \| `27` \| `28` \| `29` \| `31` \| `33` \| `34` \| `40` \| `41` \| `42` \| `51` \| `52` \| `53` \| `54` \| `55` \| `56` \| `57` \| `58` \| `59` \| `60` \| `61` \| `62` \| `63` \| `66` \| `67` \| `68` \| `100` \| `163` \| `150` \| `151` \| `153` \| `154` \| `155` \| `156` \| `157` \| `158` \| `159` \| `160` - -#### Defined in - -[src/utils/errors/index.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/errors/index.ts#L62) - -## Methods - -### captureStackTrace - -▸ **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` - -Create .stack property on a target object - -#### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `targetObject` | `object` | -| `constructorOpt?` | `Function` | - -#### Returns - -`void` - -#### Inherited from - -[LibraryError](LibraryError.md).[captureStackTrace](LibraryError.md#capturestacktrace) - -#### Defined in - -node_modules/@types/node/globals.d.ts:136 - ---- - -### isType - -▸ **isType**<`N`, `C`\>(`typeName`): this is RpcError - -Verifies the underlying RPC error, also serves as a type guard for the _baseError_ property - -#### Type parameters - -| Name | Type | -| :--- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `N` | extends keyof [`RPC_ERROR_SET`](../namespaces/types.md#rpc_error_set) | -| `C` | extends `1` \| `32` \| `10` \| `20` \| `21` \| `24` \| `27` \| `28` \| `29` \| `31` \| `33` \| `34` \| `40` \| `41` \| `42` \| `51` \| `52` \| `53` \| `54` \| `55` \| `56` \| `57` \| `58` \| `59` \| `60` \| `61` \| `62` \| `63` \| `66` \| `67` \| `68` \| `100` \| `163` \| `150` \| `151` \| `153` \| `154` \| `155` \| `156` \| `157` \| `158` \| `159` \| `160` | - -#### Parameters - -| Name | Type | -| :--------- | :--- | -| `typeName` | `N` | - -#### Returns - -this is RpcError - -**`Example`** - -```typescript -SomeError.isType('UNEXPECTED_ERROR'); -``` - -#### Defined in - -[src/utils/errors/index.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/errors/index.ts#L73) diff --git a/www/versioned_docs/version-7.5.1/API/classes/Signer.md b/www/versioned_docs/version-7.5.1/API/classes/Signer.md deleted file mode 100644 index b5d5b4d72..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/Signer.md +++ /dev/null @@ -1,303 +0,0 @@ ---- -id: 'Signer' -title: 'Class: Signer' -sidebar_label: 'Signer' -sidebar_position: 0 -custom_edit_url: null ---- - -## Implements - -- [`SignerInterface`](SignerInterface.md) - -## Constructors - -### constructor - -• **new Signer**(`pk?`): [`Signer`](Signer.md) - -#### Parameters - -| Name | Type | -| :--- | :----------------------- | -| `pk` | `string` \| `Uint8Array` | - -#### Returns - -[`Signer`](Signer.md) - -#### Defined in - -[src/signer/default.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/default.ts#L33) - -## Properties - -### pk - -• `Protected` **pk**: `string` \| `Uint8Array` - -#### Defined in - -[src/signer/default.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/default.ts#L31) - -## Methods - -### getPubKey - -▸ **getPubKey**(): `Promise`<`string`\> - -Method to get the public key of the signer - -#### Returns - -`Promise`<`string`\> - -hex-string - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const result = await mySigner.getPubKey(); -// result = "0x566d69d8c99f62bc71118399bab25c1f03719463eab8d6a444cd11ece131616" -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[getPubKey](SignerInterface.md#getpubkey) - -#### Defined in - -[src/signer/default.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/default.ts#L37) - ---- - -### signMessage - -▸ **signMessage**(`typedData`, `accountAddress`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs a JSON object for off-chain usage with the private key and returns the signature. -This adds a message prefix so it can't be interchanged with transactions - -#### Parameters - -| Name | Type | Description | -| :--------------- | :----------------------------------------------------------------------- | :---------------------------------- | -| `typedData` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | JSON object to be signed | -| `accountAddress` | `string` | Hex string of the account's address | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the message - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const myTypedData: TypedData = { - domain: { name: 'Example DApp', chainId: constants.StarknetChainId.SN_SEPOLIA, version: '0.0.3' }, - types: { - StarkNetDomain: [ - { name: 'name', type: 'string' }, - { name: 'chainId', type: 'felt' }, - { name: 'version', type: 'string' }, - ], - Message: [{ name: 'message', type: 'felt' }], - }, - primaryType: 'Message', - message: { message: '1234' }, -}; -const result = await mySigner.signMessage( - myTypedData, - '0x5d08a4e9188429da4e993c9bf25aafe5cd491ee2b501505d4d059f0c938f82d' -); -// result = Signature {r: 684915484701699003335398790608214855489903651271362390249153620883122231253n, -// s: 1399150959912500412309102776989465580949387575375484933432871778355496929189n, recovery: 1} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signMessage](SignerInterface.md#signmessage) - -#### Defined in - -[src/signer/default.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/default.ts#L41) - ---- - -### signTransaction - -▸ **signTransaction**(`transactions`, `details`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs transactions with the private key and returns the signature - -#### Parameters - -| Name | Type | Description | -| :------------- | :---------------------------------------------------------------------------- | :------------------------------ | -| `transactions` | [`Call`](../namespaces/types.md#call)[] | array of Call objects | -| `details` | [`InvocationsSignerDetails`](../namespaces/types.md#invocationssignerdetails) | InvocationsSignerDetails object | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the transaction - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const calls: Call[] = [ - { - contractAddress: '0x1234567890123456789012345678901234567890', - entrypoint: 'functionName', - calldata: [1, 2, 3], - }, -]; -const transactionsDetail: InvocationsSignerDetails = { - walletAddress: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e', - chainId: constants.StarknetChainId.SN_MAIN, - cairoVersion: '1', - maxFee: '0x1234567890abcdef', - version: '0x0', - nonce: 1, -}; -const result = await mySigner.signTransaction(calls, transactionsDetail); -// result = Signature {r: 304910226421970384958146916800275294114105560641204815169249090836676768876n, -// s: 1072798866000813654190523783606274062837012608648308896325315895472901074693n, recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signTransaction](SignerInterface.md#signtransaction) - -#### Defined in - -[src/signer/default.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/default.ts#L46) - ---- - -### signDeployAccountTransaction - -▸ **signDeployAccountTransaction**(`details`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs a DEPLOY_ACCOUNT transaction with the private key and returns the signature - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------------------- | :---------------------------- | -| `details` | [`DeployAccountSignerDetails`](../namespaces/types.md#deployaccountsignerdetails) | to deploy an account contract | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the transaction to deploy an account - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const myDeployAcc: DeployAccountSignerDetails = { - contractAddress: '0x65a822fbee1ae79e898688b5a4282dc79e0042cbed12f6169937fddb4c26641', - version: '0x2', - chainId: constants.StarknetChainId.SN_SEPOLIA, - classHash: '0x5f3614e8671257aff9ac38e929c74d65b02d460ae966cd826c9f04a7fa8e0d4', - constructorCalldata: [1, 2], - addressSalt: 1234, - nonce: 45, - maxFee: 10 ** 15, - tip: 0, - paymasterData: [], - accountDeploymentData: [], - nonceDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - resourceBounds: stark.estimateFeeToBounds(constants.ZERO), -}; -const result = await mySigner.signDeployAccountTransaction(myDeployAcc); -// result = Signature {r: 2871311234341436528393212130310036951068553852419934781736214693308640202748n, -// s: 1746271646048888422437132495446973163454853863041370993384284773665861377605n, recovery: 1} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signDeployAccountTransaction](SignerInterface.md#signdeployaccounttransaction) - -#### Defined in - -[src/signer/default.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/default.ts#L79) - ---- - -### signDeclareTransaction - -▸ **signDeclareTransaction**(`details`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs a DECLARE transaction with the private key and returns the signature - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------- | :----------------- | -| `details` | [`DeclareSignerDetails`](../namespaces/types.md#declaresignerdetails) | to declare a class | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the transaction to declare a class - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const myDeclare: DeclareSignerDetails = { - version: '0x2', - chainId: constants.StarknetChainId.SN_SEPOLIA, - senderAddress: '0x65a822fbee1ae79e898688b5a4282dc79e0042cbed12f6169937fddb4c26641', - classHash: '0x5f3614e8671257aff9ac38e929c74d65b02d460ae966cd826c9f04a7fa8e0d4', - nonce: 45, - maxFee: 10 ** 15, - tip: 0, - paymasterData: [], - accountDeploymentData: [], - nonceDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - resourceBounds: stark.estimateFeeToBounds(constants.ZERO), -}; -const result = await mySigner.signDeclareTransaction(myDeclare); -// result = Signature {r: 2432056944313955951711774394836075930010416436707488863728289188289211995670n, -// s: 3407649393310177489888603098175002856596469926897298636282244411990343146307n, recovery: 1} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signDeclareTransaction](SignerInterface.md#signdeclaretransaction) - -#### Defined in - -[src/signer/default.ts:111](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/default.ts#L111) - ---- - -### signRaw - -▸ **signRaw**(`msgHash`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -#### Parameters - -| Name | Type | -| :-------- | :------- | -| `msgHash` | `string` | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -#### Defined in - -[src/signer/default.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/default.ts#L138) diff --git a/www/versioned_docs/version-7.5.1/API/classes/Subscription.md b/www/versioned_docs/version-7.5.1/API/classes/Subscription.md deleted file mode 100644 index a504570f3..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/Subscription.md +++ /dev/null @@ -1,251 +0,0 @@ ---- -id: 'Subscription' -title: 'Class: Subscription' -sidebar_label: 'Subscription' -sidebar_position: 0 -custom_edit_url: null ---- - -Represents an active WebSocket subscription. - -This class should not be instantiated directly. It is returned by the -`subscribe` methods on the `WebSocketChannel`. - -**`Example`** - -```typescript -const channel = new WebSocketChannel({ nodeUrl: 'YOUR_NODE_URL' }); -await channel.waitForConnection(); - -// The 'sub' object is an instance of the Subscription class. -const sub = await channel.subscribeNewHeads(); - -sub.on((data) => { - console.log('Received new head:', data); -}); - -// ... later -await sub.unsubscribe(); -``` - -## Type parameters - -| Name | Type | Description | -| :--- | :---- | :----------------------------------------------------- | -| `T` | `any` | The type of data expected from the subscription event. | - -## Constructors - -### constructor - -• **new Subscription**<`T`\>(`channel`, `method`, `params`, `id`, `maxBufferSize`): [`Subscription`](Subscription.md)<`T`\> - -#### Type parameters - -| Name | Type | -| :--- | :---- | -| `T` | `any` | - -#### Parameters - -| Name | Type | Description | -| :-------------- | :---------------------------------------- | :---------------------------------------- | -| `channel` | [`WebSocketChannel`](WebSocketChannel.md) | The WebSocketChannel instance. | -| `method` | `string` | The RPC method used for the subscription. | -| `params` | `object` | The parameters for the subscription. | -| `id` | `string` | The subscription ID. | -| `maxBufferSize` | `number` | The maximum number of events to buffer. | - -#### Returns - -[`Subscription`](Subscription.md)<`T`\> - -#### Defined in - -[src/channel/ws/subscription.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L79) - -## Properties - -### channel - -• **channel**: [`WebSocketChannel`](WebSocketChannel.md) - -The containing `WebSocketChannel` instance. - -#### Defined in - -[src/channel/ws/subscription.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L41) - ---- - -### method - -• **method**: `string` - -The JSON-RPC method used to create this subscription. - -#### Defined in - -[src/channel/ws/subscription.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L47) - ---- - -### params - -• **params**: `any` - -The parameters used to create this subscription. - -#### Defined in - -[src/channel/ws/subscription.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L53) - ---- - -### id - -• **id**: `string` - -The unique identifier for this subscription. - -#### Defined in - -[src/channel/ws/subscription.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L59) - ---- - -### events - -• `Private` **events**: `EventEmitter`<`SubscriptionEvents`<`T`\>\> - -#### Defined in - -[src/channel/ws/subscription.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L61) - ---- - -### buffer - -• `Private` **buffer**: `T`[] = `[]` - -#### Defined in - -[src/channel/ws/subscription.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L63) - ---- - -### maxBufferSize - -• `Private` **maxBufferSize**: `number` - -#### Defined in - -[src/channel/ws/subscription.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L65) - ---- - -### handler - -• `Private` **handler**: `null` \| (`data`: `T`) => `void` = `null` - -#### Defined in - -[src/channel/ws/subscription.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L67) - ---- - -### \_isClosed - -• `Private` **\_isClosed**: `boolean` = `false` - -#### Defined in - -[src/channel/ws/subscription.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L69) - -## Accessors - -### isClosed - -• `get` **isClosed**(): `boolean` - -Indicates if the subscription has been closed. - -#### Returns - -`boolean` - -`true` if unsubscribed, `false` otherwise. - -#### Defined in - -[src/channel/ws/subscription.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L97) - -## Methods - -### \_handleEvent - -▸ **\_handleEvent**(`data`): `void` - -Internal method to handle incoming events from the WebSocket channel. -If a handler is attached, it's invoked immediately. Otherwise, the event is buffered. - -#### Parameters - -| Name | Type | Description | -| :----- | :--- | :-------------- | -| `data` | `T` | The event data. | - -#### Returns - -`void` - -#### Defined in - -[src/channel/ws/subscription.ts:107](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L107) - ---- - -### on - -▸ **on**(`handler`): `void` - -Attaches a handler function to be called for each event. - -When a handler is attached, any buffered events will be passed to it sequentially. -Subsequent events will be passed directly as they arrive. - -#### Parameters - -| Name | Type | Description | -| :-------- | :---------------------- | :------------------------------------ | -| `handler` | (`data`: `T`) => `void` | The function to call with event data. | - -#### Returns - -`void` - -**`Throws`** - -If a handler is already attached to this subscription. - -#### Defined in - -[src/channel/ws/subscription.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L128) - ---- - -### unsubscribe - -▸ **unsubscribe**(): `Promise`<`boolean`\> - -Sends an unsubscribe request to the node and cleans up local resources. - -#### Returns - -`Promise`<`boolean`\> - -A Promise that resolves to `true` if the unsubscription was successful. - -#### Defined in - -[src/channel/ws/subscription.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/subscription.ts#L149) diff --git a/www/versioned_docs/version-7.5.1/API/classes/WalletAccount.md b/www/versioned_docs/version-7.5.1/API/classes/WalletAccount.md deleted file mode 100644 index fcbbc921f..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/WalletAccount.md +++ /dev/null @@ -1,3341 +0,0 @@ ---- -id: 'WalletAccount' -title: 'Class: WalletAccount' -sidebar_label: 'WalletAccount' -sidebar_position: 0 -custom_edit_url: null ---- - -## Hierarchy - -- [`Account`](Account.md) - - ↳ **`WalletAccount`** - -## Implements - -- [`AccountInterface`](AccountInterface.md) - -## Constructors - -### constructor - -• **new WalletAccount**(`providerOrOptions`, `walletProvider`, `address`, `cairoVersion?`, `paymaster?`): [`WalletAccount`](WalletAccount.md) - -#### Parameters - -| Name | Type | -| :------------------ | :------------------------------------------------------------------------------------------------------------- | -| `providerOrOptions` | [`ProviderOptions`](../interfaces/types.ProviderOptions.md) \| [`ProviderInterface`](ProviderInterface.md) | -| `walletProvider` | `StarknetWalletProvider` | -| `address` | `string` | -| `cairoVersion?` | [`CairoVersion`](../namespaces/types.md#cairoversion) | -| `paymaster?` | [`PaymasterOptions`](../interfaces/types.PaymasterOptions.md) \| [`PaymasterInterface`](PaymasterInterface.md) | - -#### Returns - -[`WalletAccount`](WalletAccount.md) - -#### Overrides - -[Account](Account.md).[constructor](Account.md#constructor) - -#### Defined in - -[src/wallet/account.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L46) - -## Properties - -### walletProvider - -• **walletProvider**: `StarknetWalletProvider` - -#### Defined in - -[src/wallet/account.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L44) - ---- - -### signer - -• **signer**: [`SignerInterface`](SignerInterface.md) - -#### Implementation of - -[AccountInterface](AccountInterface.md).[signer](AccountInterface.md#signer) - -#### Inherited from - -[Account](Account.md).[signer](Account.md#signer) - -#### Defined in - -[src/account/default.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L98) - ---- - -### address - -• **address**: `string` - -#### Implementation of - -[AccountInterface](AccountInterface.md).[address](AccountInterface.md#address) - -#### Inherited from - -[Account](Account.md).[address](Account.md#address) - -#### Defined in - -[src/account/default.ts:100](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L100) - ---- - -### cairoVersion - -• **cairoVersion**: [`CairoVersion`](../namespaces/types.md#cairoversion) - -#### Implementation of - -[AccountInterface](AccountInterface.md).[cairoVersion](AccountInterface.md#cairoversion) - -#### Inherited from - -[Account](Account.md).[cairoVersion](Account.md#cairoversion) - -#### Defined in - -[src/account/default.ts:102](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L102) - ---- - -### transactionVersion - -• `Readonly` **transactionVersion**: `"0x2"` \| `"0x3"` - -#### Inherited from - -[Account](Account.md).[transactionVersion](Account.md#transactionversion) - -#### Defined in - -[src/account/default.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L104) - ---- - -### paymaster - -• **paymaster**: [`PaymasterInterface`](PaymasterInterface.md) - -#### Inherited from - -[Account](Account.md).[paymaster](Account.md#paymaster) - -#### Defined in - -[src/account/default.ts:106](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L106) - ---- - -### deploySelf - -• **deploySelf**: (`__namedParameters`: [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload), `details`: [`UniversalDetails`](../interfaces/types.UniversalDetails.md)) => `Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -#### Type declaration - -▸ (`«destructured»`, `details?`): `Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -##### Parameters - -| Name | Type | -| :--------------- | :------------------------------------------------------------------------------------ | -| `«destructured»` | [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload) | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | - -##### Returns - -`Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -#### Inherited from - -[Account](Account.md).[deploySelf](Account.md#deployself) - -#### Defined in - -[src/account/default.ts:634](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L634) - ---- - -### responseParser - -• **responseParser**: [`RPCResponseParser`](RPCResponseParser.md) - -#### Inherited from - -[Account](Account.md).[responseParser](Account.md#responseparser) - -#### Defined in - -[src/provider/rpc.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L65) - ---- - -### channel - -• **channel**: [`RpcChannel`](RPC07.RpcChannel.md) \| [`RpcChannel`](RPC08.RpcChannel.md) - -#### Implementation of - -[AccountInterface](AccountInterface.md).[channel](AccountInterface.md#channel) - -#### Inherited from - -[Account](Account.md).[channel](Account.md#channel) - -#### Defined in - -[src/provider/rpc.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L67) - ---- - -### getStateUpdate - -• **getStateUpdate**: () => `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\>(`blockIdentifier`: `"pending"`) => `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\>(`blockIdentifier`: `"latest"`) => `Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\>(`blockIdentifier?`: [`BlockIdentifier`](../namespaces/types.md#blockidentifier)) => `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -#### Type declaration - -▸ (): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -##### Returns - -`Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -▸ (`blockIdentifier`): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -##### Parameters - -| Name | Type | -| :---------------- | :---------- | -| `blockIdentifier` | `"pending"` | - -##### Returns - -`Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -▸ (`blockIdentifier`): `Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -##### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `blockIdentifier` | `"latest"` | - -##### Returns - -`Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -▸ (`blockIdentifier?`): `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -##### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -##### Returns - -`Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getStateUpdate](AccountInterface.md#getstateupdate) - -#### Inherited from - -[Account](Account.md).[getStateUpdate](Account.md#getstateupdate) - -#### Defined in - -[src/provider/rpc.ts:268](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L268) - -## Methods - -### connect - -▸ **connect**(`provider`, `walletProvider`, `cairoVersion?`, `paymaster?`, `silentMode?`): `Promise`<[`WalletAccount`](WalletAccount.md)\> - -#### Parameters - -| Name | Type | Default value | -| :--------------- | :------------------------------------------------------------------------------------------------------------- | :------------ | -| `provider` | [`ProviderInterface`](ProviderInterface.md) | `undefined` | -| `walletProvider` | `StarknetWalletProvider` | `undefined` | -| `cairoVersion?` | [`CairoVersion`](../namespaces/types.md#cairoversion) | `undefined` | -| `paymaster?` | [`PaymasterOptions`](../interfaces/types.PaymasterOptions.md) \| [`PaymasterInterface`](PaymasterInterface.md) | `undefined` | -| `silentMode` | `boolean` | `false` | - -#### Returns - -`Promise`<[`WalletAccount`](WalletAccount.md)\> - -#### Defined in - -[src/wallet/account.ts:164](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L164) - ---- - -### connectSilent - -▸ **connectSilent**(`provider`, `walletProvider`, `cairoVersion?`, `paymaster?`): `Promise`<[`WalletAccount`](WalletAccount.md)\> - -#### Parameters - -| Name | Type | -| :--------------- | :------------------------------------------------------------------------------------------------------------- | -| `provider` | [`ProviderInterface`](ProviderInterface.md) | -| `walletProvider` | `StarknetWalletProvider` | -| `cairoVersion?` | [`CairoVersion`](../namespaces/types.md#cairoversion) | -| `paymaster?` | [`PaymasterOptions`](../interfaces/types.PaymasterOptions.md) \| [`PaymasterInterface`](PaymasterInterface.md) | - -#### Returns - -`Promise`<[`WalletAccount`](WalletAccount.md)\> - -#### Defined in - -[src/wallet/account.ts:175](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L175) - ---- - -### getStarkName - -▸ **getStarkName**(`provider`, `address`, `StarknetIdContract?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :-------------------- | :---------------------------------------------------- | -| `provider` | [`ProviderInterface`](ProviderInterface.md) | -| `address` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `StarknetIdContract?` | `string` | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -[Account](Account.md).[getStarkName](Account.md#getstarkname) - -#### Defined in - -[src/provider/extensions/starknetId.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L62) - ---- - -### getAddressFromStarkName - -▸ **getAddressFromStarkName**(`provider`, `name`, `StarknetIdContract?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :-------------------- | :------------------------------------------ | -| `provider` | [`ProviderInterface`](ProviderInterface.md) | -| `name` | `string` | -| `StarknetIdContract?` | `string` | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -[Account](Account.md).[getAddressFromStarkName](Account.md#getaddressfromstarkname) - -#### Defined in - -[src/provider/extensions/starknetId.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L96) - ---- - -### getStarkProfile - -▸ **getStarkProfile**(`provider`, `address`, `StarknetIdContract?`, `StarknetIdIdentityContract?`, `StarknetIdVerifierContract?`, `StarknetIdPfpContract?`, `StarknetIdPopContract?`, `StarknetIdMulticallContract?`): `Promise`<[`StarkProfile`](../namespaces/types.md#starkprofile)\> - -#### Parameters - -| Name | Type | -| :----------------------------- | :---------------------------------------------------- | -| `provider` | [`ProviderInterface`](ProviderInterface.md) | -| `address` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `StarknetIdContract?` | `string` | -| `StarknetIdIdentityContract?` | `string` | -| `StarknetIdVerifierContract?` | `string` | -| `StarknetIdPfpContract?` | `string` | -| `StarknetIdPopContract?` | `string` | -| `StarknetIdMulticallContract?` | `string` | - -#### Returns - -`Promise`<[`StarkProfile`](../namespaces/types.md#starkprofile)\> - -#### Inherited from - -[Account](Account.md).[getStarkProfile](Account.md#getstarkprofile) - -#### Defined in - -[src/provider/extensions/starknetId.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L128) - ---- - -### onAccountChange - -▸ **onAccountChange**(`callback`): `void` - -WALLET EVENTS - -#### Parameters - -| Name | Type | -| :--------- | :------------------------------------------------------------------------------------------------------- | -| `callback` | [`AccountChangeEventHandler`](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md#accountchangeeventhandler) | - -#### Returns - -`void` - -#### Defined in - -[src/wallet/account.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L74) - ---- - -### onNetworkChanged - -▸ **onNetworkChanged**(`callback`): `void` - -#### Parameters - -| Name | Type | -| :--------- | :------------------------------------------------------------------------------------------------------- | -| `callback` | [`NetworkChangeEventHandler`](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md#networkchangeeventhandler) | - -#### Returns - -`void` - -#### Defined in - -[src/wallet/account.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L78) - ---- - -### requestAccounts - -▸ **requestAccounts**(`silentMode?`): `Promise`<`string`[]\> - -WALLET SPECIFIC METHODS - -#### Parameters - -| Name | Type | Default value | -| :----------- | :-------- | :------------ | -| `silentMode` | `boolean` | `false` | - -#### Returns - -`Promise`<`string`[]\> - -#### Defined in - -[src/wallet/account.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L85) - ---- - -### getPermissions - -▸ **getPermissions**(): `Promise`<`"accounts"`[]\> - -#### Returns - -`Promise`<`"accounts"`[]\> - -#### Defined in - -[src/wallet/account.ts:89](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L89) - ---- - -### switchStarknetChain - -▸ **switchStarknetChain**(`chainId`): `Promise`<`boolean`\> - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------------- | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | - -#### Returns - -`Promise`<`boolean`\> - -#### Defined in - -[src/wallet/account.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L93) - ---- - -### watchAsset - -▸ **watchAsset**(`asset`): `Promise`<`boolean`\> - -#### Parameters - -| Name | Type | -| :------ | :--------------------------------------------------------------------------------------------- | -| `asset` | [`WatchAssetParameters`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.WatchAssetParameters.md) | - -#### Returns - -`Promise`<`boolean`\> - -#### Defined in - -[src/wallet/account.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L97) - ---- - -### addStarknetChain - -▸ **addStarknetChain**(`chain`): `Promise`<`boolean`\> - -#### Parameters - -| Name | Type | -| :------ | :--------------------------------------------------------------------------------------------------------- | -| `chain` | [`AddStarknetChainParameters`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddStarknetChainParameters.md) | - -#### Returns - -`Promise`<`boolean`\> - -#### Defined in - -[src/wallet/account.ts:101](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L101) - ---- - -### execute - -▸ **execute**(`calls`): `Promise`<[`AddInvokeTransactionResult`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md)\> - -ACCOUNT METHODS - -#### Parameters - -| Name | Type | -| :------ | :---------------------------------------------------------------------------------------- | -| `calls` | [`AllowArray`](../namespaces/types.md#allowarray)<[`Call`](../namespaces/types.md#call)\> | - -#### Returns - -`Promise`<[`AddInvokeTransactionResult`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md)\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[execute](AccountInterface.md#execute) - -#### Overrides - -[Account](Account.md).[execute](Account.md#execute) - -#### Defined in - -[src/wallet/account.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L108) - ---- - -### declare - -▸ **declare**(`payload`): `Promise`<[`AddDeclareTransactionResult`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md)\> - -Declares a given compiled contract (json) to starknet - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`DeclareContractPayload`](../namespaces/types.md#declarecontractpayload) | transaction payload to be deployed containing: - contract: compiled contract code - (optional) classHash: computed class hash of compiled contract. Pre-compute it for faster execution. - (required for Cairo1 without compiledClassHash) casm: CompiledContract \| string; - (optional for Cairo1 with casm) compiledClassHash: compiled class hash from casm. Pre-compute it for faster execution. | - -#### Returns - -`Promise`<[`AddDeclareTransactionResult`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md)\> - -a confirmation of sending a transaction on the starknet contract - -#### Implementation of - -[AccountInterface](AccountInterface.md).[declare](AccountInterface.md#declare) - -#### Overrides - -[Account](Account.md).[declare](Account.md#declare) - -#### Defined in - -[src/wallet/account.ts:125](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L125) - ---- - -### deploy - -▸ **deploy**(`payload`): `Promise`<[`MultiDeployContractResponse`](../namespaces/types.md#multideploycontractresponse)\> - -Deploys a declared contract to starknet - using Universal Deployer Contract (UDC) -support multicall - -#### Parameters - -| Name | Type | Description | -| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload) \| [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload)[] | classHash: computed class hash of compiled contract - [constructorCalldata] contract constructor calldata - [salt=pseudorandom] deploy address salt - [unique=true] ensure unique salt | - -#### Returns - -`Promise`<[`MultiDeployContractResponse`](../namespaces/types.md#multideploycontractresponse)\> - -- contract_address[] -- transaction_hash - -#### Implementation of - -[AccountInterface](AccountInterface.md).[deploy](AccountInterface.md#deploy) - -#### Overrides - -[Account](Account.md).[deploy](Account.md#deploy) - -#### Defined in - -[src/wallet/account.ts:148](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L148) - ---- - -### signMessage - -▸ **signMessage**(`typedData`): `Promise`<[`SIGNATURE`](../namespaces/types.RPC.RPCSPEC08.API.md#signature)\> - -Signs a TypedData object for off-chain usage with the Starknet private key and returns the signature -This adds a message prefix so it can't be interchanged with transactions - -#### Parameters - -| Name | Type | Description | -| :---------- | :----------------------------------------------------------------------- | :---------------------------- | -| `typedData` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | TypedData object to be signed | - -#### Returns - -`Promise`<[`SIGNATURE`](../namespaces/types.RPC.RPCSPEC08.API.md#signature)\> - -the signature of the TypedData object - -**`Throws`** - -if typedData is not a valid TypedData - -#### Implementation of - -[AccountInterface](AccountInterface.md).[signMessage](AccountInterface.md#signmessage) - -#### Overrides - -[Account](Account.md).[signMessage](Account.md#signmessage) - -#### Defined in - -[src/wallet/account.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/account.ts#L160) - ---- - -### getPreferredVersion - -▸ **getPreferredVersion**(`type12`, `type3`): [`ETransactionVersion`](../namespaces/types.RPC.RPCSPEC08.API.md#etransactionversion-1) - -#### Parameters - -| Name | Type | -| :------- | :-------------------------------------------------------------------------------------- | -| `type12` | [`ETransactionVersion`](../namespaces/types.RPC.RPCSPEC08.API.md#etransactionversion-1) | -| `type3` | [`ETransactionVersion`](../namespaces/types.RPC.RPCSPEC08.API.md#etransactionversion-1) | - -#### Returns - -[`ETransactionVersion`](../namespaces/types.RPC.RPCSPEC08.API.md#etransactionversion-1) - -#### Inherited from - -[Account](Account.md).[getPreferredVersion](Account.md#getpreferredversion) - -#### Defined in - -[src/account/default.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L144) - ---- - -### getNonce - -▸ **getNonce**(`blockIdentifier?`): `Promise`<`string`\> - -Gets the nonce of the account with respect to a specific block - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :---------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | optional blockIdentifier. Defaults to 'pending' | - -#### Returns - -`Promise`<`string`\> - -nonce of the account - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getNonce](AccountInterface.md#getnonce) - -#### Inherited from - -[Account](Account.md).[getNonce](Account.md#getnonce) - -#### Defined in - -[src/account/default.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L151) - ---- - -### getNonceSafe - -▸ **getNonceSafe**(`nonce?`): `Promise`<`bigint`\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `nonce?` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<`bigint`\> - -#### Inherited from - -[Account](Account.md).[getNonceSafe](Account.md#getnoncesafe) - -#### Defined in - -[src/account/default.ts:155](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L155) - ---- - -### getCairoVersion - -▸ **getCairoVersion**(`classHash?`): `Promise`<[`CairoVersion`](../namespaces/types.md#cairoversion)\> - -Retrieves the Cairo version from the network and sets `cairoVersion` if not already set in the constructor. - -#### Parameters - -| Name | Type | Description | -| :----------- | :------- | :----------------------------------------------------------------------------------- | -| `classHash?` | `string` | if provided detects Cairo version from classHash, otherwise from the account address | - -#### Returns - -`Promise`<[`CairoVersion`](../namespaces/types.md#cairoversion)\> - -#### Inherited from - -[Account](Account.md).[getCairoVersion](Account.md#getcairoversion) - -#### Defined in - -[src/account/default.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L168) - ---- - -### estimateFee - -▸ **estimateFee**(`calls`, `estimateFeeDetails?`): `Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -#### Parameters - -| Name | Type | -| :------------------- | :---------------------------------------------------------------------------------------- | -| `calls` | [`AllowArray`](../namespaces/types.md#allowarray)<[`Call`](../namespaces/types.md#call)\> | -| `estimateFeeDetails` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | - -#### Returns - -`Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -#### Inherited from - -[Account](Account.md).[estimateFee](Account.md#estimatefee) - -#### Defined in - -[src/account/default.ts:178](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L178) - ---- - -### estimateInvokeFee - -▸ **estimateInvokeFee**(`calls`, `details?`): `Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -Estimate Fee for executing an INVOKE transaction on starknet - -#### Parameters - -| Name | Type | Description | -| :-------- | :---------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `calls` | [`AllowArray`](../namespaces/types.md#allowarray)<[`Call`](../namespaces/types.md#call)\> | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata? - (defaults to []) the calldata | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | blockIdentifier? - nonce? = 0 - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -response from estimate_fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[estimateInvokeFee](AccountInterface.md#estimateinvokefee) - -#### Inherited from - -[Account](Account.md).[estimateInvokeFee](Account.md#estimateinvokefee) - -#### Defined in - -[src/account/default.ts:185](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L185) - ---- - -### estimateDeclareFee - -▸ **estimateDeclareFee**(`payload`, `details?`): `Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -Estimate Fee for executing a DECLARE transaction on starknet - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`DeclareContractPayload`](../namespaces/types.md#declarecontractpayload) | the payload object containing: - contract - the compiled contract to be declared - casm? - compiled cairo assembly. Cairo1(casm or compiledClassHash are required) - classHash? - the class hash of the compiled contract. Precalculate for faster execution. - compiledClassHash?: class hash of the cairo assembly. Cairo1(casm or compiledClassHash are required) | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | blockIdentifier? - nonce? = 0 - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -response from estimate_fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[estimateDeclareFee](AccountInterface.md#estimatedeclarefee) - -#### Inherited from - -[Account](Account.md).[estimateDeclareFee](Account.md#estimatedeclarefee) - -#### Defined in - -[src/account/default.ts:224](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L224) - ---- - -### estimateAccountDeployFee - -▸ **estimateAccountDeployFee**(`«destructured»`, `details?`): `Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -Estimate Fee for executing a DEPLOY_ACCOUNT transaction on starknet - -#### Parameters - -| Name | Type | Description | -| :--------------- | :------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `«destructured»` | [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload) | classHash - the class hash of the compiled contract. - constructorCalldata? - constructor data; - contractAddress? - future account contract address. Precalculate for faster execution. - addressSalt? - salt used for calculation of the contractAddress. Required if contractAddress is provided. | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | blockIdentifier? - nonce? = 0 - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -response from estimate_fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[estimateAccountDeployFee](AccountInterface.md#estimateaccountdeployfee) - -#### Inherited from - -[Account](Account.md).[estimateAccountDeployFee](Account.md#estimateaccountdeployfee) - -#### Defined in - -[src/account/default.ts:262](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L262) - ---- - -### estimateDeployFee - -▸ **estimateDeployFee**(`payload`, `details?`): `Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -Estimate Fee for executing a UDC DEPLOY transaction on starknet -This is different from the normal DEPLOY transaction as it goes through the Universal Deployer Contract (UDC) - -#### Parameters - -| Name | Type | Description | -| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload) \| [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload)[] | array or singular - classHash: computed class hash of compiled contract - salt: address salt - unique: bool if true ensure unique salt - constructorCalldata: constructor calldata | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | blockIdentifier? - nonce? - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[estimateDeployFee](AccountInterface.md#estimatedeployfee) - -#### Inherited from - -[Account](Account.md).[estimateDeployFee](Account.md#estimatedeployfee) - -#### Defined in - -[src/account/default.ts:301](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L301) - ---- - -### estimateFeeBulk - -▸ **estimateFeeBulk**(`invocations`, `details?`): `Promise`<[`EstimateFeeBulk`](../namespaces/types.md#estimatefeebulk)\> - -Estimate Fee for executing a list of transactions on starknet -Contract must be deployed for fee estimation to be possible - -#### Parameters - -| Name | Type | Description | -| :------------ | :------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocations` | [`Invocations`](../namespaces/types.md#invocations) | array of transaction object containing : - type - the type of transaction : 'DECLARE' \| (multi)'DEPLOY' \| (multi)'INVOKE_FUNCTION' \| 'DEPLOY_ACCOUNT' - payload - the payload of the transaction | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | blockIdentifier? - nonce? - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFeeBulk`](../namespaces/types.md#estimatefeebulk)\> - -response from estimate_fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[estimateFeeBulk](AccountInterface.md#estimatefeebulk) - -#### Inherited from - -[Account](Account.md).[estimateFeeBulk](Account.md#estimatefeebulk) - -#### Defined in - -[src/account/default.ts:309](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L309) - ---- - -### simulateTransaction - -▸ **simulateTransaction**(`invocations`, `details?`): `Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -Simulates an array of transaction and returns an array of transaction trace and estimated fee. - -#### Parameters - -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- | -| `invocations` | [`Invocations`](../namespaces/types.md#invocations) | Invocations containing: - type - transaction type: DECLARE, (multi)DEPLOY, DEPLOY_ACCOUNT, (multi)INVOKE_FUNCTION | -| `details` | [`SimulateTransactionDetails`](../namespaces/types.md#simulatetransactiondetails) | SimulateTransactionDetails | - -#### Returns - -`Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -response from simulate_transaction - -#### Implementation of - -[AccountInterface](AccountInterface.md).[simulateTransaction](AccountInterface.md#simulatetransaction) - -#### Inherited from - -[Account](Account.md).[simulateTransaction](Account.md#simulatetransaction) - -#### Defined in - -[src/account/default.ts:335](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L335) - ---- - -### buildPaymasterTransaction - -▸ **buildPaymasterTransaction**(`calls`, `paymasterDetails`): `Promise`<[`PreparedTransaction`](../namespaces/types.md#preparedtransaction)\> - -Build a paymaster transaction - -#### Parameters - -| Name | Type | Description | -| :----------------- | :------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `calls` | [`Call`](../namespaces/types.md#call)[] | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata | -| `paymasterDetails` | [`PaymasterDetails`](../interfaces/types.PaymasterDetails.md) | the paymaster details containing: - feeMode - the fee mode - deploymentData - the deployment data (optional) - timeBounds - the time bounds (optional) | - -#### Returns - -`Promise`<[`PreparedTransaction`](../namespaces/types.md#preparedtransaction)\> - -the prepared transaction - -#### Implementation of - -[AccountInterface](AccountInterface.md).[buildPaymasterTransaction](AccountInterface.md#buildpaymastertransaction) - -#### Inherited from - -[Account](Account.md).[buildPaymasterTransaction](Account.md#buildpaymastertransaction) - -#### Defined in - -[src/account/default.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L411) - ---- - -### estimatePaymasterTransactionFee - -▸ **estimatePaymasterTransactionFee**(`calls`, `paymasterDetails`): `Promise`<[`PaymasterFeeEstimate`](../namespaces/types.md#paymasterfeeestimate)\> - -Estimate Fee for executing a paymaster transaction on starknet - -#### Parameters - -| Name | Type | Description | -| :----------------- | :------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `calls` | [`Call`](../namespaces/types.md#call)[] | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata | -| `paymasterDetails` | [`PaymasterDetails`](../interfaces/types.PaymasterDetails.md) | the paymaster details containing: - feeMode - the fee mode - deploymentData - the deployment data (optional) - timeBounds - the time bounds (optional) | - -#### Returns - -`Promise`<[`PaymasterFeeEstimate`](../namespaces/types.md#paymasterfeeestimate)\> - -response extracting fee from buildPaymasterTransaction - -#### Implementation of - -[AccountInterface](AccountInterface.md).[estimatePaymasterTransactionFee](AccountInterface.md#estimatepaymastertransactionfee) - -#### Inherited from - -[Account](Account.md).[estimatePaymasterTransactionFee](Account.md#estimatepaymastertransactionfee) - -#### Defined in - -[src/account/default.ts:450](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L450) - ---- - -### preparePaymasterTransaction - -▸ **preparePaymasterTransaction**(`preparedTransaction`): `Promise`<[`ExecutableUserTransaction`](../namespaces/types.md#executableusertransaction)\> - -#### Parameters - -| Name | Type | -| :-------------------- | :------------------------------------------------------------------ | -| `preparedTransaction` | [`PreparedTransaction`](../namespaces/types.md#preparedtransaction) | - -#### Returns - -`Promise`<[`ExecutableUserTransaction`](../namespaces/types.md#executableusertransaction)\> - -#### Inherited from - -[Account](Account.md).[preparePaymasterTransaction](Account.md#preparepaymastertransaction) - -#### Defined in - -[src/account/default.ts:458](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L458) - ---- - -### executePaymasterTransaction - -▸ **executePaymasterTransaction**(`calls`, `paymasterDetails`, `maxFeeInGasToken?`): `Promise`<\{ `transaction_hash`: `string` }\> - -Execute a paymaster transaction - -Assert that the gas token value is equal to the provided gas fees -Assert that the calls are strictly equal to the returned calls. -Assert that the gas token (in gas token) price is not too high, if provided. -Assert that typedData to signed is strictly equal to the provided typedData. - -#### Parameters - -| Name | Type | Description | -| :------------------ | :------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `calls` | [`Call`](../namespaces/types.md#call)[] | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata | -| `paymasterDetails` | [`PaymasterDetails`](../interfaces/types.PaymasterDetails.md) | the paymaster details containing: - feeMode - the fee mode (sponsored or default) - deploymentData - the deployment data (optional) - timeBounds - the time bounds when the transaction is valid (optional) - executeAfter and executeBefore expected to be in seconds (BLOCK_TIMESTAMP) | -| `maxFeeInGasToken?` | [`BigNumberish`](../namespaces/types.md#bignumberish) | the max fee acceptable to pay in gas token (optional) | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -the tarnsaction hash if successful, otherwise an error is thrown - -#### Implementation of - -[AccountInterface](AccountInterface.md).[executePaymasterTransaction](AccountInterface.md#executepaymastertransaction) - -#### Inherited from - -[Account](Account.md).[executePaymasterTransaction](Account.md#executepaymastertransaction) - -#### Defined in - -[src/account/default.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L501) - ---- - -### declareIfNot - -▸ **declareIfNot**(`payload`, `transactionsDetail?`): `Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -First check if contract is already declared, if not declare it -If contract already declared returned transaction_hash is ''. -Method will pass even if contract is already declared - -#### Parameters - -| Name | Type | Description | -| :------------------- | :------------------------------------------------------------------------ | :---------- | -| `payload` | [`DeclareContractPayload`](../namespaces/types.md#declarecontractpayload) | - | -| `transactionsDetail` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | (optional) | - -#### Returns - -`Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -#### Inherited from - -[Account](Account.md).[declareIfNot](Account.md#declareifnot) - -#### Defined in - -[src/account/default.ts:535](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L535) - ---- - -### deployContract - -▸ **deployContract**(`payload`, `details?`): `Promise`<[`DeployContractUDCResponse`](../namespaces/types.md#deploycontractudcresponse)\> - -Simplify deploy simulating old DeployContract with same response + UDC specific response -Internal wait for L2 transaction, support multicall - -#### Parameters - -| Name | Type | Description | -| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload) \| [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload)[] | classHash: computed class hash of compiled contract - [constructorCalldata] contract constructor calldata - [salt=pseudorandom] deploy address salt - [unique=true] ensure unique salt | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | InvocationsDetails | - -#### Returns - -`Promise`<[`DeployContractUDCResponse`](../namespaces/types.md#deploycontractudcresponse)\> - -- contract_address -- transaction_hash -- address -- deployer -- unique -- classHash -- calldata_len -- calldata -- salt - -#### Implementation of - -[AccountInterface](AccountInterface.md).[deployContract](AccountInterface.md#deploycontract) - -#### Inherited from - -[Account](Account.md).[deployContract](Account.md#deploycontract) - -#### Defined in - -[src/account/default.ts:608](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L608) - ---- - -### declareAndDeploy - -▸ **declareAndDeploy**(`payload`, `details?`): `Promise`<[`DeclareDeployUDCResponse`](../namespaces/types.md#declaredeployudcresponse)\> - -Declares and Deploy a given compiled contract (json) to starknet using UDC -Internal wait for L2 transaction, do not support multicall -Method will pass even if contract is already declared (internal using DeclareIfNot) - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`DeclareAndDeployContractPayload`](../namespaces/types.md#declareanddeploycontractpayload) | contract: compiled contract code - [casm=cairo1]: CairoAssembly \| undefined; - [compiledClassHash]: string \| undefined; - [classHash]: computed class hash of compiled contract - [constructorCalldata] contract constructor calldata - [salt=pseudorandom] deploy address salt - [unique=true] ensure unique salt | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | InvocationsDetails | - -#### Returns - -`Promise`<[`DeclareDeployUDCResponse`](../namespaces/types.md#declaredeployudcresponse)\> - -- declare - - transaction_hash -- deploy - - contract_address - - transaction_hash - - address - - deployer - - unique - - classHash - - calldata_len - - calldata - - salt - -#### Implementation of - -[AccountInterface](AccountInterface.md).[declareAndDeploy](AccountInterface.md#declareanddeploy) - -#### Inherited from - -[Account](Account.md).[declareAndDeploy](Account.md#declareanddeploy) - -#### Defined in - -[src/account/default.ts:617](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L617) - ---- - -### deployAccount - -▸ **deployAccount**(`«destructured»`, `details?`): `Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -Deploy the account on Starknet - -#### Parameters - -| Name | Type | Description | -| :--------------- | :------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `«destructured»` | [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload) | transaction payload to be deployed containing: - classHash: computed class hash of compiled contract - optional constructor calldata - optional address salt - optional contractAddress | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | InvocationsDetails | - -#### Returns - -`Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -a confirmation of sending a transaction on the starknet contract - -#### Implementation of - -[AccountInterface](AccountInterface.md).[deployAccount](AccountInterface.md#deployaccount) - -#### Inherited from - -[Account](Account.md).[deployAccount](Account.md#deployaccount) - -#### Defined in - -[src/account/default.ts:636](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L636) - ---- - -### hashMessage - -▸ **hashMessage**(`typedData`): `Promise`<`string`\> - -Hash a TypedData object with Pedersen hash and return the hash -This adds a message prefix so it can't be interchanged with transactions - -#### Parameters - -| Name | Type | Description | -| :---------- | :----------------------------------------------------------------------- | :---------------------------- | -| `typedData` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | TypedData object to be hashed | - -#### Returns - -`Promise`<`string`\> - -the hash of the TypedData object - -**`Throws`** - -if typedData is not a valid TypedData - -#### Implementation of - -[AccountInterface](AccountInterface.md).[hashMessage](AccountInterface.md#hashmessage) - -#### Inherited from - -[Account](Account.md).[hashMessage](Account.md#hashmessage) - -#### Defined in - -[src/account/default.ts:700](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L700) - ---- - -### getSnip9Version - -▸ **getSnip9Version**(): `Promise`<`"0"` \| `"1"` \| `"2"`\> - -Verify if an account is compatible with SNIP-9 outside execution, and with which version of this standard. - -#### Returns - -`Promise`<`"0"` \| `"1"` \| `"2"`\> - -Not compatible, V1, V2. - -**`Example`** - -```typescript -const result = myAccount.getSnip9Version(); -// result = "V1" -``` - -#### Inherited from - -[Account](Account.md).[getSnip9Version](Account.md#getsnip9version) - -#### Defined in - -[src/account/default.ts:713](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L713) - ---- - -### isValidSnip9Nonce - -▸ **isValidSnip9Nonce**(`nonce`): `Promise`<`boolean`\> - -Verify if a SNIP-9 nonce has not yet been used by the account. - -#### Parameters - -| Name | Type | Description | -| :------ | :---------------------------------------------------- | :-------------------- | -| `nonce` | [`BigNumberish`](../namespaces/types.md#bignumberish) | SNIP-9 nonce to test. | - -#### Returns - -`Promise`<`boolean`\> - -true if SNIP-9 nonce not yet used. - -**`Example`** - -```typescript -const result = myAccount.isValidSnip9Nonce(1234); -// result = true -``` - -#### Inherited from - -[Account](Account.md).[isValidSnip9Nonce](Account.md#isvalidsnip9nonce) - -#### Defined in - -[src/account/default.ts:734](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L734) - ---- - -### getSnip9Nonce - -▸ **getSnip9Nonce**(): `Promise`<`string`\> - -Outside transaction needs a specific SNIP-9 nonce, that we get in this function. -A SNIP-9 nonce can be any number not yet used ; no ordering is needed. - -#### Returns - -`Promise`<`string`\> - -an Hex string of a SNIP-9 nonce. - -**`Example`** - -```typescript -const result = myAccount.getSnip9Nonce(); -// result = "0x28a612590dbc36927933c8ee0f357eee639c8b22b3d3aa86949eed3ada4ac55" -``` - -#### Inherited from - -[Account](Account.md).[getSnip9Nonce](Account.md#getsnip9nonce) - -#### Defined in - -[src/account/default.ts:758](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L758) - ---- - -### getOutsideTransaction - -▸ **getOutsideTransaction**(`options`, `calls`, `version?`, `nonce?`): `Promise`<[`OutsideTransaction`](../interfaces/types.OutsideTransaction.md)\> - -Creates an object containing transaction(s) that can be executed by an other account with` Account.executeFromOutside()`, called Outside Transaction. - -#### Parameters - -| Name | Type | Description | -| :--------- | :---------------------------------------------------------------------------------------- | :------------------------------------------------------------------ | -| `options` | [`OutsideExecutionOptions`](../interfaces/types.OutsideExecutionOptions.md) | Parameters of the transaction(s). | -| `calls` | [`AllowArray`](../namespaces/types.md#allowarray)<[`Call`](../namespaces/types.md#call)\> | Transaction(s) to execute. | -| `version?` | `"0"` \| `"1"` \| `"2"` | SNIP-9 version of the Account that creates the outside transaction. | -| `nonce?` | [`BigNumberish`](../namespaces/types.md#bignumberish) | Outside Nonce. | - -#### Returns - -`Promise`<[`OutsideTransaction`](../interfaces/types.OutsideTransaction.md)\> - -and object that can be used in `Account.executeFromOutside()` - -**`Example`** - -```typescript -const now_seconds = Math.floor(Date.now() / 1000); -const callOptions: OutsideExecutionOptions = { - caller: executorAccount.address, - execute_after: now_seconds - 3600, - execute_before: now_seconds + 3600, -}; -const call1: Call = { - contractAddress: ethAddress, - entrypoint: 'transfer', - calldata: { - recipient: recipientAccount.address, - amount: cairo.uint256(100), - }, -}; -const outsideTransaction1: OutsideTransaction = await signerAccount.getOutsideTransaction( - callOptions, - call3 -); -// result = { -// outsideExecution: { -// caller: '0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691', -// nonce: '0x28a612590dbc36927933c8ee0f357eee639c8b22b3d3aa86949eed3ada4ac55', -// execute_after: 1723650229, execute_before: 1723704229, calls: [[Object]] }, -// signature: Signature { -// r: 67518627037915514985321278857825384106482999609634873287406612756843916814n, -// s: 737198738569840639192844101690009498983611654458636624293579534560862067709n, recovery: 0 }, -// signerAddress: '0x655f8fd7c4013c07cf12a92184aa6c314d181443913e21f7e209a18f0c78492', -// version: '2' -// } -``` - -#### Inherited from - -[Account](Account.md).[getOutsideTransaction](Account.md#getoutsidetransaction) - -#### Defined in - -[src/account/default.ts:795](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L795) - ---- - -### executeFromOutside - -▸ **executeFromOutside**(`outsideTransaction`, `opts?`): `Promise`<\{ `transaction_hash`: `string` }\> - -An account B executes a transaction that has been signed by an account A. -Fees are paid by B. - -#### Parameters - -| Name | Type | Description | -| :------------------- | :-------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | -| `outsideTransaction` | [`AllowArray`](../namespaces/types.md#allowarray)<[`OutsideTransaction`](../interfaces/types.OutsideTransaction.md)\> | the signed transaction generated by `Account.getOutsideTransaction()`. | -| `opts?` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | same options than `Account.execute()`. | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -same response than `Account.execute()`. - -**`Example`** - -```typescript -const outsideTransaction1: OutsideTransaction = await signerAccount.getOutsideTransaction( - callOptions, - call1 -); -const outsideTransaction2: OutsideTransaction = await signerAccount.getOutsideTransaction( - callOptions4, - call4 -); -const result = await myAccount.executeFromOutside([outsideTransaction1, outsideTransaction2]); -// result = { transaction_hash: '0x11233...`} -``` - -#### Inherited from - -[Account](Account.md).[executeFromOutside](Account.md#executefromoutside) - -#### Defined in - -[src/account/default.ts:855](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L855) - ---- - -### getUniversalSuggestedFee - -▸ **getUniversalSuggestedFee**(`version`, `«destructured»`, `details`): `Promise`<[`UniversalSuggestedFee`](../namespaces/types.md#universalsuggestedfee)\> - -#### Parameters - -| Name | Type | -| :--------------- | :-------------------------------------------------------------------------------------- | -| `version` | [`ETransactionVersion`](../namespaces/types.RPC.RPCSPEC08.API.md#etransactionversion-1) | -| `«destructured»` | [`EstimateFeeAction`](../namespaces/types.md#estimatefeeaction) | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | - -#### Returns - -`Promise`<[`UniversalSuggestedFee`](../namespaces/types.md#universalsuggestedfee)\> - -#### Inherited from - -[Account](Account.md).[getUniversalSuggestedFee](Account.md#getuniversalsuggestedfee) - -#### Defined in - -[src/account/default.ts:867](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L867) - ---- - -### getSuggestedFee - -▸ **getSuggestedFee**(`«destructured»`, `details`): `Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -Gets Suggested Max Fee based on the transaction type - -#### Parameters - -| Name | Type | -| :--------------- | :-------------------------------------------------------------- | -| `«destructured»` | [`EstimateFeeAction`](../namespaces/types.md#estimatefeeaction) | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | - -#### Returns - -`Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -EstimateFee (...response, resourceBounds, suggestedMaxFee) - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getSuggestedFee](AccountInterface.md#getsuggestedfee) - -#### Inherited from - -[Account](Account.md).[getSuggestedFee](Account.md#getsuggestedfee) - -#### Defined in - -[src/account/default.ts:895](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L895) - ---- - -### buildInvocation - -▸ **buildInvocation**(`call`, `details`): `Promise`<[`Invocation`](../namespaces/types.md#invocation)\> - -#### Parameters - -| Name | Type | -| :-------- | :---------------------------------------------------------------------------- | -| `call` | [`Call`](../namespaces/types.md#call)[] | -| `details` | [`InvocationsSignerDetails`](../namespaces/types.md#invocationssignerdetails) | - -#### Returns - -`Promise`<[`Invocation`](../namespaces/types.md#invocation)\> - -#### Inherited from - -[Account](Account.md).[buildInvocation](Account.md#buildinvocation) - -#### Defined in - -[src/account/default.ts:917](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L917) - ---- - -### buildDeclarePayload - -▸ **buildDeclarePayload**(`payload`, `details`): `Promise`<[`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction)\> - -#### Parameters - -| Name | Type | -| :-------- | :---------------------------------------------------------------------------- | -| `payload` | [`DeclareContractPayload`](../namespaces/types.md#declarecontractpayload) | -| `details` | [`InvocationsSignerDetails`](../namespaces/types.md#invocationssignerdetails) | - -#### Returns - -`Promise`<[`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction)\> - -#### Inherited from - -[Account](Account.md).[buildDeclarePayload](Account.md#builddeclarepayload) - -#### Defined in - -[src/account/default.ts:932](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L932) - ---- - -### buildAccountDeployPayload - -▸ **buildAccountDeployPayload**(`«destructured»`, `details`): `Promise`<[`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction)\> - -#### Parameters - -| Name | Type | -| :--------------- | :------------------------------------------------------------------------------------ | -| `«destructured»` | [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload) | -| `details` | [`InvocationsSignerDetails`](../namespaces/types.md#invocationssignerdetails) | - -#### Returns - -`Promise`<[`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction)\> - -#### Inherited from - -[Account](Account.md).[buildAccountDeployPayload](Account.md#buildaccountdeploypayload) - -#### Defined in - -[src/account/default.ts:964](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L964) - ---- - -### buildUDCContractPayload - -▸ **buildUDCContractPayload**(`payload`): [`Call`](../namespaces/types.md#call)[] - -#### Parameters - -| Name | Type | -| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload) \| [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload)[] | - -#### Returns - -[`Call`](../namespaces/types.md#call)[] - -#### Inherited from - -[Account](Account.md).[buildUDCContractPayload](Account.md#buildudccontractpayload) - -#### Defined in - -[src/account/default.ts:998](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L998) - ---- - -### accountInvocationsFactory - -▸ **accountInvocationsFactory**(`invocations`, `details`): `Promise`<[`AccountInvocations`](../namespaces/types.md#accountinvocations)\> - -#### Parameters - -| Name | Type | -| :------------ | :-------------------------------------------------------------------------------------------- | -| `invocations` | [`Invocations`](../namespaces/types.md#invocations) | -| `details` | [`AccountInvocationsFactoryDetails`](../namespaces/types.md#accountinvocationsfactorydetails) | - -#### Returns - -`Promise`<[`AccountInvocations`](../namespaces/types.md#accountinvocations)\> - -#### Inherited from - -[Account](Account.md).[accountInvocationsFactory](Account.md#accountinvocationsfactory) - -#### Defined in - -[src/account/default.ts:1025](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L1025) - ---- - -### getStarkName - -▸ **getStarkName**(`address?`, `StarknetIdContract?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :-------------------- | :---------------------------------------------------- | -| `address` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `StarknetIdContract?` | `string` | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -[Account](Account.md).[getStarkName](Account.md#getstarkname-1) - -#### Defined in - -[src/account/default.ts:1123](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/default.ts#L1123) - ---- - -### fetch - -▸ **fetch**(`method`, `params?`, `id?`): `Promise`<`Response`\> - -#### Parameters - -| Name | Type | Default value | -| :-------- | :------------------- | :------------ | -| `method` | `string` | `undefined` | -| `params?` | `object` | `undefined` | -| `id` | `string` \| `number` | `0` | - -#### Returns - -`Promise`<`Response`\> - -#### Inherited from - -[Account](Account.md).[fetch](Account.md#fetch) - -#### Defined in - -[src/provider/rpc.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L131) - ---- - -### getChainId - -▸ **getChainId**(): `Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -Gets the Starknet chain Id - -#### Returns - -`Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -the chain Id - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getChainId](AccountInterface.md#getchainid) - -#### Inherited from - -[Account](Account.md).[getChainId](Account.md#getchainid) - -#### Defined in - -[src/provider/rpc.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L135) - ---- - -### readSpecVersion - -▸ **readSpecVersion**(): `undefined` \| `"0.7.1"` \| `"0.8.1"` - -read channel spec version - -#### Returns - -`undefined` \| `"0.7.1"` \| `"0.8.1"` - -#### Inherited from - -[Account](Account.md).[readSpecVersion](Account.md#readspecversion) - -#### Defined in - -[src/provider/rpc.ts:142](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L142) - ---- - -### getSpecVersion - -▸ **getSpecVersion**(): `Promise`<`string`\> - -get channel spec version - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -[Account](Account.md).[getSpecVersion](Account.md#getspecversion) - -#### Defined in - -[src/provider/rpc.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L149) - ---- - -### setUpSpecVersion - -▸ **setUpSpecVersion**(): `Promise`<`"0.7.1"` \| `"0.8.1"`\> - -setup channel spec version and return it - -#### Returns - -`Promise`<`"0.7.1"` \| `"0.8.1"`\> - -#### Inherited from - -[Account](Account.md).[setUpSpecVersion](Account.md#setupspecversion) - -#### Defined in - -[src/provider/rpc.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L156) - ---- - -### getNonceForAddress - -▸ **getNonceForAddress**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -Returns the nonce associated with the given address in the given block - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | contract address | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - | - -#### Returns - -`Promise`<`string`\> - -the hex nonce - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getNonceForAddress](AccountInterface.md#getnonceforaddress) - -#### Inherited from - -[Account](Account.md).[getNonceForAddress](Account.md#getnonceforaddress) - -#### Defined in - -[src/provider/rpc.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L160) - ---- - -### getBlock - -▸ **getBlock**(): `Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -Gets the block information - -#### Returns - -`Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -the block object - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getBlock](AccountInterface.md#getblock) - -#### Inherited from - -[Account](Account.md).[getBlock](Account.md#getblock) - -#### Defined in - -[src/provider/rpc.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L167) - -▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------- | -| `blockIdentifier` | `"pending"` | - -#### Returns - -`Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getBlock](AccountInterface.md#getblock) - -#### Inherited from - -[Account](Account.md).[getBlock](Account.md#getblock) - -#### Defined in - -[src/provider/rpc.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L168) - -▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> - -#### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `blockIdentifier` | `"latest"` | - -#### Returns - -`Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getBlock](AccountInterface.md#getblock) - -#### Inherited from - -[Account](Account.md).[getBlock](Account.md#getblock) - -#### Defined in - -[src/provider/rpc.ts:169](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L169) - -▸ **getBlock**(`blockIdentifier?`): `Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> - -#### Implementation of - -AccountInterface.getBlock - -#### Inherited from - -[Account](Account.md).[getBlock](Account.md#getblock) - -#### Defined in - -[src/provider/rpc.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L170) - ---- - -### getBlockLatestAccepted - -▸ **getBlockLatestAccepted**(): `Promise`<[`BlockHashAndNumber`](../namespaces/types.RPC.RPCSPEC07.API.md#blockhashandnumber)\> - -Get the most recent accepted block hash and number - -#### Returns - -`Promise`<[`BlockHashAndNumber`](../namespaces/types.RPC.RPCSPEC07.API.md#blockhashandnumber)\> - -#### Inherited from - -[Account](Account.md).[getBlockLatestAccepted](Account.md#getblocklatestaccepted) - -#### Defined in - -[src/provider/rpc.ts:180](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L180) - ---- - -### getBlockNumber - -▸ **getBlockNumber**(): `Promise`<`number`\> - -Get the most recent accepted block number -redundant use getBlockLatestAccepted(); - -#### Returns - -`Promise`<`number`\> - -Number of the latest block - -#### Inherited from - -[Account](Account.md).[getBlockNumber](Account.md#getblocknumber) - -#### Defined in - -[src/provider/rpc.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L189) - ---- - -### getBlockWithTxHashes - -▸ **getBlockWithTxHashes**(`blockIdentifier?`): `Promise`<[`BlockWithTxHashes`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxhashes)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockWithTxHashes`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxhashes)\> - -#### Inherited from - -[Account](Account.md).[getBlockWithTxHashes](Account.md#getblockwithtxhashes) - -#### Defined in - -[src/provider/rpc.ts:193](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L193) - ---- - -### getBlockWithTxs - -▸ **getBlockWithTxs**(`blockIdentifier?`): `Promise`<[`BlockWithTxs`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxs)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockWithTxs`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxs)\> - -#### Inherited from - -[Account](Account.md).[getBlockWithTxs](Account.md#getblockwithtxs) - -#### Defined in - -[src/provider/rpc.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L197) - ---- - -### waitForBlock - -▸ **waitForBlock**(`blockIdentifier?`, `retryInterval?`): `Promise`<`void`\> - -Pause the execution of the script until a specified block is created. - -#### Parameters - -| Name | Type | Default value | Description | -| :---------------- | :---------------------------------------------------------- | :------------ | :------------------------------------------------------------------------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | `'pending'` | bloc number (BigNumberish) or 'pending' or 'latest'. Use of 'latest" or of a block already created will generate no pause. | -| `retryInterval?` | `number` | `5000` | number of milliseconds between 2 requests to the node | - -#### Returns - -`Promise`<`void`\> - -**`Example`** - -```typescript -await myProvider.waitForBlock(); -// wait the creation of the pending block -``` - -#### Inherited from - -[Account](Account.md).[waitForBlock](Account.md#waitforblock) - -#### Defined in - -[src/provider/rpc.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L212) - ---- - -### getL1GasPrice - -▸ **getL1GasPrice**(`blockIdentifier?`): `Promise`<`string`\> - -Gets the price of l1 gas in the block - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`\> - -gas price of the block - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getL1GasPrice](AccountInterface.md#getl1gasprice) - -#### Inherited from - -[Account](Account.md).[getL1GasPrice](Account.md#getl1gasprice) - -#### Defined in - -[src/provider/rpc.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L242) - ---- - -### getL1MessageHash - -▸ **getL1MessageHash**(`l2TxHash`): `Promise`<`string`\> - -Get L1 message hash from L2 transaction hash - -#### Parameters - -| Name | Type | Description | -| :--------- | :---------------------------------------------------- | :------------------ | -| `l2TxHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | L2 transaction hash | - -#### Returns - -`Promise`<`string`\> - -Hex string of L1 message hash - -**`Example`** - -In Sepolia Testnet : - -```typescript -const result = provider.getL1MessageHash( - '0x28dfc05eb4f261b37ddad451ff22f1d08d4e3c24dc646af0ec69fa20e096819' -); -// result = '0x55b3f8b6e607fffd9b4d843dfe8f9b5c05822cd94fcad8797deb01d77805532a' -``` - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getL1MessageHash](AccountInterface.md#getl1messagehash) - -#### Inherited from - -[Account](Account.md).[getL1MessageHash](Account.md#getl1messagehash) - -#### Defined in - -[src/provider/rpc.ts:248](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L248) - ---- - -### getBlockWithReceipts - -▸ **getBlockWithReceipts**(`blockIdentifier?`): `Promise`<`OnlyFirst`<[`BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| `OnlyFirst`<[`PENDING_BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| [`BlockWithTxReceipts`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxreceipts)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`OnlyFirst`<[`BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| `OnlyFirst`<[`PENDING_BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| [`BlockWithTxReceipts`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxreceipts)\> - -#### Inherited from - -[Account](Account.md).[getBlockWithReceipts](Account.md#getblockwithreceipts) - -#### Defined in - -[src/provider/rpc.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L264) - ---- - -### getBlockStateUpdate - -▸ **getBlockStateUpdate**(): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Returns - -`Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Inherited from - -[Account](Account.md).[getBlockStateUpdate](Account.md#getblockstateupdate) - -#### Defined in - -[src/provider/rpc.ts:270](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L270) - -▸ **getBlockStateUpdate**(`blockIdentifier`): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------- | -| `blockIdentifier` | `"pending"` | - -#### Returns - -`Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Inherited from - -[Account](Account.md).[getBlockStateUpdate](Account.md#getblockstateupdate) - -#### Defined in - -[src/provider/rpc.ts:271](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L271) - -▸ **getBlockStateUpdate**(`blockIdentifier`): `Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `blockIdentifier` | `"latest"` | - -#### Returns - -`Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> - -#### Inherited from - -[Account](Account.md).[getBlockStateUpdate](Account.md#getblockstateupdate) - -#### Defined in - -[src/provider/rpc.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L272) - -▸ **getBlockStateUpdate**(`blockIdentifier?`): `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -#### Inherited from - -[Account](Account.md).[getBlockStateUpdate](Account.md#getblockstateupdate) - -#### Defined in - -[src/provider/rpc.ts:273](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L273) - ---- - -### getBlockTransactionsTraces - -▸ **getBlockTransactionsTraces**(`blockIdentifier?`): `Promise`<[`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC08.API.md#blocktransactionstraces) \| [`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC07.API.md#blocktransactionstraces)\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC08.API.md#blocktransactionstraces) \| [`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC07.API.md#blocktransactionstraces)\> - -#### Inherited from - -[Account](Account.md).[getBlockTransactionsTraces](Account.md#getblocktransactionstraces) - -#### Defined in - -[src/provider/rpc.ts:278](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L278) - ---- - -### getBlockTransactionCount - -▸ **getBlockTransactionCount**(`blockIdentifier?`): `Promise`<`number`\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`number`\> - -#### Inherited from - -[Account](Account.md).[getBlockTransactionCount](Account.md#getblocktransactioncount) - -#### Defined in - -[src/provider/rpc.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L282) - ---- - -### getTransaction - -▸ **getTransaction**(`txHash`): `Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -Gets the transaction information from a tx id. - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -the transaction object { transaction_id, status, transaction, block_number?, block_number?, transaction_index?, transaction_failure_reason? } - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getTransaction](AccountInterface.md#gettransaction) - -#### Inherited from - -[Account](Account.md).[getTransaction](Account.md#gettransaction) - -#### Defined in - -[src/provider/rpc.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L286) - ---- - -### getTransactionByHash - -▸ **getTransactionByHash**(`txHash`): `Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Inherited from - -[Account](Account.md).[getTransactionByHash](Account.md#gettransactionbyhash) - -#### Defined in - -[src/provider/rpc.ts:290](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L290) - ---- - -### getTransactionByBlockIdAndIndex - -▸ **getTransactionByBlockIdAndIndex**(`blockIdentifier`, `index`): `Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | -| `index` | `number` | - -#### Returns - -`Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Inherited from - -[Account](Account.md).[getTransactionByBlockIdAndIndex](Account.md#gettransactionbyblockidandindex) - -#### Defined in - -[src/provider/rpc.ts:294](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L294) - ---- - -### getTransactionReceipt - -▸ **getTransactionReceipt**(`txHash`): `Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -Gets the transaction receipt from a tx hash. - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -the transaction receipt object - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getTransactionReceipt](AccountInterface.md#gettransactionreceipt) - -#### Inherited from - -[Account](Account.md).[getTransactionReceipt](Account.md#gettransactionreceipt) - -#### Defined in - -[src/provider/rpc.ts:298](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L298) - ---- - -### getTransactionTrace - -▸ **getTransactionTrace**(`txHash`): `Promise`<[`TRANSACTION_TRACE`](../namespaces/types.md#transaction_trace)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TRANSACTION_TRACE`](../namespaces/types.md#transaction_trace)\> - -#### Inherited from - -[Account](Account.md).[getTransactionTrace](Account.md#gettransactiontrace) - -#### Defined in - -[src/provider/rpc.ts:305](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L305) - ---- - -### getTransactionStatus - -▸ **getTransactionStatus**(`transactionHash`): `Promise`<[`TransactionStatus`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionstatus)\> - -Get the status of a transaction - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------- | -| `transactionHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TransactionStatus`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionstatus)\> - -#### Inherited from - -[Account](Account.md).[getTransactionStatus](Account.md#gettransactionstatus) - -#### Defined in - -[src/provider/rpc.ts:312](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L312) - ---- - -### getSimulateTransaction - -▸ **getSimulateTransaction**(`invocations`, `options?`): `Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -#### Parameters - -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | AccountInvocations | -| `options?` | [`getSimulateTransactionOptions`](../namespaces/types.md#getsimulatetransactionoptions) | blockIdentifier and flags to skip validation and fee charge
- blockIdentifier
- skipValidate (default false)
- skipFeeCharge (default true)
| - -#### Returns - -`Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getSimulateTransaction](AccountInterface.md#getsimulatetransaction) - -#### Inherited from - -[Account](Account.md).[getSimulateTransaction](Account.md#getsimulatetransaction) - -#### Defined in - -[src/provider/rpc.ts:323](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L323) - ---- - -### waitForTransaction - -▸ **waitForTransaction**(`txHash`, `options?`): `Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -Wait for the transaction to be accepted - -#### Parameters - -| Name | Type | Description | -| :--------- | :------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | transaction hash | -| `options?` | [`waitForTransactionOptions`](../namespaces/types.md#waitfortransactionoptions) | waitForTransactionOptions - (optional) retryInterval: number \| undefined; - (optional) successStates: TransactionStatus[] \| undefined; | - -#### Returns - -`Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -GetTransactionReceiptResponse - -#### Implementation of - -[AccountInterface](AccountInterface.md).[waitForTransaction](AccountInterface.md#waitfortransaction) - -#### Inherited from - -[Account](Account.md).[waitForTransaction](Account.md#waitfortransaction) - -#### Defined in - -[src/provider/rpc.ts:333](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L333) - ---- - -### getStorageAt - -▸ **getStorageAt**(`contractAddress`, `key`, `blockIdentifier?`): `Promise`<`string`\> - -Get the value of the storage (contract's variable) at the given address and key - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | | -| `key` | [`BigNumberish`](../namespaces/types.md#bignumberish) | from getStorageVarAddress('') (WIP) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`\> - -the value of the storage variable - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getStorageAt](AccountInterface.md#getstorageat) - -#### Inherited from - -[Account](Account.md).[getStorageAt](Account.md#getstorageat) - -#### Defined in - -[src/provider/rpc.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L345) - ---- - -### getClassHashAt - -▸ **getClassHashAt**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -Returns the contract class hash in the given block for the contract deployed at the given address - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | contract address | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`\> - -Class hash - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getClassHashAt](AccountInterface.md#getclasshashat) - -#### Inherited from - -[Account](Account.md).[getClassHashAt](Account.md#getclasshashat) - -#### Defined in - -[src/provider/rpc.ts:353](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L353) - ---- - -### getClassByHash - -▸ **getClassByHash**(`classHash`): `Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -Returns the contract class deployed under the given class hash. - -#### Parameters - -| Name | Type | Description | -| :---------- | :---------------------------------------------------- | :---------- | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | class hash | - -#### Returns - -`Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -Contract class of compiled contract - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getClassByHash](AccountInterface.md#getclassbyhash) - -#### Inherited from - -[Account](Account.md).[getClassByHash](Account.md#getclassbyhash) - -#### Defined in - -[src/provider/rpc.ts:357](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L357) - ---- - -### getClass - -▸ **getClass**(`classHash`, `blockIdentifier?`): `Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -#### Inherited from - -[Account](Account.md).[getClass](Account.md#getclass) - -#### Defined in - -[src/provider/rpc.ts:361](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L361) - ---- - -### getClassAt - -▸ **getClassAt**(`contractAddress`, `blockIdentifier?`): `Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -Gets the contract class of the deployed contract. - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | contract address | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<[`LegacyContractClass`](../namespaces/types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](../namespaces/types.md#compiledsierra), `"sierra_program_debug_info"`\>\> - -Contract class of compiled contract - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getClassAt](AccountInterface.md#getclassat) - -#### Inherited from - -[Account](Account.md).[getClassAt](Account.md#getclassat) - -#### Defined in - -[src/provider/rpc.ts:367](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L367) - ---- - -### getContractVersion - -▸ **getContractVersion**(`contractAddress`, `classHash?`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -Gets the contract version from the provided address - -#### Parameters - -| Name | Type | Description | -| :---------------- | :------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | string | -| `classHash?` | `undefined` | undefined | -| `options?` | [`getContractVersionOptions`](../namespaces/types.md#getcontractversionoptions) | getContractVersionOptions - (optional) compiler - (default true) extract compiler version using type tactic from abi - (optional) blockIdentifier - block identifier | - -#### Returns - -`Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getContractVersion](AccountInterface.md#getcontractversion) - -#### Inherited from - -[Account](Account.md).[getContractVersion](Account.md#getcontractversion) - -#### Defined in - -[src/provider/rpc.ts:373](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L373) - -▸ **getContractVersion**(`contractAddress`, `classHash`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -Gets the contract version from the provided address - -#### Parameters - -| Name | Type | Description | -| :---------------- | :------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractAddress` | `undefined` | undefined | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | | -| `options?` | [`getContractVersionOptions`](../namespaces/types.md#getcontractversionoptions) | getContractVersionOptions - (optional) compiler - (default true) extract compiler version using type tactic from abi - (optional) blockIdentifier - block identifier | - -#### Returns - -`Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getContractVersion](AccountInterface.md#getcontractversion) - -#### Inherited from - -[Account](Account.md).[getContractVersion](Account.md#getcontractversion) - -#### Defined in - -[src/provider/rpc.ts:378](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L378) - ---- - -### getInvokeEstimateFee - -▸ **getInvokeEstimateFee**(`invocation`, `invocationDetails`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates the fee for a given INVOKE transaction - -#### Parameters - -| Name | Type | Description | -| :------------------ | :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocation` | [`Invocation`](../namespaces/types.md#invocation) | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature | -| `invocationDetails` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - optional nonce - version - optional version | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | (optional) block identifier | -| `skipValidate?` | `boolean` | (optional) skip cairo **validate** method | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -the estimated fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getInvokeEstimateFee](AccountInterface.md#getinvokeestimatefee) - -#### Inherited from - -[Account](Account.md).[getInvokeEstimateFee](Account.md#getinvokeestimatefee) - -#### Defined in - -[src/provider/rpc.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L411) - ---- - -### getDeclareEstimateFee - -▸ **getDeclareEstimateFee**(`invocation`, `details`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates the fee for a given DECLARE transaction - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ | -| `invocation` | [`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction) | transaction payload to be declared containing: - compiled contract code - sender address - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - version - optional version - optional maxFee | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | (optional) block identifier | -| `skipValidate?` | `boolean` | (optional) skip cairo **validate** method | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -the estimated fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getDeclareEstimateFee](AccountInterface.md#getdeclareestimatefee) - -#### Inherited from - -[Account](Account.md).[getDeclareEstimateFee](Account.md#getdeclareestimatefee) - -#### Defined in - -[src/provider/rpc.ts:431](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L431) - ---- - -### getDeployAccountEstimateFee - -▸ **getDeployAccountEstimateFee**(`invocation`, `details`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates the fee for a given DEPLOY_ACCOUNT transaction - -#### Parameters - -| Name | Type | Description | -| :----------------- | :-------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ | -| `invocation` | [`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction) | transaction payload to be deployed containing: - classHash - constructorCalldata - addressSalt - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - version - optional version - optional maxFee | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | (optional) block identifier | -| `skipValidate?` | `boolean` | (optional) skip cairo **validate** method | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -the estimated fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getDeployAccountEstimateFee](AccountInterface.md#getdeployaccountestimatefee) - -#### Inherited from - -[Account](Account.md).[getDeployAccountEstimateFee](Account.md#getdeployaccountestimatefee) - -#### Defined in - -[src/provider/rpc.ts:451](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L451) - ---- - -### getEstimateFeeBulk - -▸ **getEstimateFeeBulk**(`invocations`, `options`): `Promise`<[`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk)\> - -Estimates the fee for a list of INVOKE transaction - -#### Parameters - -| Name | Type | Description | -| :------------ | :------------------------------------------------------------------------------ | :----------------------------------------------------------------------- | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | AccountInvocations - Complete invocations array with account details | -| `options` | [`getEstimateFeeBulkOptions`](../namespaces/types.md#getestimatefeebulkoptions) | getEstimateFeeBulkOptions - (optional) blockIdentifier - BlockIdentifier | - -#### Returns - -`Promise`<[`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk)\> - -the estimated fee - -#### Implementation of - -[AccountInterface](AccountInterface.md).[getEstimateFeeBulk](AccountInterface.md#getestimatefeebulk) - -#### Inherited from - -[Account](Account.md).[getEstimateFeeBulk](Account.md#getestimatefeebulk) - -#### Defined in - -[src/provider/rpc.ts:471](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L471) - ---- - -### invokeFunction - -▸ **invokeFunction**(`functionInvocation`, `details`): `Promise`<\{ `transaction_hash`: `string` }\> - -Invokes a function on starknet - -#### Parameters - -| Name | Type | Description | -| :------------------- | :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `functionInvocation` | [`Invocation`](../namespaces/types.md#invocation) | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - optional nonce - version - optional version - maxFee - optional maxFee | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -response from addTransaction - -#### Implementation of - -[AccountInterface](AccountInterface.md).[invokeFunction](AccountInterface.md#invokefunction) - -#### Inherited from - -[Account](Account.md).[invokeFunction](Account.md#invokefunction) - -#### Defined in - -[src/provider/rpc.ts:480](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L480) - ---- - -### declareContract - -▸ **declareContract**(`transaction`, `details`): `Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -Declares a given compiled contract (json) to starknet - -#### Parameters - -| Name | Type | Description | -| :------------ | :---------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- | -| `transaction` | [`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction) | transaction payload to be deployed containing: - compiled contract code - sender address - signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | Invocation Details containing: - nonce - optional version - optional maxFee | - -#### Returns - -`Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -a confirmation of sending a transaction on the starknet contract - -#### Implementation of - -[AccountInterface](AccountInterface.md).[declareContract](AccountInterface.md#declarecontract) - -#### Inherited from - -[Account](Account.md).[declareContract](Account.md#declarecontract) - -#### Defined in - -[src/provider/rpc.ts:487](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L487) - ---- - -### deployAccountContract - -▸ **deployAccountContract**(`transaction`, `details`): `Promise`<\{ `contract_address`: `string` ; `transaction_hash`: `string` }\> - -Deploys a given compiled Account contract (json) to starknet - -#### Parameters - -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ | -| `transaction` | [`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction) | payload to be deployed containing: - compiled contract code - constructor calldata - address salt | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | - | - -#### Returns - -`Promise`<\{ `contract_address`: `string` ; `transaction_hash`: `string` }\> - -a confirmation of sending a transaction on the starknet contract - -#### Implementation of - -[AccountInterface](AccountInterface.md).[deployAccountContract](AccountInterface.md#deployaccountcontract) - -#### Inherited from - -[Account](Account.md).[deployAccountContract](Account.md#deployaccountcontract) - -#### Defined in - -[src/provider/rpc.ts:494](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L494) - ---- - -### callContract - -▸ **callContract**(`call`, `blockIdentifier?`): `Promise`<`string`[]\> - -Calls a function on the Starknet contract. - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :----------------------- | -| `call` | [`Call`](../namespaces/types.md#call) | transaction to be called | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`[]\> - -the result of the function on the smart contract. - -#### Implementation of - -[AccountInterface](AccountInterface.md).[callContract](AccountInterface.md#callcontract) - -#### Inherited from - -[Account](Account.md).[callContract](Account.md#callcontract) - -#### Defined in - -[src/provider/rpc.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L501) - ---- - -### estimateMessageFee - -▸ **estimateMessageFee**(`message`, `blockIdentifier?`): `Promise`<\{ `unit`: `"WEI"` \| `"FRI"` ; `overall_fee`: `string` \| `number` ; `l1_gas_price`: `undefined` \| `number` ; `l2_gas_price`: `undefined` \| `number` ; `l1_data_gas_price`: `undefined` \| `number` ; `l1_gas_consumed`: `undefined` \| `number` ; `l2_gas_consumed`: `undefined` \| `number` ; `l1_data_gas_consumed`: `undefined` \| `number` ; `gas_consumed`: `undefined` \| `string` ; `gas_price`: `undefined` \| `string` ; `data_gas_consumed`: `undefined` \| `string` ; `data_gas_price`: `undefined` \| `string` }\> - -NEW: Estimate the fee for a message from L1 - -#### Parameters - -| Name | Type | Description | -| :----------------------------- | :---------------------------------------------------------- | :-------------- | -| `message` | `Object` | Message From L1 | -| `message.entry_point_selector` | `string` | - | -| `message.from_address` | `string` | - | -| `message.to_address` | `string` | - | -| `message.payload` | `string`[] | - | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - | - -#### Returns - -`Promise`<\{ `unit`: `"WEI"` \| `"FRI"` ; `overall_fee`: `string` \| `number` ; `l1_gas_price`: `undefined` \| `number` ; `l2_gas_price`: `undefined` \| `number` ; `l1_data_gas_price`: `undefined` \| `number` ; `l1_gas_consumed`: `undefined` \| `number` ; `l2_gas_consumed`: `undefined` \| `number` ; `l1_data_gas_consumed`: `undefined` \| `number` ; `gas_consumed`: `undefined` \| `string` ; `gas_price`: `undefined` \| `string` ; `data_gas_consumed`: `undefined` \| `string` ; `data_gas_price`: `undefined` \| `string` }\> - -#### Inherited from - -[Account](Account.md).[estimateMessageFee](Account.md#estimatemessagefee) - -#### Defined in - -[src/provider/rpc.ts:509](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L509) - ---- - -### getSyncingStats - -▸ **getSyncingStats**(): `Promise`<[`Syncing`](../namespaces/types.RPC.RPCSPEC07.API.md#syncing)\> - -Returns an object about the sync status, or false if the node is not synching - -#### Returns - -`Promise`<[`Syncing`](../namespaces/types.RPC.RPCSPEC07.API.md#syncing)\> - -Object with the stats data - -#### Inherited from - -[Account](Account.md).[getSyncingStats](Account.md#getsyncingstats) - -#### Defined in - -[src/provider/rpc.ts:520](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L520) - ---- - -### getEvents - -▸ **getEvents**(`eventFilter`): `Promise`<\{ `events`: \{ keys: string[]; data: string[]; block_number: number; block_hash: string; transaction_hash: string; from_address: string; }[] ; `continuation_token`: `undefined` \| `string` }\> - -Returns all events matching the given filter - -#### Parameters - -| Name | Type | -| :------------ | :-------------------------------------------------------------------- | -| `eventFilter` | [`EventFilter`](../namespaces/types.RPC.RPCSPEC08.API.md#eventfilter) | - -#### Returns - -`Promise`<\{ `events`: \{ keys: string[]; data: string[]; block_number: number; block_hash: string; transaction_hash: string; from_address: string; }[] ; `continuation_token`: `undefined` \| `string` }\> - -events and the pagination of the events - -#### Inherited from - -[Account](Account.md).[getEvents](Account.md#getevents) - -#### Defined in - -[src/provider/rpc.ts:528](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L528) - ---- - -### verifyMessageInStarknet - -▸ **verifyMessageInStarknet**(`message`, `signature`, `accountAddress`, `signatureVerificationFunctionName?`, `signatureVerificationResponse?`): `Promise`<`boolean`\> - -Verify in Starknet a signature of a TypedData object or of a given hash. - -#### Parameters - -| Name | Type | Description | -| :------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------ | -| `message` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) \| [`BigNumberish`](../namespaces/types.md#bignumberish) | TypedData object to be verified, or message hash to be verified. | -| `signature` | [`Signature`](../namespaces/types.md#signature) | signature of the message. | -| `accountAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | address of the account that has signed the message. | -| `signatureVerificationFunctionName?` | `string` | if account contract with non standard account verification function name. | -| `signatureVerificationResponse?` | `Object` | if account contract with non standard response of verification function. | -| `signatureVerificationResponse.okResponse` | `string`[] | - | -| `signatureVerificationResponse.nokResponse` | `string`[] | - | -| `signatureVerificationResponse.error` | `string`[] | - | - -#### Returns - -`Promise`<`boolean`\> - -```typescript -const myTypedMessage: TypedMessage = .... ; -const messageHash = typedData.getMessageHash(myTypedMessage,accountAddress); -const sign: WeierstrassSignatureType = ec.starkCurve.sign(messageHash, privateKey); -const accountAddress = "0x43b7240d227aa2fb8434350b3321c40ac1b88c7067982549e7609870621b535"; -const result1 = myRpcProvider.verifyMessageInStarknet(myTypedMessage, sign, accountAddress); -const result2 = myRpcProvider.verifyMessageInStarknet(messageHash, sign, accountAddress); -// result1 = result2 = true -``` - -#### Inherited from - -[Account](Account.md).[verifyMessageInStarknet](Account.md#verifymessageinstarknet) - -#### Defined in - -[src/provider/rpc.ts:550](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L550) - ---- - -### isClassDeclared - -▸ **isClassDeclared**(`contractClassIdentifier`, `blockIdentifier?`): `Promise`<`boolean`\> - -Test if class is already declared from ContractClassIdentifier -Helper method using getClass - -#### Parameters - -| Name | Type | -| :------------------------ | :-------------------------------------------------------------------------- | -| `contractClassIdentifier` | [`ContractClassIdentifier`](../namespaces/types.md#contractclassidentifier) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`boolean`\> - -#### Inherited from - -[Account](Account.md).[isClassDeclared](Account.md#isclassdeclared) - -#### Defined in - -[src/provider/rpc.ts:636](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L636) - ---- - -### prepareInvocations - -▸ **prepareInvocations**(`invocations`): `Promise`<[`Invocations`](../namespaces/types.md#invocations)\> - -Build bulk invocations with auto-detect declared class - -1. Test if class is declared if not declare it preventing already declared class error and not declared class errors -2. Order declarations first - -#### Parameters - -| Name | Type | -| :------------ | :-------------------------------------------------- | -| `invocations` | [`Invocations`](../namespaces/types.md#invocations) | - -#### Returns - -`Promise`<[`Invocations`](../namespaces/types.md#invocations)\> - -#### Inherited from - -[Account](Account.md).[prepareInvocations](Account.md#prepareinvocations) - -#### Defined in - -[src/provider/rpc.ts:667](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L667) - ---- - -### getL1MessagesStatus - -▸ **getL1MessagesStatus**(`transactionHash`): `Promise`<[`L1L2MessagesStatus`](../namespaces/types.RPC.RPCSPEC08.API.md#l1l2messagesstatus)\> - -Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses for all L1 -> L2 messages sent by the l1 transaction, ordered by the l1 tx sending order - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------- | -| `transactionHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`L1L2MessagesStatus`](../namespaces/types.RPC.RPCSPEC08.API.md#l1l2messagesstatus)\> - -#### Inherited from - -[Account](Account.md).[getL1MessagesStatus](Account.md#getl1messagesstatus) - -#### Defined in - -[src/provider/rpc.ts:691](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L691) - ---- - -### getStorageProof - -▸ **getStorageProof**(`classHashes`, `contractAddresses`, `contractsStorageKeys`, `blockIdentifier?`): `Promise`<[`StorageProof`](../namespaces/types.RPC.RPCSPEC08.API.md#storageproof)\> - -Get merkle paths in one of the state tries: global state, classes, individual contract - -#### Parameters - -| Name | Type | -| :--------------------- | :------------------------------------------------------------------------------------------ | -| `classHashes` | [`BigNumberish`](../namespaces/types.md#bignumberish)[] | -| `contractAddresses` | [`BigNumberish`](../namespaces/types.md#bignumberish)[] | -| `contractsStorageKeys` | [`CONTRACT_STORAGE_KEYS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_storage_keys)[] | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`StorageProof`](../namespaces/types.RPC.RPCSPEC08.API.md#storageproof)\> - -#### Inherited from - -[Account](Account.md).[getStorageProof](Account.md#getstorageproof) - -#### Defined in - -[src/provider/rpc.ts:702](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L702) - ---- - -### getCompiledCasm - -▸ **getCompiledCasm**(`classHash`): `Promise`<[`CASM_COMPILED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#casm_compiled_contract_class)\> - -Get the contract class definition in the given block associated with the given hash - -#### Parameters - -| Name | Type | -| :---------- | :---------------------------------------------------- | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`CASM_COMPILED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#casm_compiled_contract_class)\> - -#### Inherited from - -[Account](Account.md).[getCompiledCasm](Account.md#getcompiledcasm) - -#### Defined in - -[src/provider/rpc.ts:723](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/rpc.ts#L723) - ---- - -### getAddressFromStarkName - -▸ **getAddressFromStarkName**(`name`, `StarknetIdContract?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :-------------------- | :------- | -| `name` | `string` | -| `StarknetIdContract?` | `string` | - -#### Returns - -`Promise`<`string`\> - -#### Inherited from - -[Account](Account.md).[getAddressFromStarkName](Account.md#getaddressfromstarkname-1) - -#### Defined in - -[src/provider/extensions/starknetId.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L31) - ---- - -### getStarkProfile - -▸ **getStarkProfile**(`address`, `StarknetIdContract?`, `StarknetIdIdentityContract?`, `StarknetIdVerifierContract?`, `StarknetIdPfpContract?`, `StarknetIdPopContract?`, `StarknetIdMulticallContract?`): `Promise`<[`StarkProfile`](../namespaces/types.md#starkprofile)\> - -#### Parameters - -| Name | Type | -| :----------------------------- | :---------------------------------------------------- | -| `address` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `StarknetIdContract?` | `string` | -| `StarknetIdIdentityContract?` | `string` | -| `StarknetIdVerifierContract?` | `string` | -| `StarknetIdPfpContract?` | `string` | -| `StarknetIdPopContract?` | `string` | -| `StarknetIdMulticallContract?` | `string` | - -#### Returns - -`Promise`<[`StarkProfile`](../namespaces/types.md#starkprofile)\> - -#### Inherited from - -[Account](Account.md).[getStarkProfile](Account.md#getstarkprofile-1) - -#### Defined in - -[src/provider/extensions/starknetId.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/extensions/starknetId.ts#L40) diff --git a/www/versioned_docs/version-7.5.1/API/classes/WebSocketNotConnectedError.md b/www/versioned_docs/version-7.5.1/API/classes/WebSocketNotConnectedError.md deleted file mode 100644 index 43caff9af..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/WebSocketNotConnectedError.md +++ /dev/null @@ -1,173 +0,0 @@ ---- -id: 'WebSocketNotConnectedError' -title: 'Class: WebSocketNotConnectedError' -sidebar_label: 'WebSocketNotConnectedError' -sidebar_position: 0 -custom_edit_url: null ---- - -Thrown when an operation is attempted on a WebSocket that is not connected. - -## Hierarchy - -- [`LibraryError`](LibraryError.md) - - ↳ **`WebSocketNotConnectedError`** - -## Constructors - -### constructor - -• **new WebSocketNotConnectedError**(`message`): [`WebSocketNotConnectedError`](WebSocketNotConnectedError.md) - -#### Parameters - -| Name | Type | -| :-------- | :------- | -| `message` | `string` | - -#### Returns - -[`WebSocketNotConnectedError`](WebSocketNotConnectedError.md) - -#### Overrides - -[LibraryError](LibraryError.md).[constructor](LibraryError.md#constructor) - -#### Defined in - -[src/utils/errors/index.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/errors/index.ts#L96) - -## Properties - -### prepareStackTrace - -▪ `Static` `Optional` **prepareStackTrace**: (`err`: `Error`, `stackTraces`: `CallSite`[]) => `any` - -#### Type declaration - -▸ (`err`, `stackTraces`): `any` - -Optional override for formatting stack traces - -##### Parameters - -| Name | Type | -| :------------ | :----------- | -| `err` | `Error` | -| `stackTraces` | `CallSite`[] | - -##### Returns - -`any` - -**`See`** - -https://v8.dev/docs/stack-trace-api#customizing-stack-traces - -#### Inherited from - -[LibraryError](LibraryError.md).[prepareStackTrace](LibraryError.md#preparestacktrace) - -#### Defined in - -node_modules/@types/node/globals.d.ts:143 - ---- - -### stackTraceLimit - -▪ `Static` **stackTraceLimit**: `number` - -#### Inherited from - -[LibraryError](LibraryError.md).[stackTraceLimit](LibraryError.md#stacktracelimit) - -#### Defined in - -node_modules/@types/node/globals.d.ts:145 - ---- - -### name - -• **name**: `string` - -The name of the error, always 'WebSocketNotConnectedError'. - -#### Inherited from - -[LibraryError](LibraryError.md).[name](LibraryError.md#name) - -#### Defined in - -[src/utils/errors/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/errors/index.ts#L21) - ---- - -### message - -• **message**: `string` - -#### Inherited from - -[LibraryError](LibraryError.md).[message](LibraryError.md#message) - -#### Defined in - -www/node_modules/typescript/lib/lib.es5.d.ts:1055 - ---- - -### stack - -• `Optional` **stack**: `string` - -#### Inherited from - -[LibraryError](LibraryError.md).[stack](LibraryError.md#stack) - -#### Defined in - -www/node_modules/typescript/lib/lib.es5.d.ts:1056 - ---- - -### cause - -• `Optional` **cause**: `unknown` - -#### Inherited from - -[LibraryError](LibraryError.md).[cause](LibraryError.md#cause) - -#### Defined in - -www/node_modules/typescript/lib/lib.es2022.error.d.ts:24 - -## Methods - -### captureStackTrace - -▸ **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` - -Create .stack property on a target object - -#### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `targetObject` | `object` | -| `constructorOpt?` | `Function` | - -#### Returns - -`void` - -#### Inherited from - -[LibraryError](LibraryError.md).[captureStackTrace](LibraryError.md#capturestacktrace) - -#### Defined in - -node_modules/@types/node/globals.d.ts:136 diff --git a/www/versioned_docs/version-7.5.1/API/classes/merkle.MerkleTree.md b/www/versioned_docs/version-7.5.1/API/classes/merkle.MerkleTree.md deleted file mode 100644 index c8a74ce6d..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/merkle.MerkleTree.md +++ /dev/null @@ -1,177 +0,0 @@ ---- -id: 'merkle.MerkleTree' -title: 'Class: MerkleTree' -sidebar_label: 'MerkleTree' -custom_edit_url: null ---- - -[merkle](../namespaces/merkle.md).MerkleTree - -## Constructors - -### constructor - -• **new MerkleTree**(`leafHashes`, `hashMethod?`): [`MerkleTree`](merkle.MerkleTree.md) - -Create a Merkle tree - -#### Parameters - -| Name | Type | Default value | Description | -| :----------- | :----------------------------------------------------------------------------------------------------------------------------------- | :-------------------- | :------------------------------------ | -| `leafHashes` | `string`[] | `undefined` | hex-string array | -| `hashMethod` | (`a`: [`BigNumberish`](../namespaces/types.md#bignumberish), `b`: [`BigNumberish`](../namespaces/types.md#bignumberish)) => `string` | `computePedersenHash` | hash method to use, default: Pedersen | - -#### Returns - -[`MerkleTree`](merkle.MerkleTree.md) - -created Merkle tree - -**`Example`** - -```typescript -const leaves = ['0x1', '0x2', '0x3', '0x4', '0x5', '0x6', '0x7']; -const tree = new MerkleTree(leaves); -// tree = { -// branches: [['0x5bb9440e2...', '0x262697b88...', ...], ['0x38118a340...', ...], ...], -// leaves: ['0x1', '0x2', '0x3', '0x4', '0x5', '0x6', '0x7'], -// root: '0x7f748c75e5bdb7ae28013f076b8ab650c4e01d3530c6e5ab665f9f1accbe7d4', -// hashMethod: [Function computePedersenHash], -// } -``` - -#### Defined in - -[src/utils/merkle.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/merkle.ts#L31) - -## Properties - -### leaves - -• **leaves**: `string`[] - -#### Defined in - -[src/utils/merkle.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/merkle.ts#L5) - ---- - -### branches - -• **branches**: `string`[][] = `[]` - -#### Defined in - -[src/utils/merkle.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/merkle.ts#L7) - ---- - -### root - -• **root**: `string` - -#### Defined in - -[src/utils/merkle.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/merkle.ts#L9) - ---- - -### hashMethod - -• **hashMethod**: (`a`: [`BigNumberish`](../namespaces/types.md#bignumberish), `b`: [`BigNumberish`](../namespaces/types.md#bignumberish)) => `string` - -#### Type declaration - -▸ (`a`, `b`): `string` - -##### Parameters - -| Name | Type | -| :--- | :---------------------------------------------------- | -| `a` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `b` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -##### Returns - -`string` - -#### Defined in - -[src/utils/merkle.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/merkle.ts#L11) - -## Methods - -### hash - -▸ **hash**(`a`, `b`, `hashMethod?`): `string` - -Calculate hash from ordered a and b, Pedersen hash default - -#### Parameters - -| Name | Type | Default value | Description | -| :----------- | :----------------------------------------------------------------------------------------------------------------------------------- | :-------------------- | :------------------------------------ | -| `a` | [`BigNumberish`](../namespaces/types.md#bignumberish) | `undefined` | first value | -| `b` | [`BigNumberish`](../namespaces/types.md#bignumberish) | `undefined` | second value | -| `hashMethod` | (`a`: [`BigNumberish`](../namespaces/types.md#bignumberish), `b`: [`BigNumberish`](../namespaces/types.md#bignumberish)) => `string` | `computePedersenHash` | hash method to use, default: Pedersen | - -#### Returns - -`string` - -result of the hash function - -**`Example`** - -```typescript -const result1 = MerkleTree.hash('0xabc', '0xdef'); -// result1 = '0x484f029da7914ada038b1adf67fc83632364a3ebc2cd9349b41ab61626d9e82' - -const customHashMethod = (a, b) => `custom_${a}_${b}`; -const result2 = MerkleTree.hash('0xabc', '0xdef', customHashMethod); -// result2 = 'custom_2748_3567' -``` - -#### Defined in - -[src/utils/merkle.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/merkle.ts#L76) - ---- - -### getProof - -▸ **getProof**(`leaf`, `branch?`, `hashPath?`): `string`[] - -Calculates the merkle membership proof path - -#### Parameters - -| Name | Type | Default value | Description | -| :--------- | :--------- | :------------ | :--------------- | -| `leaf` | `string` | `undefined` | hex-string | -| `branch` | `string`[] | `undefined` | hex-string array | -| `hashPath` | `string`[] | `[]` | hex-string array | - -#### Returns - -`string`[] - -collection of merkle proof hex-string hashes - -**`Example`** - -```typescript -const leaves = ['0x1', '0x2', '0x3', '0x4', '0x5', '0x6', '0x7']; -const tree = new MerkleTree(leaves); -const result = tree.getProof('0x3'); -// result = [ -// '0x4', -// '0x5bb9440e27889a364bcb678b1f679ecd1347acdedcbf36e83494f857cc58026', -// '0x8c0e46dd2df9aaf3a8ebfbc25408a582ad7fa7171f0698ddbbc5130b4b4e60', -// ] -``` - -#### Defined in - -[src/utils/merkle.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/merkle.ts#L104) diff --git a/www/versioned_docs/version-7.5.1/API/classes/provider-1.Block.md b/www/versioned_docs/version-7.5.1/API/classes/provider-1.Block.md deleted file mode 100644 index 70d4516a4..000000000 --- a/www/versioned_docs/version-7.5.1/API/classes/provider-1.Block.md +++ /dev/null @@ -1,210 +0,0 @@ ---- -id: 'provider-1.Block' -title: 'Class: Block' -sidebar_label: 'Block' -custom_edit_url: null ---- - -[provider](../namespaces/provider-1.md).Block - -This class is formatting the identifier of a block. - -hex string and BigInt are detected as block hashes. identifier return { block_hash: hash } - -decimal string and number are detected as block numbers. identifier return { block_number: number } - -text string are detected as block tag. identifier return tag - -null is detected as 'pending' block tag. identifier return 'pending' - -**`Example`** - -```typescript -const result = new provider.Block(null).identifier; -// result = "pending" -``` - -## Constructors - -### constructor - -• **new Block**(`_identifier`): [`Block`](provider-1.Block.md) - -Create a Block instance - -#### Parameters - -| Name | Type | Description | -| :------------ | :---------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `_identifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | hex string and BigInt are detected as block hashes. decimal string and number are detected as block numbers. text string are detected as block tag. null is considered as a 'pending' block tag. | - -#### Returns - -[`Block`](provider-1.Block.md) - -#### Defined in - -[src/utils/provider.ts:214](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L214) - -## Properties - -### hash - -• **hash**: [`BlockIdentifier`](../namespaces/types.md#blockidentifier) = `null` - -**`Param`** - -if not null, contains the block hash - -#### Defined in - -[src/utils/provider.ts:171](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L171) - ---- - -### number - -• **number**: [`BlockIdentifier`](../namespaces/types.md#blockidentifier) = `null` - -**`Param`** - -if not null, contains the block number - -#### Defined in - -[src/utils/provider.ts:176](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L176) - ---- - -### tag - -• **tag**: [`BlockIdentifier`](../namespaces/types.md#blockidentifier) = `null` - -**`Param`** - -if not null, contains "pending" or "latest" - -#### Defined in - -[src/utils/provider.ts:181](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L181) - -## Accessors - -### queryIdentifier - -• `get` **queryIdentifier**(): `any` - -#### Returns - -`any` - -the identifier as a string - -**`Example`** - -```typescript -const result = new provider.Block(123456n).queryIdentifier; -// result = "blockHash=0x1e240" -``` - -#### Defined in - -[src/utils/provider.ts:227](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L227) - ---- - -### identifier - -• `get` **identifier**(): `any` - -#### Returns - -`any` - -the identifier as an object - -**`Example`** - -```typescript -const result = new provider.Block(56789).identifier; -// result = { block_number: 56789 } -``` - -#### Defined in - -[src/utils/provider.ts:248](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L248) - -• `set` **identifier**(`_identifier`): `void` - -change the identifier of an existing Block instance - -#### Parameters - -| Name | Type | -| :------------ | :---------------------------------------------------------- | -| `_identifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`void` - -**`Example`** - -```typescript -const myBlock = new provider.Block('latest'); -myBlock.identifier = '0x3456789abc'; -const result = myBlock.identifier; -// result = { block_hash: '0x3456789abc' } -``` - -#### Defined in - -[src/utils/provider.ts:270](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L270) - -## Methods - -### setIdentifier - -▸ **setIdentifier**(`__identifier`): `void` - -#### Parameters - -| Name | Type | -| :------------- | :---------------------------------------------------------- | -| `__identifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`void` - -#### Defined in - -[src/utils/provider.ts:183](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L183) - ---- - -### valueOf - -▸ **valueOf**(): [`BlockIdentifier`](../namespaces/types.md#blockidentifier) - -#### Returns - -[`BlockIdentifier`](../namespaces/types.md#blockidentifier) - -#### Defined in - -[src/utils/provider.ts:274](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L274) - ---- - -### toString - -▸ **toString**(): [`BlockIdentifier`](../namespaces/types.md#blockidentifier) - -#### Returns - -[`BlockIdentifier`](../namespaces/types.md#blockidentifier) - -#### Defined in - -[src/utils/provider.ts:276](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L276) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.DeployContractResponse.md b/www/versioned_docs/version-7.5.1/API/interfaces/types.DeployContractResponse.md deleted file mode 100644 index 857e7e2fe..000000000 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.DeployContractResponse.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.DeployContractResponse' -title: 'Interface: DeployContractResponse' -sidebar_label: 'DeployContractResponse' -custom_edit_url: null ---- - -[types](../namespaces/types.md).DeployContractResponse - -## Properties - -### contract_address - -• **contract_address**: `string` - -#### Defined in - -[src/types/account.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L60) - ---- - -### transaction_hash - -• **transaction_hash**: `string` - -#### Defined in - -[src/types/account.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L61) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.EstimateFee.md b/www/versioned_docs/version-7.5.1/API/interfaces/types.EstimateFee.md deleted file mode 100644 index e3872fb9b..000000000 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.EstimateFee.md +++ /dev/null @@ -1,154 +0,0 @@ ---- -id: 'types.EstimateFee' -title: 'Interface: EstimateFee' -sidebar_label: 'EstimateFee' -custom_edit_url: null ---- - -[types](../namespaces/types.md).EstimateFee - -## Hierarchy - -- [`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse) - - ↳ **`EstimateFee`** - -## Properties - -### overall_fee - -• **overall_fee**: `bigint` - -#### Inherited from - -EstimateFeeResponse.overall_fee - -#### Defined in - -[src/provider/types/response.type.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L48) - ---- - -### unit - -• **unit**: [`PRICE_UNIT`](../namespaces/types.md#price_unit) - -#### Inherited from - -EstimateFeeResponse.unit - -#### Defined in - -[src/provider/types/response.type.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L49) - ---- - -### l1_gas_consumed - -• **l1_gas_consumed**: `bigint` - -#### Inherited from - -EstimateFeeResponse.l1_gas_consumed - -#### Defined in - -[src/provider/types/response.type.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L51) - ---- - -### l1_gas_price - -• **l1_gas_price**: `bigint` - -#### Inherited from - -EstimateFeeResponse.l1_gas_price - -#### Defined in - -[src/provider/types/response.type.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L52) - ---- - -### l2_gas_consumed - -• **l2_gas_consumed**: `undefined` \| `bigint` - -#### Inherited from - -EstimateFeeResponse.l2_gas_consumed - -#### Defined in - -[src/provider/types/response.type.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L53) - ---- - -### l2_gas_price - -• **l2_gas_price**: `undefined` \| `bigint` - -#### Inherited from - -EstimateFeeResponse.l2_gas_price - -#### Defined in - -[src/provider/types/response.type.ts:54](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L54) - ---- - -### l1_data_gas_consumed - -• **l1_data_gas_consumed**: `bigint` - -#### Inherited from - -EstimateFeeResponse.l1_data_gas_consumed - -#### Defined in - -[src/provider/types/response.type.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L55) - ---- - -### l1_data_gas_price - -• **l1_data_gas_price**: `bigint` - -#### Inherited from - -EstimateFeeResponse.l1_data_gas_price - -#### Defined in - -[src/provider/types/response.type.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L56) - ---- - -### suggestedMaxFee - -• **suggestedMaxFee**: `bigint` - -#### Inherited from - -EstimateFeeResponse.suggestedMaxFee - -#### Defined in - -[src/provider/types/response.type.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L58) - ---- - -### resourceBounds - -• **resourceBounds**: [`ResourceBounds`](../namespaces/types.md#resourcebounds) - -#### Inherited from - -EstimateFeeResponse.resourceBounds - -#### Defined in - -[src/provider/types/response.type.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L59) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.EstimateFeeDetails.md b/www/versioned_docs/version-7.5.1/API/interfaces/types.EstimateFeeDetails.md deleted file mode 100644 index e1901a9d4..000000000 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.EstimateFeeDetails.md +++ /dev/null @@ -1,168 +0,0 @@ ---- -id: 'types.EstimateFeeDetails' -title: 'Interface: EstimateFeeDetails' -sidebar_label: 'EstimateFeeDetails' -custom_edit_url: null ---- - -[types](../namespaces/types.md).EstimateFeeDetails - -## Hierarchy - -- [`UniversalDetails`](types.UniversalDetails.md) - - ↳ **`EstimateFeeDetails`** - -## Properties - -### nonce - -• `Optional` **nonce**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Inherited from - -[UniversalDetails](types.UniversalDetails.md).[nonce](types.UniversalDetails.md#nonce) - -#### Defined in - -[src/types/account.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L38) - ---- - -### blockIdentifier - -• `Optional` **blockIdentifier**: [`BlockIdentifier`](../namespaces/types.md#blockidentifier) - -#### Inherited from - -[UniversalDetails](types.UniversalDetails.md).[blockIdentifier](types.UniversalDetails.md#blockidentifier) - -#### Defined in - -[src/types/account.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L39) - ---- - -### maxFee - -• `Optional` **maxFee**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Inherited from - -[UniversalDetails](types.UniversalDetails.md).[maxFee](types.UniversalDetails.md#maxfee) - -#### Defined in - -[src/types/account.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L40) - ---- - -### tip - -• `Optional` **tip**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Inherited from - -[UniversalDetails](types.UniversalDetails.md).[tip](types.UniversalDetails.md#tip) - -#### Defined in - -[src/types/account.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L41) - ---- - -### paymasterData - -• `Optional` **paymasterData**: [`BigNumberish`](../namespaces/types.md#bignumberish)[] - -#### Inherited from - -[UniversalDetails](types.UniversalDetails.md).[paymasterData](types.UniversalDetails.md#paymasterdata) - -#### Defined in - -[src/types/account.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L42) - ---- - -### accountDeploymentData - -• `Optional` **accountDeploymentData**: [`BigNumberish`](../namespaces/types.md#bignumberish)[] - -#### Inherited from - -[UniversalDetails](types.UniversalDetails.md).[accountDeploymentData](types.UniversalDetails.md#accountdeploymentdata) - -#### Defined in - -[src/types/account.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L43) - ---- - -### nonceDataAvailabilityMode - -• `Optional` **nonceDataAvailabilityMode**: [`EDataAvailabilityMode`](../namespaces/types.RPC.RPCSPEC08.API.md#edataavailabilitymode-1) - -#### Inherited from - -[UniversalDetails](types.UniversalDetails.md).[nonceDataAvailabilityMode](types.UniversalDetails.md#noncedataavailabilitymode) - -#### Defined in - -[src/types/account.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L44) - ---- - -### feeDataAvailabilityMode - -• `Optional` **feeDataAvailabilityMode**: [`EDataAvailabilityMode`](../namespaces/types.RPC.RPCSPEC08.API.md#edataavailabilitymode-1) - -#### Inherited from - -[UniversalDetails](types.UniversalDetails.md).[feeDataAvailabilityMode](types.UniversalDetails.md#feedataavailabilitymode) - -#### Defined in - -[src/types/account.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L45) - ---- - -### version - -• `Optional` **version**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Inherited from - -[UniversalDetails](types.UniversalDetails.md).[version](types.UniversalDetails.md#version) - -#### Defined in - -[src/types/account.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L46) - ---- - -### resourceBounds - -• `Optional` **resourceBounds**: [`ResourceBounds`](../namespaces/types.md#resourcebounds) - -#### Inherited from - -[UniversalDetails](types.UniversalDetails.md).[resourceBounds](types.UniversalDetails.md#resourcebounds) - -#### Defined in - -[src/types/account.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L47) - ---- - -### skipValidate - -• `Optional` **skipValidate**: `boolean` - -#### Inherited from - -[UniversalDetails](types.UniversalDetails.md).[skipValidate](types.UniversalDetails.md#skipvalidate) - -#### Defined in - -[src/types/account.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L48) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.OutsideCall.md b/www/versioned_docs/version-7.5.1/API/interfaces/types.OutsideCall.md deleted file mode 100644 index d137e93da..000000000 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.OutsideCall.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: 'types.OutsideCall' -title: 'Interface: OutsideCall' -sidebar_label: 'OutsideCall' -custom_edit_url: null ---- - -[types](../namespaces/types.md).OutsideCall - -## Properties - -### to - -• **to**: `string` - -#### Defined in - -[src/types/outsideExecution.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L14) - ---- - -### selector - -• **selector**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/outsideExecution.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L15) - ---- - -### calldata - -• **calldata**: [`RawArgs`](../namespaces/types.md#rawargs) - -#### Defined in - -[src/types/outsideExecution.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L16) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.OutsideExecutionOptions.md b/www/versioned_docs/version-7.5.1/API/interfaces/types.OutsideExecutionOptions.md deleted file mode 100644 index 679a27bab..000000000 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.OutsideExecutionOptions.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: 'types.OutsideExecutionOptions' -title: 'Interface: OutsideExecutionOptions' -sidebar_label: 'OutsideExecutionOptions' -custom_edit_url: null ---- - -[types](../namespaces/types.md).OutsideExecutionOptions - -## Properties - -### caller - -• **caller**: `string` - -authorized executer of the transaction(s): Hex address or "ANY_CALLER" or shortString.encodeShortString(constants.OutsideExecutionCallerAny) - -#### Defined in - -[src/types/outsideExecution.ts:6](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L6) - ---- - -### execute_after - -• **execute_after**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -Unix timestamp of the beginning of the timeframe - -#### Defined in - -[src/types/outsideExecution.ts:8](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L8) - ---- - -### execute_before - -• **execute_before**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -Unix timestamp of the end of the timeframe - -#### Defined in - -[src/types/outsideExecution.ts:10](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L10) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.PaymasterDetails.md b/www/versioned_docs/version-7.5.1/API/interfaces/types.PaymasterDetails.md deleted file mode 100644 index 30042cba7..000000000 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.PaymasterDetails.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: 'types.PaymasterDetails' -title: 'Interface: PaymasterDetails' -sidebar_label: 'PaymasterDetails' -custom_edit_url: null ---- - -[types](../namespaces/types.md).PaymasterDetails - -## Properties - -### feeMode - -• **feeMode**: [`FeeMode`](../namespaces/types.md#feemode) - -#### Defined in - -[src/types/account.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L52) - ---- - -### deploymentData - -• `Optional` **deploymentData**: [`ACCOUNT_DEPLOYMENT_DATA`](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) - -#### Defined in - -[src/types/account.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L53) - ---- - -### timeBounds - -• `Optional` **timeBounds**: [`PaymasterTimeBounds`](types.PaymasterTimeBounds.md) - -#### Defined in - -[src/types/account.ts:54](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L54) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.PaymasterOptions.md b/www/versioned_docs/version-7.5.1/API/interfaces/types.PaymasterOptions.md deleted file mode 100644 index 6aeee23de..000000000 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.PaymasterOptions.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -id: 'types.PaymasterOptions' -title: 'Interface: PaymasterOptions' -sidebar_label: 'PaymasterOptions' -custom_edit_url: null ---- - -[types](../namespaces/types.md).PaymasterOptions - -## Hierarchy - -- [`PaymasterRpcOptions`](../namespaces/types.md#paymasterrpcoptions) - - ↳ **`PaymasterOptions`** - -## Properties - -### nodeUrl - -• `Optional` **nodeUrl**: `string` - -#### Inherited from - -PaymasterRpcOptions.nodeUrl - -#### Defined in - -[src/types/paymaster/configuration.ts:6](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/configuration.ts#L6) - ---- - -### default - -• `Optional` **default**: `boolean` - -#### Inherited from - -PaymasterRpcOptions.default - -#### Defined in - -[src/types/paymaster/configuration.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/configuration.ts#L7) - ---- - -### headers - -• `Optional` **headers**: `object` - -#### Inherited from - -PaymasterRpcOptions.headers - -#### Defined in - -[src/types/paymaster/configuration.ts:8](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/configuration.ts#L8) - ---- - -### baseFetch - -• `Optional` **baseFetch**: (`input`: `RequestInfo` \| `URL`, `init?`: `RequestInit`) => `Promise`<`Response`\> - -#### Type declaration - -▸ (`input`, `init?`): `Promise`<`Response`\> - -##### Parameters - -| Name | Type | -| :------ | :--------------------- | -| `input` | `RequestInfo` \| `URL` | -| `init?` | `RequestInit` | - -##### Returns - -`Promise`<`Response`\> - -#### Inherited from - -PaymasterRpcOptions.baseFetch - -#### Defined in - -[src/types/paymaster/configuration.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/configuration.ts#L9) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.PaymasterTimeBounds.md b/www/versioned_docs/version-7.5.1/API/interfaces/types.PaymasterTimeBounds.md deleted file mode 100644 index 91b89fe8f..000000000 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.PaymasterTimeBounds.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.PaymasterTimeBounds' -title: 'Interface: PaymasterTimeBounds' -sidebar_label: 'PaymasterTimeBounds' -custom_edit_url: null ---- - -[types](../namespaces/types.md).PaymasterTimeBounds - -## Properties - -### executeAfter - -• `Optional` **executeAfter**: `number` - -#### Defined in - -[src/types/paymaster/response.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L98) - ---- - -### executeBefore - -• **executeBefore**: `number` - -#### Defined in - -[src/types/paymaster/response.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L99) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.Program.md b/www/versioned_docs/version-7.5.1/API/interfaces/types.Program.md deleted file mode 100644 index 2784d6ed6..000000000 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.Program.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -id: 'types.Program' -title: 'Interface: Program' -sidebar_label: 'Program' -custom_edit_url: null ---- - -[types](../namespaces/types.md).Program - -## Properties - -### builtins - -• **builtins**: `string`[] - -#### Defined in - -[src/types/lib/contract/legacy.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L38) - ---- - -### data - -• **data**: `string`[] - -#### Defined in - -[src/types/lib/contract/legacy.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L39) - ---- - -### hints - -• **hints**: `Record`<`string`, [`Hint`](../namespaces/types.md#hint)[]\> - -#### Defined in - -[src/types/lib/contract/legacy.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L40) - ---- - -### prime - -• **prime**: `string` - -#### Defined in - -[src/types/lib/contract/legacy.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L41) - ---- - -### attributes - -• `Optional` **attributes**: \{ `accessible_scopes?`: `string`[] ; `end_pc?`: `number` ; `flow_tracking_data?`: \{ `ap_tracking?`: \{ `group?`: `number` ; `offset?`: `number` } ; `reference_ids?`: `Record`<`string`, `number`\> } ; `name?`: `string` ; `start_pc?`: `number` ; `value?`: `string` \| `number` }[] - -#### Defined in - -[src/types/lib/contract/legacy.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L42) - ---- - -### compiler_version - -• `Optional` **compiler_version**: `string` - -#### Defined in - -[src/types/lib/contract/legacy.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L56) - ---- - -### main_scope - -• `Optional` **main_scope**: `string` - -#### Defined in - -[src/types/lib/contract/legacy.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L57) - ---- - -### identifiers - -• `Optional` **identifiers**: `Record`<`string`, \{ `destination`: `string` ; `type`: `"alias"` } \| \{ `decorators`: `string`[] ; `pc`: `number` ; `type`: `"function"` ; `implicit_args?`: \{ `full_name`: `string` ; `members`: `Record`<`string`, \{ `cairo_type`: `string` ; `offset`: `number` }\> ; `size`: `number` ; `type`: `"struct"` } ; `explicit_args?`: \{ `full_name`: `string` ; `members`: `Record`<`string`, \{ `cairo_type`: `string` ; `offset`: `number` }\> ; `size`: `number` ; `type`: `"struct"` } ; `return_type?`: \{ `cairo_type`: `string` ; `type`: `"type_definition"` } } \| \{ `full_name`: `string` ; `members`: `Record`<`string`, \{ `cairo_type`: `string` ; `offset`: `number` }\> \| `Record`<`string`, `never`\> ; `size`: `number` ; `type`: `"struct"` } \| \{ `cairo_type`: `string` ; `type`: `"type_definition"` } \| \{ `type`: `"namespace"` } \| \{ `type`: `"const"` ; `value`: `string` \| `number` } \| \{ `pc`: `number` ; `type`: `"label"` } \| \{ `cairo_type`: `string` ; `full_name`: `string` ; `references`: \{ `ap_tracking_data`: \{ `group`: `number` ; `offset`: `number` } ; `pc`: `number` ; `value`: `string` }[] ; `type`: `"reference"` }\> - -#### Defined in - -[src/types/lib/contract/legacy.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L58) - ---- - -### reference_manager - -• `Optional` **reference_manager**: `Record`<`string`, \{ `references`: `unknown`[] }\> - -#### Defined in - -[src/types/lib/contract/legacy.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L140) - ---- - -### debug_info - -• `Optional` **debug_info**: `Record`<`string`, \{ `file_contents?`: `Record`<`string`, `string`\> ; `instruction_locations?`: `Record`<`string`, `unknown`[]\> }\> - -#### Defined in - -[src/types/lib/contract/legacy.ts:146](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L146) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.TokenData.md b/www/versioned_docs/version-7.5.1/API/interfaces/types.TokenData.md deleted file mode 100644 index 09920b5b8..000000000 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.TokenData.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: 'types.TokenData' -title: 'Interface: TokenData' -sidebar_label: 'TokenData' -custom_edit_url: null ---- - -[types](../namespaces/types.md).TokenData - -## Properties - -### token_address - -• **token_address**: `string` - -#### Defined in - -[src/types/paymaster/response.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L42) - ---- - -### decimals - -• **decimals**: `number` - -#### Defined in - -[src/types/paymaster/response.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L43) - ---- - -### priceInStrk - -• **priceInStrk**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/paymaster/response.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L44) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.Uint256.md b/www/versioned_docs/version-7.5.1/API/interfaces/types.Uint256.md deleted file mode 100644 index fcbe64606..000000000 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.Uint256.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: 'types.Uint256' -title: 'Interface: Uint256' -sidebar_label: 'Uint256' -custom_edit_url: null ---- - -[types](../namespaces/types.md).Uint256 - -Represents an integer in the range [0, 2^256) - -## Properties - -### low - -• **low**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/lib/index.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L34) - ---- - -### high - -• **high**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/lib/index.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L36) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.UniversalDetails.md b/www/versioned_docs/version-7.5.1/API/interfaces/types.UniversalDetails.md deleted file mode 100644 index 590f2d5a1..000000000 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.UniversalDetails.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -id: 'types.UniversalDetails' -title: 'Interface: UniversalDetails' -sidebar_label: 'UniversalDetails' -custom_edit_url: null ---- - -[types](../namespaces/types.md).UniversalDetails - -## Hierarchy - -- **`UniversalDetails`** - - ↳ [`EstimateFeeDetails`](types.EstimateFeeDetails.md) - -## Properties - -### nonce - -• `Optional` **nonce**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/account.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L38) - ---- - -### blockIdentifier - -• `Optional` **blockIdentifier**: [`BlockIdentifier`](../namespaces/types.md#blockidentifier) - -#### Defined in - -[src/types/account.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L39) - ---- - -### maxFee - -• `Optional` **maxFee**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/account.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L40) - ---- - -### tip - -• `Optional` **tip**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/account.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L41) - ---- - -### paymasterData - -• `Optional` **paymasterData**: [`BigNumberish`](../namespaces/types.md#bignumberish)[] - -#### Defined in - -[src/types/account.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L42) - ---- - -### accountDeploymentData - -• `Optional` **accountDeploymentData**: [`BigNumberish`](../namespaces/types.md#bignumberish)[] - -#### Defined in - -[src/types/account.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L43) - ---- - -### nonceDataAvailabilityMode - -• `Optional` **nonceDataAvailabilityMode**: [`EDataAvailabilityMode`](../namespaces/types.RPC.RPCSPEC08.API.md#edataavailabilitymode-1) - -#### Defined in - -[src/types/account.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L44) - ---- - -### feeDataAvailabilityMode - -• `Optional` **feeDataAvailabilityMode**: [`EDataAvailabilityMode`](../namespaces/types.RPC.RPCSPEC08.API.md#edataavailabilitymode-1) - -#### Defined in - -[src/types/account.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L45) - ---- - -### version - -• `Optional` **version**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/account.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L46) - ---- - -### resourceBounds - -• `Optional` **resourceBounds**: [`ResourceBounds`](../namespaces/types.md#resourcebounds) - -#### Defined in - -[src/types/account.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L47) - ---- - -### skipValidate - -• `Optional` **skipValidate**: `boolean` - -#### Defined in - -[src/types/account.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L48) diff --git a/www/versioned_docs/version-7.5.1/API/modules.md b/www/versioned_docs/version-7.5.1/API/modules.md deleted file mode 100644 index bb09fa5d0..000000000 --- a/www/versioned_docs/version-7.5.1/API/modules.md +++ /dev/null @@ -1,2629 +0,0 @@ ---- -id: 'modules' -title: 'Starknet.js API - v7.5.1' -sidebar_label: 'Exports' -sidebar_position: 0.5 -custom_edit_url: null ---- - -## Namespaces - -- [types](namespaces/types.md) -- [constants](namespaces/constants.md) -- [encode](namespaces/encode.md) -- [hash](namespaces/hash.md) -- [v3hash](namespaces/v3hash.md) -- [v2hash](namespaces/v2hash.md) -- [json](namespaces/json.md) -- [num](namespaces/num.md) -- [transaction](namespaces/transaction.md) -- [stark](namespaces/stark.md) -- [eth](namespaces/eth.md) -- [merkle](namespaces/merkle.md) -- [uint256](namespaces/uint256.md) -- [shortString](namespaces/shortString.md) -- [typedData](namespaces/typedData.md) -- [ec](namespaces/ec.md) -- [starknetId](namespaces/starknetId.md) -- [paymaster](namespaces/paymaster.md) -- [provider](namespaces/provider-1.md) -- [selector](namespaces/selector.md) -- [events](namespaces/events.md) -- [outsideExecution](namespaces/outsideExecution.md) -- [src5](namespaces/src5.md) -- [wallet](namespaces/wallet.md) -- [RPC07](namespaces/RPC07.md) -- [RPC08](namespaces/RPC08.md) -- [cairo](namespaces/cairo.md) -- [byteArray](namespaces/byteArray.md) - -## Classes - -- [WalletAccount](classes/WalletAccount.md) -- [Account](classes/Account.md) -- [AccountInterface](classes/AccountInterface.md) -- [Contract](classes/Contract.md) -- [ContractInterface](classes/ContractInterface.md) -- [ContractFactory](classes/ContractFactory.md) -- [PaymasterRpc](classes/PaymasterRpc.md) -- [PaymasterInterface](classes/PaymasterInterface.md) -- [Provider](classes/Provider.md) -- [LibraryError](classes/LibraryError.md) -- [RpcError](classes/RpcError.md) -- [ProviderInterface](classes/ProviderInterface.md) -- [LedgerSigner111](classes/LedgerSigner111.md) -- [LedgerSigner221](classes/LedgerSigner221.md) -- [LedgerSigner231](classes/LedgerSigner231.md) -- [SignerInterface](classes/SignerInterface.md) -- [Signer](classes/Signer.md) -- [EthSigner](classes/EthSigner.md) -- [WebSocketChannel](classes/WebSocketChannel.md) -- [Subscription](classes/Subscription.md) -- [TimeoutError](classes/TimeoutError.md) -- [WebSocketNotConnectedError](classes/WebSocketNotConnectedError.md) -- [BatchClient](classes/BatchClient.md) -- [ResponseParser](classes/ResponseParser.md) -- [RPCResponseParser](classes/RPCResponseParser.md) -- [CairoUint256](classes/CairoUint256.md) -- [CairoUint512](classes/CairoUint512.md) -- [CairoFixedArray](classes/CairoFixedArray.md) -- [CallData](classes/CallData.md) -- [CairoCustomEnum](classes/CairoCustomEnum.md) -- [CairoOption](classes/CairoOption.md) -- [CairoResult](classes/CairoResult.md) -- [ReceiptTx](classes/ReceiptTx.md) - -## References - -### RpcProvider - -Renames and re-exports [Provider](classes/Provider.md) - ---- - -### LedgerSigner - -Renames and re-exports [LedgerSigner111](classes/LedgerSigner111.md) - ---- - -### getLedgerPathBuffer - -Renames and re-exports [getLedgerPathBuffer111](modules.md#getledgerpathbuffer111) - ---- - -### RpcChannel - -Re-exports [RpcChannel](classes/RPC08.RpcChannel.md) - ---- - -### RPC - -Re-exports [RPC](namespaces/types.RPC.md) - ---- - -### WeierstrassSignatureType - -Re-exports [WeierstrassSignatureType](namespaces/types.md#weierstrasssignaturetype) - ---- - -### ArraySignatureType - -Re-exports [ArraySignatureType](namespaces/types.md#arraysignaturetype) - ---- - -### Signature - -Re-exports [Signature](namespaces/types.md#signature) - ---- - -### BigNumberish - -Re-exports [BigNumberish](namespaces/types.md#bignumberish) - ---- - -### ByteArray - -Re-exports [ByteArray](namespaces/types.md#bytearray) - ---- - -### Calldata - -Re-exports [Calldata](namespaces/types.md#calldata) - ---- - -### Uint256 - -Re-exports [Uint256](interfaces/types.Uint256.md) - ---- - -### Uint512 - -Re-exports [Uint512](interfaces/types.Uint512.md) - ---- - -### RawCalldata - -Re-exports [RawCalldata](namespaces/types.md#rawcalldata) - ---- - -### HexCalldata - -Re-exports [HexCalldata](namespaces/types.md#hexcalldata) - ---- - -### AllowArray - -Re-exports [AllowArray](namespaces/types.md#allowarray) - ---- - -### OptionalPayload - -Re-exports [OptionalPayload](namespaces/types.md#optionalpayload) - ---- - -### RawArgs - -Re-exports [RawArgs](namespaces/types.md#rawargs) - ---- - -### RawArgsObject - -Re-exports [RawArgsObject](namespaces/types.md#rawargsobject) - ---- - -### RawArgsArray - -Re-exports [RawArgsArray](namespaces/types.md#rawargsarray) - ---- - -### MultiType - -Re-exports [MultiType](namespaces/types.md#multitype) - ---- - -### UniversalDeployerContractPayload - -Re-exports [UniversalDeployerContractPayload](namespaces/types.md#universaldeployercontractpayload) - ---- - -### DeployAccountContractPayload - -Re-exports [DeployAccountContractPayload](namespaces/types.md#deployaccountcontractpayload) - ---- - -### DeployAccountContractTransaction - -Re-exports [DeployAccountContractTransaction](namespaces/types.md#deployaccountcontracttransaction) - ---- - -### DeclareContractPayload - -Re-exports [DeclareContractPayload](namespaces/types.md#declarecontractpayload) - ---- - -### ContractClassIdentifier - -Re-exports [ContractClassIdentifier](namespaces/types.md#contractclassidentifier) - ---- - -### CompleteDeclareContractPayload - -Re-exports [CompleteDeclareContractPayload](namespaces/types.md#completedeclarecontractpayload) - ---- - -### DeclareAndDeployContractPayload - -Re-exports [DeclareAndDeployContractPayload](namespaces/types.md#declareanddeploycontractpayload) - ---- - -### DeclareContractTransaction - -Re-exports [DeclareContractTransaction](namespaces/types.md#declarecontracttransaction) - ---- - -### CallDetails - -Re-exports [CallDetails](namespaces/types.md#calldetails) - ---- - -### Invocation - -Re-exports [Invocation](namespaces/types.md#invocation) - ---- - -### Call - -Re-exports [Call](namespaces/types.md#call) - ---- - -### CairoVersion - -Re-exports [CairoVersion](namespaces/types.md#cairoversion) - ---- - -### CompilerVersion - -Re-exports [CompilerVersion](namespaces/types.md#compilerversion) - ---- - -### InvocationsDetails - -Re-exports [InvocationsDetails](namespaces/types.md#invocationsdetails) - ---- - -### V3TransactionDetails - -Re-exports [V3TransactionDetails](namespaces/types.md#v3transactiondetails) - ---- - -### Details - -Re-exports [Details](namespaces/types.md#details) - ---- - -### InvocationsDetailsWithNonce - -Re-exports [InvocationsDetailsWithNonce](namespaces/types.md#invocationsdetailswithnonce) - ---- - -### TransactionType - -Re-exports [TransactionType](namespaces/types.md#transactiontype-1) - ---- - -### TransactionFinalityStatus - -Re-exports [TransactionFinalityStatus](namespaces/types.md#transactionfinalitystatus-1) - ---- - -### TransactionExecutionStatus - -Re-exports [TransactionExecutionStatus](namespaces/types.md#transactionexecutionstatus-1) - ---- - -### BlockStatus - -Re-exports [BlockStatus](namespaces/types.md#blockstatus-1) - ---- - -### BlockTag - -Re-exports [BlockTag](namespaces/types.md#blocktag-1) - ---- - -### BlockNumber - -Re-exports [BlockNumber](namespaces/types.md#blocknumber) - ---- - -### BlockIdentifier - -Re-exports [BlockIdentifier](namespaces/types.md#blockidentifier) - ---- - -### SubscriptionBlockIdentifier - -Re-exports [SubscriptionBlockIdentifier](namespaces/types.md#subscriptionblockidentifier) - ---- - -### AccountInvocationItem - -Re-exports [AccountInvocationItem](namespaces/types.md#accountinvocationitem) - ---- - -### AccountInvocations - -Re-exports [AccountInvocations](namespaces/types.md#accountinvocations) - ---- - -### Invocations - -Re-exports [Invocations](namespaces/types.md#invocations) - ---- - -### Tupled - -Re-exports [Tupled](namespaces/types.md#tupled) - ---- - -### Args - -Re-exports [Args](namespaces/types.md#args) - ---- - -### ParsedStruct - -Re-exports [ParsedStruct](namespaces/types.md#parsedstruct) - ---- - -### waitForTransactionOptions - -Re-exports [waitForTransactionOptions](namespaces/types.md#waitfortransactionoptions) - ---- - -### getSimulateTransactionOptions - -Re-exports [getSimulateTransactionOptions](namespaces/types.md#getsimulatetransactionoptions) - ---- - -### getContractVersionOptions - -Re-exports [getContractVersionOptions](namespaces/types.md#getcontractversionoptions) - ---- - -### getEstimateFeeBulkOptions - -Re-exports [getEstimateFeeBulkOptions](namespaces/types.md#getestimatefeebulkoptions) - ---- - -### ContractVersion - -Re-exports [ContractVersion](namespaces/types.md#contractversion) - ---- - -### ContractClass - -Re-exports [ContractClass](namespaces/types.md#contractclass) - ---- - -### CompiledContract - -Re-exports [CompiledContract](namespaces/types.md#compiledcontract) - ---- - -### CairoContract - -Re-exports [CairoContract](namespaces/types.md#cairocontract) - ---- - -### EntryPointType - -Re-exports [EntryPointType](namespaces/types.md#entrypointtype-1) - ---- - -### Abi - -Re-exports [Abi](namespaces/types.md#abi) - ---- - -### AbiEntry - -Re-exports [AbiEntry](namespaces/types.md#abientry) - ---- - -### EventEntry - -Re-exports [EventEntry](namespaces/types.md#evententry) - ---- - -### FunctionAbi - -Re-exports [FunctionAbi](namespaces/types.md#functionabi) - ---- - -### AbiStructs - -Re-exports [AbiStructs](namespaces/types.md#abistructs) - ---- - -### AbiStruct - -Re-exports [AbiStruct](namespaces/types.md#abistruct) - ---- - -### AbiInterfaces - -Re-exports [AbiInterfaces](namespaces/types.md#abiinterfaces) - ---- - -### InterfaceAbi - -Re-exports [InterfaceAbi](namespaces/types.md#interfaceabi) - ---- - -### AbiEnums - -Re-exports [AbiEnums](namespaces/types.md#abienums) - ---- - -### AbiEnum - -Re-exports [AbiEnum](namespaces/types.md#abienum) - ---- - -### AbiEvents - -Re-exports [AbiEvents](namespaces/types.md#abievents) - ---- - -### AbiEvent - -Re-exports [AbiEvent](namespaces/types.md#abievent) - ---- - -### CairoEvent - -Re-exports [CairoEvent](namespaces/types.md#cairoevent) - ---- - -### CairoEventDefinition - -Re-exports [CairoEventDefinition](namespaces/types.md#cairoeventdefinition) - ---- - -### CairoEventVariant - -Re-exports [CairoEventVariant](namespaces/types.md#cairoeventvariant) - ---- - -### LegacyEvent - -Re-exports [LegacyEvent](namespaces/types.md#legacyevent) - ---- - -### LegacyContractClass - -Re-exports [LegacyContractClass](namespaces/types.md#legacycontractclass) - ---- - -### LegacyCompiledContract - -Re-exports [LegacyCompiledContract](namespaces/types.md#legacycompiledcontract) - ---- - -### Builtins - -Re-exports [Builtins](namespaces/types.md#builtins) - ---- - -### CompressedProgram - -Re-exports [CompressedProgram](namespaces/types.md#compressedprogram) - ---- - -### Hint - -Re-exports [Hint](namespaces/types.md#hint) - ---- - -### EntryPointsByType - -Re-exports [EntryPointsByType](namespaces/types.md#entrypointsbytype) - ---- - -### ContractEntryPointFields - -Re-exports [ContractEntryPointFields](namespaces/types.md#contractentrypointfields) - ---- - -### Program - -Re-exports [Program](interfaces/types.Program.md) - ---- - -### CairoAssembly - -Re-exports [CairoAssembly](namespaces/types.md#cairoassembly) - ---- - -### CompiledSierra - -Re-exports [CompiledSierra](namespaces/types.md#compiledsierra) - ---- - -### SierraContractClass - -Re-exports [SierraContractClass](namespaces/types.md#sierracontractclass) - ---- - -### CompiledSierraCasm - -Re-exports [CompiledSierraCasm](namespaces/types.md#compiledsierracasm) - ---- - -### ByteCode - -Re-exports [ByteCode](namespaces/types.md#bytecode) - ---- - -### PythonicHints - -Re-exports [PythonicHints](namespaces/types.md#pythonichints) - ---- - -### SierraProgramDebugInfo - -Re-exports [SierraProgramDebugInfo](namespaces/types.md#sierraprogramdebuginfo) - ---- - -### SierraEntryPointsByType - -Re-exports [SierraEntryPointsByType](namespaces/types.md#sierraentrypointsbytype) - ---- - -### SierraContractEntryPointFields - -Re-exports [SierraContractEntryPointFields](namespaces/types.md#sierracontractentrypointfields) - ---- - -### ProviderOptions - -Re-exports [ProviderOptions](interfaces/types.ProviderOptions.md) - ---- - -### FeeMarginPercentage - -Re-exports [FeeMarginPercentage](namespaces/types.md#feemarginpercentage) - ---- - -### RpcProviderOptions - -Re-exports [RpcProviderOptions](namespaces/types.md#rpcprovideroptions) - ---- - -### Block - -Re-exports [Block](namespaces/types.md#block) - ---- - -### PendingBlock - -Re-exports [PendingBlock](namespaces/types.md#pendingblock) - ---- - -### GetBlockResponse - -Re-exports [GetBlockResponse](namespaces/types.md#getblockresponse) - ---- - -### GetTxReceiptResponseWithoutHelper - -Re-exports [GetTxReceiptResponseWithoutHelper](namespaces/types.md#gettxreceiptresponsewithouthelper) - ---- - -### SuccessfulTransactionReceiptResponse - -Re-exports [SuccessfulTransactionReceiptResponse](namespaces/types.md#successfultransactionreceiptresponse) - ---- - -### RevertedTransactionReceiptResponse - -Re-exports [RevertedTransactionReceiptResponse](namespaces/types.md#revertedtransactionreceiptresponse) - ---- - -### InvokeTransactionReceiptResponse - -Re-exports [InvokeTransactionReceiptResponse](namespaces/types.md#invoketransactionreceiptresponse) - ---- - -### DeployTransactionReceiptResponse - -Re-exports [DeployTransactionReceiptResponse](namespaces/types.md#deploytransactionreceiptresponse) - ---- - -### DeclareTransactionReceiptResponse - -Re-exports [DeclareTransactionReceiptResponse](namespaces/types.md#declaretransactionreceiptresponse) - ---- - -### DeployAccountTransactionReceiptResponse - -Re-exports [DeployAccountTransactionReceiptResponse](namespaces/types.md#deployaccounttransactionreceiptresponse) - ---- - -### L1HandlerTransactionReceiptResponse - -Re-exports [L1HandlerTransactionReceiptResponse](namespaces/types.md#l1handlertransactionreceiptresponse) - ---- - -### GetTransactionResponse - -Re-exports [GetTransactionResponse](namespaces/types.md#gettransactionresponse) - ---- - -### EstimateFeeResponse - -Re-exports [EstimateFeeResponse](namespaces/types.md#estimatefeeresponse) - ---- - -### EstimateFeeResponseBulk - -Re-exports [EstimateFeeResponseBulk](namespaces/types.md#estimatefeeresponsebulk) - ---- - -### InvokeFunctionResponse - -Re-exports [InvokeFunctionResponse](namespaces/types.md#invokefunctionresponse) - ---- - -### DeclareContractResponse - -Re-exports [DeclareContractResponse](namespaces/types.md#declarecontractresponse) - ---- - -### CallContractResponse - -Re-exports [CallContractResponse](namespaces/types.md#callcontractresponse) - ---- - -### Storage - -Re-exports [Storage](namespaces/types.md#storage) - ---- - -### Nonce - -Re-exports [Nonce](namespaces/types.md#nonce) - ---- - -### SimulationFlags - -Re-exports [SimulationFlags](namespaces/types.md#simulationflags) - ---- - -### SimulatedTransaction - -Re-exports [SimulatedTransaction](namespaces/types.md#simulatedtransaction) - ---- - -### SimulateTransactionResponse - -Re-exports [SimulateTransactionResponse](namespaces/types.md#simulatetransactionresponse) - ---- - -### StateUpdateResponse - -Re-exports [StateUpdateResponse](namespaces/types.md#stateupdateresponse) - ---- - -### StateUpdate - -Re-exports [StateUpdate](namespaces/types.md#stateupdate) - ---- - -### PendingStateUpdate - -Re-exports [PendingStateUpdate](namespaces/types.md#pendingstateupdate) - ---- - -### ContractClassResponse - -Re-exports [ContractClassResponse](namespaces/types.md#contractclassresponse) - ---- - -### isRPC08_FeeEstimate - -Re-exports [isRPC08_FeeEstimate](namespaces/types.md#isrpc08_feeestimate) - ---- - -### isRPC08_ResourceBounds - -Re-exports [isRPC08_ResourceBounds](namespaces/types.md#isrpc08_resourcebounds) - ---- - -### Simplify - -Re-exports [Simplify](namespaces/types.md#simplify) - ---- - -### RequiredKeysOf - -Re-exports [RequiredKeysOf](namespaces/types.md#requiredkeysof) - ---- - -### ETransactionVersion - -Re-exports [ETransactionVersion](namespaces/types.md#etransactionversion-1) - ---- - -### ETransactionVersion2 - -Re-exports [ETransactionVersion2](namespaces/types.md#etransactionversion2-1) - ---- - -### ETransactionVersion3 - -Re-exports [ETransactionVersion3](namespaces/types.md#etransactionversion3-1) - ---- - -### BLOCK_HASH - -Re-exports [BLOCK_HASH](namespaces/types.md#block_hash) - ---- - -### BLOCK_NUMBER - -Re-exports [BLOCK_NUMBER](namespaces/types.md#block_number) - ---- - -### FELT - -Re-exports [FELT](namespaces/types.md#felt) - ---- - -### TXN_HASH - -Re-exports [TXN_HASH](namespaces/types.md#txn_hash) - ---- - -### PRICE_UNIT - -Re-exports [PRICE_UNIT](namespaces/types.md#price_unit) - ---- - -### RESOURCE_PRICE - -Re-exports [RESOURCE_PRICE](namespaces/types.md#resource_price) - ---- - -### SIMULATION_FLAG - -Re-exports [SIMULATION_FLAG](namespaces/types.md#simulation_flag) - ---- - -### STATE_UPDATE - -Re-exports [STATE_UPDATE](namespaces/types.md#state_update) - ---- - -### PENDING_STATE_UPDATE - -Re-exports [PENDING_STATE_UPDATE](namespaces/types.md#pending_state_update) - ---- - -### PENDING_INVOKE_TXN_RECEIPT - -Re-exports [PENDING_INVOKE_TXN_RECEIPT](namespaces/types.md#pending_invoke_txn_receipt) - ---- - -### PENDING_DECLARE_TXN_RECEIPT - -Re-exports [PENDING_DECLARE_TXN_RECEIPT](namespaces/types.md#pending_declare_txn_receipt) - ---- - -### PENDING_DEPLOY_ACCOUNT_TXN_RECEIPT - -Re-exports [PENDING_DEPLOY_ACCOUNT_TXN_RECEIPT](namespaces/types.md#pending_deploy_account_txn_receipt) - ---- - -### PENDING_L1_HANDLER_TXN_RECEIPT - -Re-exports [PENDING_L1_HANDLER_TXN_RECEIPT](namespaces/types.md#pending_l1_handler_txn_receipt) - ---- - -### BlockWithTxHashes - -Re-exports [BlockWithTxHashes](namespaces/types.md#blockwithtxhashes) - ---- - -### ContractClassPayload - -Re-exports [ContractClassPayload](namespaces/types.md#contractclasspayload) - ---- - -### DeclaredTransaction - -Re-exports [DeclaredTransaction](namespaces/types.md#declaredtransaction) - ---- - -### InvokedTransaction - -Re-exports [InvokedTransaction](namespaces/types.md#invokedtransaction) - ---- - -### DeployedAccountTransaction - -Re-exports [DeployedAccountTransaction](namespaces/types.md#deployedaccounttransaction) - ---- - -### L1Message - -Re-exports [L1Message](namespaces/types.md#l1message) - ---- - -### EventFilter - -Re-exports [EventFilter](namespaces/types.md#eventfilter) - ---- - -### L1_HANDLER_TXN - -Re-exports [L1_HANDLER_TXN](namespaces/types.md#l1_handler_txn) - ---- - -### EDataAvailabilityMode - -Re-exports [EDataAvailabilityMode](namespaces/types.md#edataavailabilitymode-1) - ---- - -### EDAMode - -Re-exports [EDAMode](namespaces/types.md#edamode-1) - ---- - -### EmittedEvent - -Re-exports [EmittedEvent](namespaces/types.md#emittedevent) - ---- - -### Event - -Re-exports [Event](namespaces/types.md#event) - ---- - -### PendingReceipt - -Re-exports [PendingReceipt](namespaces/types.md#pendingreceipt) - ---- - -### Receipt - -Re-exports [Receipt](namespaces/types.md#receipt) - ---- - -### FeeEstimate - -Re-exports [FeeEstimate](namespaces/types.md#feeestimate) - ---- - -### ResourceBounds - -Re-exports [ResourceBounds](namespaces/types.md#resourcebounds) - ---- - -### ResourceBoundsOverhead - -Re-exports [ResourceBoundsOverhead](namespaces/types.md#resourceboundsoverhead) - ---- - -### ResourceBoundsOverheadRPC08 - -Re-exports [ResourceBoundsOverheadRPC08](namespaces/types.md#resourceboundsoverheadrpc08) - ---- - -### ResourceBoundsOverheadRPC07 - -Re-exports [ResourceBoundsOverheadRPC07](namespaces/types.md#resourceboundsoverheadrpc07) - ---- - -### SimulateTransaction - -Re-exports [SimulateTransaction](namespaces/types.md#simulatetransaction) - ---- - -### TransactionWithHash - -Re-exports [TransactionWithHash](namespaces/types.md#transactionwithhash) - ---- - -### TransactionReceipt - -Re-exports [TransactionReceipt](namespaces/types.md#transactionreceipt) - ---- - -### Methods - -Re-exports [Methods](namespaces/types.md#methods) - ---- - -### TXN_STATUS - -Re-exports [TXN_STATUS](namespaces/types.md#txn_status) - ---- - -### TXN_EXECUTION_STATUS - -Re-exports [TXN_EXECUTION_STATUS](namespaces/types.md#txn_execution_status) - ---- - -### TransactionStatus - -Re-exports [TransactionStatus](namespaces/types.md#transactionstatus) - ---- - -### ETransactionStatus - -Re-exports [ETransactionStatus](namespaces/types.md#etransactionstatus-1) - ---- - -### ETransactionExecutionStatus - -Re-exports [ETransactionExecutionStatus](namespaces/types.md#etransactionexecutionstatus-1) - ---- - -### TRANSACTION_TRACE - -Re-exports [TRANSACTION_TRACE](namespaces/types.md#transaction_trace) - ---- - -### FEE_ESTIMATE - -Re-exports [FEE_ESTIMATE](namespaces/types.md#fee_estimate) - ---- - -### EVENTS_CHUNK - -Re-exports [EVENTS_CHUNK](namespaces/types.md#events_chunk) - ---- - -### EstimateFee - -Re-exports [EstimateFee](interfaces/types.EstimateFee.md) - ---- - -### UniversalSuggestedFee - -Re-exports [UniversalSuggestedFee](namespaces/types.md#universalsuggestedfee) - ---- - -### EstimateFeeBulk - -Re-exports [EstimateFeeBulk](namespaces/types.md#estimatefeebulk) - ---- - -### AccountInvocationsFactoryDetails - -Re-exports [AccountInvocationsFactoryDetails](namespaces/types.md#accountinvocationsfactorydetails) - ---- - -### UniversalDetails - -Re-exports [UniversalDetails](interfaces/types.UniversalDetails.md) - ---- - -### PaymasterDetails - -Re-exports [PaymasterDetails](interfaces/types.PaymasterDetails.md) - ---- - -### EstimateFeeDetails - -Re-exports [EstimateFeeDetails](interfaces/types.EstimateFeeDetails.md) - ---- - -### DeployContractResponse - -Re-exports [DeployContractResponse](interfaces/types.DeployContractResponse.md) - ---- - -### MultiDeployContractResponse - -Re-exports [MultiDeployContractResponse](namespaces/types.md#multideploycontractresponse) - ---- - -### DeployContractUDCResponse - -Re-exports [DeployContractUDCResponse](namespaces/types.md#deploycontractudcresponse) - ---- - -### DeclareDeployUDCResponse - -Re-exports [DeclareDeployUDCResponse](namespaces/types.md#declaredeployudcresponse) - ---- - -### SimulateTransactionDetails - -Re-exports [SimulateTransactionDetails](namespaces/types.md#simulatetransactiondetails) - ---- - -### EstimateFeeAction - -Re-exports [EstimateFeeAction](namespaces/types.md#estimatefeeaction) - ---- - -### StarkProfile - -Re-exports [StarkProfile](namespaces/types.md#starkprofile) - ---- - -### CairoEnum - -Re-exports [CairoEnum](namespaces/types.md#cairoenum) - ---- - -### ValidateType - -Re-exports [ValidateType](namespaces/types.md#validatetype-1) - ---- - -### Uint - -Re-exports [Uint](namespaces/types.md#uint-1) - ---- - -### Literal - -Re-exports [Literal](namespaces/types.md#literal-1) - ---- - -### ETH_ADDRESS - -Re-exports [ETH_ADDRESS](namespaces/types.md#eth_address) - ---- - -### NON_ZERO_PREFIX - -Re-exports [NON_ZERO_PREFIX](namespaces/types.md#non_zero_prefix) - ---- - -### AsyncContractFunction - -Re-exports [AsyncContractFunction](namespaces/types.md#asynccontractfunction) - ---- - -### ContractFunction - -Re-exports [ContractFunction](namespaces/types.md#contractfunction) - ---- - -### Result - -Re-exports [Result](namespaces/types.md#result) - ---- - -### ArgsOrCalldata - -Re-exports [ArgsOrCalldata](namespaces/types.md#argsorcalldata) - ---- - -### ArgsOrCalldataWithOptions - -Re-exports [ArgsOrCalldataWithOptions](namespaces/types.md#argsorcalldatawithoptions) - ---- - -### ContractOptions - -Re-exports [ContractOptions](namespaces/types.md#contractoptions) - ---- - -### CallOptions - -Re-exports [CallOptions](namespaces/types.md#calloptions) - ---- - -### InvokeOptions - -Re-exports [InvokeOptions](namespaces/types.md#invokeoptions) - ---- - -### ParsedEvent - -Re-exports [ParsedEvent](namespaces/types.md#parsedevent) - ---- - -### ParsedEvents - -Re-exports [ParsedEvents](namespaces/types.md#parsedevents) - ---- - -### RPC_ERROR_SET - -Re-exports [RPC_ERROR_SET](namespaces/types.md#rpc_error_set) - ---- - -### RPC_ERROR - -Re-exports [RPC_ERROR](namespaces/types.md#rpc_error) - ---- - -### OutsideExecutionOptions - -Re-exports [OutsideExecutionOptions](interfaces/types.OutsideExecutionOptions.md) - ---- - -### OutsideCall - -Re-exports [OutsideCall](interfaces/types.OutsideCall.md) - ---- - -### OutsideExecution - -Re-exports [OutsideExecution](interfaces/types.OutsideExecution.md) - ---- - -### OutsideTransaction - -Re-exports [OutsideTransaction](interfaces/types.OutsideTransaction.md) - ---- - -### OutsideExecutionTypesV1 - -Re-exports [OutsideExecutionTypesV1](namespaces/types.md#outsideexecutiontypesv1) - ---- - -### OutsideExecutionTypesV2 - -Re-exports [OutsideExecutionTypesV2](namespaces/types.md#outsideexecutiontypesv2) - ---- - -### OutsideExecutionVersion - -Re-exports [OutsideExecutionVersion](namespaces/types.md#outsideexecutionversion-1) - ---- - -### InvocationsSignerDetails - -Re-exports [InvocationsSignerDetails](namespaces/types.md#invocationssignerdetails) - ---- - -### V2InvocationsSignerDetails - -Re-exports [V2InvocationsSignerDetails](namespaces/types.md#v2invocationssignerdetails) - ---- - -### V3InvocationsSignerDetails - -Re-exports [V3InvocationsSignerDetails](namespaces/types.md#v3invocationssignerdetails) - ---- - -### DeclareSignerDetails - -Re-exports [DeclareSignerDetails](namespaces/types.md#declaresignerdetails) - ---- - -### V2DeclareSignerDetails - -Re-exports [V2DeclareSignerDetails](namespaces/types.md#v2declaresignerdetails) - ---- - -### V3DeclareSignerDetails - -Re-exports [V3DeclareSignerDetails](namespaces/types.md#v3declaresignerdetails) - ---- - -### DeployAccountSignerDetails - -Re-exports [DeployAccountSignerDetails](namespaces/types.md#deployaccountsignerdetails) - ---- - -### V2DeployAccountSignerDetails - -Re-exports [V2DeployAccountSignerDetails](namespaces/types.md#v2deployaccountsignerdetails) - ---- - -### V3DeployAccountSignerDetails - -Re-exports [V3DeployAccountSignerDetails](namespaces/types.md#v3deployaccountsignerdetails) - ---- - -### LedgerPathCalculation - -Re-exports [LedgerPathCalculation](namespaces/types.md#ledgerpathcalculation) - ---- - -### TransactionStatusReceiptSets - -Re-exports [TransactionStatusReceiptSets](namespaces/types.md#transactionstatusreceiptsets) - ---- - -### TransactionReceiptStatus - -Re-exports [TransactionReceiptStatus](namespaces/types.md#transactionreceiptstatus) - ---- - -### TransactionReceiptValue - -Re-exports [TransactionReceiptValue](namespaces/types.md#transactionreceiptvalue) - ---- - -### TransactionReceiptCallbacksDefined - -Re-exports [TransactionReceiptCallbacksDefined](namespaces/types.md#transactionreceiptcallbacksdefined) - ---- - -### TransactionReceiptCallbacksDefault - -Re-exports [TransactionReceiptCallbacksDefault](namespaces/types.md#transactionreceiptcallbacksdefault) - ---- - -### TransactionReceiptCallbacks - -Re-exports [TransactionReceiptCallbacks](namespaces/types.md#transactionreceiptcallbacks) - ---- - -### GetTransactionReceiptResponse - -Re-exports [GetTransactionReceiptResponse](namespaces/types.md#gettransactionreceiptresponse) - ---- - -### TypedDataRevision - -Re-exports [TypedDataRevision](namespaces/types.RPC.RPCSPEC07.WALLET_API.md#typeddatarevision-1) - ---- - -### StarknetEnumType - -Re-exports [StarknetEnumType](namespaces/types.RPC.RPCSPEC07.WALLET_API.md#starknetenumtype) - ---- - -### StarknetMerkleType - -Re-exports [StarknetMerkleType](namespaces/types.RPC.RPCSPEC07.WALLET_API.md#starknetmerkletype) - ---- - -### StarknetType - -Re-exports [StarknetType](namespaces/types.RPC.RPCSPEC07.WALLET_API.md#starknettype) - ---- - -### StarknetDomain - -Re-exports [StarknetDomain](interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetDomain.md) - ---- - -### TypedData - -Re-exports [TypedData](interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) - ---- - -### PaymasterOptions - -Re-exports [PaymasterOptions](interfaces/types.PaymasterOptions.md) - ---- - -### PaymasterRpcOptions - -Re-exports [PaymasterRpcOptions](namespaces/types.md#paymasterrpcoptions) - ---- - -### PaymasterFeeEstimate - -Re-exports [PaymasterFeeEstimate](namespaces/types.md#paymasterfeeestimate) - ---- - -### PreparedDeployTransaction - -Re-exports [PreparedDeployTransaction](namespaces/types.md#prepareddeploytransaction) - ---- - -### PreparedInvokeTransaction - -Re-exports [PreparedInvokeTransaction](namespaces/types.md#preparedinvoketransaction) - ---- - -### PreparedDeployAndInvokeTransaction - -Re-exports [PreparedDeployAndInvokeTransaction](namespaces/types.md#prepareddeployandinvoketransaction) - ---- - -### PreparedTransaction - -Re-exports [PreparedTransaction](namespaces/types.md#preparedtransaction) - ---- - -### TokenData - -Re-exports [TokenData](interfaces/types.TokenData.md) - ---- - -### DeployTransaction - -Re-exports [DeployTransaction](namespaces/types.md#deploytransaction) - ---- - -### InvokeTransaction - -Re-exports [InvokeTransaction](namespaces/types.md#invoketransaction) - ---- - -### UserInvoke - -Re-exports [UserInvoke](namespaces/types.md#userinvoke) - ---- - -### DeployAndInvokeTransaction - -Re-exports [DeployAndInvokeTransaction](namespaces/types.md#deployandinvoketransaction) - ---- - -### UserTransaction - -Re-exports [UserTransaction](namespaces/types.md#usertransaction) - ---- - -### ExecutableDeployTransaction - -Re-exports [ExecutableDeployTransaction](namespaces/types.md#executabledeploytransaction) - ---- - -### ExecutableInvokeTransaction - -Re-exports [ExecutableInvokeTransaction](namespaces/types.md#executableinvoketransaction) - ---- - -### ExecutableUserInvoke - -Re-exports [ExecutableUserInvoke](namespaces/types.md#executableuserinvoke) - ---- - -### ExecutableDeployAndInvokeTransaction - -Re-exports [ExecutableDeployAndInvokeTransaction](namespaces/types.md#executabledeployandinvoketransaction) - ---- - -### ExecutableUserTransaction - -Re-exports [ExecutableUserTransaction](namespaces/types.md#executableusertransaction) - ---- - -### FeeMode - -Re-exports [FeeMode](namespaces/types.md#feemode) - ---- - -### ExecutionParameters - -Re-exports [ExecutionParameters](namespaces/types.md#executionparameters) - ---- - -### PaymasterTimeBounds - -Re-exports [PaymasterTimeBounds](interfaces/types.PaymasterTimeBounds.md) - -## Type Aliases - -### TypedContractV2 - -Ƭ **TypedContractV2**<`TAbi`\>: `AbiWanTypedContract`<`TAbi`\> & [`Contract`](classes/Contract.md) - -#### Type parameters - -| Name | Type | -| :----- | :------------------ | -| `TAbi` | extends `AbiKanabi` | - -#### Defined in - -[src/contract/default.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L35) - ---- - -### ContractFactoryParams - -Ƭ **ContractFactoryParams**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------- | :--------------------------------------------------------- | -| `compiledContract` | [`CompiledContract`](namespaces/types.md#compiledcontract) | -| `account` | `any` | -| `casm?` | [`CairoAssembly`](namespaces/types.md#cairoassembly) | -| `classHash?` | `string` | -| `compiledClassHash?` | `string` | -| `abi?` | [`Abi`](namespaces/types.md#abi) | -| `contractOptions?` | [`ContractOptions`](namespaces/types.md#contractoptions) | - -#### Defined in - -[src/contract/contractFactory.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/contractFactory.ts#L15) - ---- - -### WebSocketOptions - -Ƭ **WebSocketOptions**: `Object` - -Options for configuring the WebSocketChannel. - -#### Type declaration - -| Name | Type | Description | -| :------------------ | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `nodeUrl` | `string` | The URL of the WebSocket endpoint of the Starknet node. **`Example`** `ts 'ws://localhost:9545' ` | -| `websocket?` | typeof `WebSocket` | This parameter can be used to provide a custom WebSocket implementation. This is useful in environments where the global WebSocket object is not available (e.g., Node.js). **`Example`** `typescript import WebSocket from 'ws'; const channel = new WebSocketChannel({ nodeUrl: '...', websocket: WebSocket }); ` | -| `maxBufferSize?` | `number` | The maximum number of events to buffer per subscription when no handler is attached. **`Default`** `ts 1000 ` | -| `autoReconnect?` | `boolean` | Whether to automatically reconnect when the connection is lost. **`Default`** `ts true ` | -| `reconnectOptions?` | `ReconnectOptions` | Options for the automatic reconnection behavior. | -| `requestTimeout?` | `number` | The timeout in milliseconds for a `sendReceive` call. **`Default`** `ts 60000 ` | - -#### Defined in - -[src/channel/ws/ws_0_8.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L45) - ---- - -### BatchClientOptions - -Ƭ **BatchClientOptions**: `Object` - -#### Type declaration - -| Name | Type | -| :---------- | :---------------------------------------------------------------------------------------------- | -| `nodeUrl` | `string` | -| `headers` | `object` | -| `interval` | `number` | -| `baseFetch` | `NonNullable`<[`RpcProviderOptions`](namespaces/types.md#rpcprovideroptions)[``"baseFetch"``]\> | - -#### Defined in - -[src/utils/batch/index.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L5) - ---- - -### CairoEnumRaw - -Ƭ **CairoEnumRaw**: `Record`<`string`, `any`\> - -#### Defined in - -[src/utils/calldata/enum/CairoCustomEnum.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoCustomEnum.ts#L3) - ---- - -### CairoOptionVariant - -Ƭ **CairoOptionVariant**: `ValuesType` - -#### Defined in - -[src/utils/calldata/enum/CairoOption.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoOption.ts#L4) - -[src/utils/calldata/enum/CairoOption.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoOption.ts#L9) - ---- - -### CairoResultVariant - -Ƭ **CairoResultVariant**: `ValuesType` - -#### Defined in - -[src/utils/calldata/enum/CairoResult.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoResult.ts#L4) - -[src/utils/calldata/enum/CairoResult.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoResult.ts#L9) - ---- - -### LogLevelIndex - -Ƭ **LogLevelIndex**: `ValuesType` - -#### Defined in - -[src/global/logger.type.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/logger.type.ts#L3) - -[src/global/logger.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/logger.type.ts#L12) - ---- - -### LogLevel - -Ƭ **LogLevel**: keyof typeof [`LogLevelIndex`](modules.md#loglevelindex-1) - -#### Defined in - -[src/global/logger.type.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/logger.type.ts#L14) - -## Variables - -### defaultPaymaster - -• `Const` **defaultPaymaster**: [`PaymasterRpc`](classes/PaymasterRpc.md) - -#### Defined in - -[src/paymaster/index.ts:6](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/paymaster/index.ts#L6) - ---- - -### defaultProvider - -• `Const` **defaultProvider**: `RpcProvider` - -#### Defined in - -[src/provider/index.ts:8](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/index.ts#L8) - ---- - -### UINT_128_MAX - -• `Const` **UINT_128_MAX**: `bigint` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:10](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L10) - ---- - -### UINT_256_MAX - -• `Const` **UINT_256_MAX**: `bigint` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L11) - ---- - -### UINT_256_MIN - -• `Const` **UINT_256_MIN**: `0n` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L12) - ---- - -### UINT_256_LOW_MAX - -• `Const` **UINT_256_LOW_MAX**: `340282366920938463463374607431768211455n` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L13) - ---- - -### UINT_256_HIGH_MAX - -• `Const` **UINT_256_HIGH_MAX**: `340282366920938463463374607431768211455n` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L14) - ---- - -### UINT_256_LOW_MIN - -• `Const` **UINT_256_LOW_MIN**: `0n` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L15) - ---- - -### UINT_256_HIGH_MIN - -• `Const` **UINT_256_HIGH_MIN**: `0n` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L16) - ---- - -### UINT_512_MAX - -• `Const` **UINT_512_MAX**: `bigint` - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L11) - ---- - -### UINT_512_MIN - -• `Const` **UINT_512_MIN**: `0n` - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L12) - ---- - -### UINT_128_MIN - -• `Const` **UINT_128_MIN**: `0n` - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L13) - ---- - -### CairoOptionVariant - -• `Const` **CairoOptionVariant**: `Object` - -#### Type declaration - -| Name | Type | -| :----- | :--- | -| `Some` | `0` | -| `None` | `1` | - -#### Defined in - -[src/utils/calldata/enum/CairoOption.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoOption.ts#L4) - -[src/utils/calldata/enum/CairoOption.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoOption.ts#L9) - ---- - -### CairoResultVariant - -• `Const` **CairoResultVariant**: `Object` - -#### Type declaration - -| Name | Type | -| :---- | :--- | -| `Ok` | `0` | -| `Err` | `1` | - -#### Defined in - -[src/utils/calldata/enum/CairoResult.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoResult.ts#L4) - -[src/utils/calldata/enum/CairoResult.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoResult.ts#L9) - ---- - -### config - -• `Const` **config**: `Configuration` - -#### Defined in - -[src/global/config.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/config.ts#L69) - ---- - -### logger - -• `Const` **logger**: `Logger` - -Logger instance, use for the system logging. -Higher the logger level index, higher the LogLevel required to display log. -Default should be INFO - -DEBUG: 5, -INFO: 4, -WARN: 3, -ERROR: 2, -FATAL: 1, - -#### Defined in - -[src/global/logger.ts:166](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/logger.ts#L166) - ---- - -### LogLevelIndex - -• `Const` **LogLevelIndex**: `Object` - -#### Type declaration - -| Name | Type | -| :------ | :------- | -| `DEBUG` | `number` | -| `INFO` | `number` | -| `WARN` | `number` | -| `ERROR` | `number` | -| `FATAL` | `number` | -| `OFF` | `number` | - -#### Defined in - -[src/global/logger.type.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/logger.type.ts#L3) - -[src/global/logger.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/logger.type.ts#L12) - -## Functions - -### getCalldata - -▸ **getCalldata**(`args`, `callback`): [`Calldata`](namespaces/types.md#calldata) - -#### Parameters - -| Name | Type | -| :--------- | :--------------------------------------- | -| `args` | [`RawArgs`](namespaces/types.md#rawargs) | -| `callback` | `Function` | - -#### Returns - -[`Calldata`](namespaces/types.md#calldata) - -#### Defined in - -[src/contract/default.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/contract/default.ts#L96) - ---- - -### getLedgerPathBuffer111 - -▸ **getLedgerPathBuffer111**(`accountId`, `applicationName?`): `Uint8Array` - -Format the Ledger wallet path to an Uint8Array -for a Ledger Starknet DAPP v1.1.1. - -EIP2645 path = 2645'/starknet/application/0/accountId/0 - -#### Parameters - -| Name | Type | Default value | Description | -| :----------------- | :------- | :------------ | :------------------------------- | -| `accountId` | `number` | `undefined` | Id of account. < 2\*\*31. | -| `applicationName?` | `string` | `'LedgerW'` | utf8 string of application name. | - -#### Returns - -`Uint8Array` - -an Uint8array of 24 bytes. - -**`Example`** - -```typescript -const result = getLedgerPathBuffer111(0); -// result = Uint8Array(24) [ - 128, 0, 10, 85, 71, 65, 233, 201, - 43, 206, 231, 219, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0 -] -``` - -#### Defined in - -[src/signer/ledgerSigner111.ts:362](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L362) - ---- - -### getLedgerPathBuffer221 - -▸ **getLedgerPathBuffer221**(`accountId`, `applicationName?`): `Uint8Array` - -Format the Ledger wallet path to an Uint8Array. -for a Ledger Starknet DAPP v2.2.0 -EIP2645 path = 2645'/starknet'/application'/0'/accountId'/0 - -#### Parameters - -| Name | Type | Default value | Description | -| :----------------- | :------- | :------------ | :------------------------------- | -| `accountId` | `number` | `undefined` | Id of account. < 2\*\*31. | -| `applicationName?` | `string` | `'LedgerW'` | utf8 string of application name. | - -#### Returns - -`Uint8Array` - -an Uint8array of 24 bytes. - -**`Example`** - -```typescript -const result = getLedgerPathBuffer211(0); -// result = Uint8Array(24) [ - 128, 0, 10, 85, 199, 65, 233, 201, - 171, 206, 231, 219, 128, 0, 0, 0, - 128, 0, 0, 0, 0, 0, 0, 0 -] -``` - -#### Defined in - -[src/signer/ledgerSigner221.ts:644](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner221.ts#L644) - ---- - -### isV3Tx - -▸ **isV3Tx**(`details`): details is V3TransactionDetails - -Check if the given transaction details is a V3 transaction. - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------------------------------------- | :------------------------------------- | -| `details` | [`InvocationsDetailsWithNonce`](namespaces/types.md#invocationsdetailswithnonce) | The transaction details to be checked. | - -#### Returns - -details is V3TransactionDetails - -Returns true if the transaction is a V3 transaction, otherwise false. - -**`Example`** - -```typescript -const invocation: InvocationsDetailsWithNonce = { - nonce: 1, - version: 3, - maxFee: 10 ** 15, - feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - tip: 10 ** 13, - paymasterData: [], - resourceBounds: { - l1_gas: { max_amount: num.toHex(10 ** 14), max_price_per_unit: num.toHex(50) }, - l2_gas: { max_amount: num.toHex(0), max_price_per_unit: num.toHex(0) }, - }, -}; -const result = provider.isV3Tx(invocation); -// result = true -``` - -#### Defined in - -[src/utils/resolve.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/resolve.ts#L35) - ---- - -### isVersion - -▸ **isVersion**(`expected`, `provided`): `boolean` - -Determines if the provided version matches the specified version. -Version must be formatted "major.minor.patch" using dot delimiters. -Use wildcard _ or unspecified to match 'any' value on the position. -ex. 7.3._ == 7.3.15, \* == 1.1.1, 0.8 == 0.8.5. '' != 0.8.5 - -#### Parameters - -| Name | Type | Description | -| :--------- | :------- | :------------------------------------- | -| `expected` | `string` | version. | -| `provided` | `string` | to check against the expected version. | - -#### Returns - -`boolean` - -True if the response matches the version, false otherwise. - -**`Example`** - -```typescript -const result = provider.isVersion('0.7', '0.7.1'); -// result = true -``` - -#### Defined in - -[src/utils/resolve.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/resolve.ts#L56) - ---- - -### isSupportedSpecVersion - -▸ **isSupportedSpecVersion**(`version`, `options?`): version is "0.7.1" \| "0.8.1" - -Define if provided version is SDK supported rpc specification version - -#### Parameters - -| Name | Type | -| :----------------------------- | :-------- | -| `version` | `string` | -| `options` | `Object` | -| `options.allowAnyPatchVersion` | `boolean` | - -#### Returns - -version is "0.7.1" \| "0.8.1" - -#### Defined in - -[src/utils/resolve.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/resolve.ts#L66) - ---- - -### toAnyPatchVersion - -▸ **toAnyPatchVersion**(`version`): `string` - -Convert fixed version to any patch version. -ex. 0.8.1 -> 0.8.\* - -#### Parameters - -| Name | Type | -| :-------- | :------- | -| `version` | `string` | - -#### Returns - -`string` - -#### Defined in - -[src/utils/resolve.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/resolve.ts#L79) - ---- - -### isPendingBlock - -▸ **isPendingBlock**(`response`): response is Object - -Guard Pending Block - -#### Parameters - -| Name | Type | Description | -| :--------- | :--------------------------------------------------------- | :------------------------------ | -| `response` | [`GetBlockResponse`](namespaces/types.md#getblockresponse) | answer of myProvider.getBlock() | - -#### Returns - -response is Object - -true if block is the pending block - -**`Example`** - -```typescript -const block = await myProvider.getBlock('pending'); -const result = provider.isPendingBlock(block); -// result = true -``` - -#### Defined in - -[src/utils/resolve.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/resolve.ts#L98) - ---- - -### isPendingTransaction - -▸ **isPendingTransaction**(`response`): `boolean` - -Guard Pending Transaction - -#### Parameters - -| Name | Type | Description | -| :--------- | :----------------------------------------------------------------------------------- | :------------------ | -| `response` | [`GetTransactionReceiptResponse`](namespaces/types.md#gettransactionreceiptresponse) | transaction Receipt | - -#### Returns - -`boolean` - -true if the transaction is part of the pending block - -**`Example`** - -```typescript -const block = await myProvider.getBlockWithTxs('pending'); -const txR = await myProvider.getTransactionReceipt(block.transactions[0].transaction_hash); -const result = provider.isPendingTransaction(txR); -// result = true -``` - -#### Defined in - -[src/utils/resolve.ts:114](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/resolve.ts#L114) - ---- - -### isPendingStateUpdate - -▸ **isPendingStateUpdate**(`response`): response is Object - -Guard Pending State Update - -#### Parameters - -| Name | Type | Description | -| :--------- | :--------------------------------------------------------------- | :--------------- | -| `response` | [`StateUpdateResponse`](namespaces/types.md#stateupdateresponse) | State of a block | - -#### Returns - -response is Object - -true if the block is pending - -**`Example`** - -```typescript -const state: StateUpdateResponse = await myProvider.getStateUpdate('pending'); -const result = provider.isPendingStateUpdate(state); -// result = true -``` - -#### Defined in - -[src/utils/resolve.ts:129](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/resolve.ts#L129) - ---- - -### addAddressPadding - -▸ **addAddressPadding**(`address`): `string` - -Format a hex number to '0x' and 64 characters, adding leading zeros if necessary. - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------------- | -| `address` | [`BigNumberish`](namespaces/types.md#bignumberish) | - -#### Returns - -`string` - -Hex string: 0x followed by 64 characters. No upper case characters in the response. - -**`Example`** - -```typescript -const result = [ - 31, - 0x1f, - '31', - '0x1f', - '0x90591d9fa3efc87067d95a643f8455e0b8190eb8cb7bfd39e4fb7571fdf', -].map(addAddressPadding); -// result = [ -// '0x000000000000000000000000000000000000000000000000000000000000001f', -// '0x000000000000000000000000000000000000000000000000000000000000001f', -// '0x0000000000000000000000000000000000000000000000000000000000000031', -// '0x000000000000000000000000000000000000000000000000000000000000001f', -// '0x0000090591d9fa3efc87067d95a643f8455e0b8190eb8cb7bfd39e4fb7571fdf' -// ] -``` - -#### Defined in - -[src/utils/address.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/address.ts#L28) - ---- - -### validateAndParseAddress - -▸ **validateAndParseAddress**(`address`): `string` - -Check the validity of a Starknet address, and format it as a hex number: '0x' and 64 characters, adding leading zeros if necessary. - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------------- | -| `address` | [`BigNumberish`](namespaces/types.md#bignumberish) | - -#### Returns - -`string` - -Hex string: 0x followed by 64 characters. No upper case characters in the response. - -**`Throws`** - -address argument must be a valid address inside the address range bound - -**`Example`** - -```typescript -const result = [ - 31, - 0x1f, - '31', - '0x1f', - '0x90591d9fa3efc87067d95a643f8455e0b8190eb8cb7bfd39e4fb7571fdf', -].map(addAddressPadding); -// result = [ -// '0x000000000000000000000000000000000000000000000000000000000000001f', -// '0x000000000000000000000000000000000000000000000000000000000000001f', -// '0x0000000000000000000000000000000000000000000000000000000000000031', -// '0x000000000000000000000000000000000000000000000000000000000000001f', -// '0x0000090591d9fa3efc87067d95a643f8455e0b8190eb8cb7bfd39e4fb7571fdf' -// ] -``` - -#### Defined in - -[src/utils/address.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/address.ts#L52) - ---- - -### getChecksumAddress - -▸ **getChecksumAddress**(`address`): `string` - -Convert an address to her checksum representation which uses a specific pattern of uppercase and lowercase letters within -a given address to reduce the risk of errors introduced from typing an address or cut and paste issues. - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------------- | -| `address` | [`BigNumberish`](namespaces/types.md#bignumberish) | - -#### Returns - -`string` - -Hex string : 0x followed by 64 characters. Mix of uppercase and lowercase - -**`Example`** - -```typescript -const address = '0x90591d9fa3efc87067d95a643f8455e0b8190eb8cb7bfd39e4fb7571fdf'; -const result = getChecksumAddress(address); -// result = "0x0000090591D9fA3EfC87067d95a643f8455E0b8190eb8Cb7bFd39e4fb7571fDF" -``` - -#### Defined in - -[src/utils/address.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/address.ts#L77) - ---- - -### validateChecksumAddress - -▸ **validateChecksumAddress**(`address`): `boolean` - -If the casing of an address is mixed, it is a Checksum Address, which uses a specific pattern of uppercase and lowercase letters within -a given address to reduce the risk of errors introduced from typing an address or cut and paste issues. - -#### Parameters - -| Name | Type | Description | -| :-------- | :------- | :---------- | -| `address` | `string` | string | - -#### Returns - -`boolean` - -true if the ChecksumAddress is valid - -**`Example`** - -```typescript -const address = '0x0000090591D9fA3EfC87067d95a643f8455E0b8190eb8Cb7bFd39e4fb7571fDF'; -const result = validateChecksumAddress(address); -// result = true -``` - -#### Defined in - -[src/utils/address.ts:107](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/address.ts#L107) - ---- - -### parseCalldataField - -▸ **parseCalldataField**(`argsIterator`, `input`, `structs`, `enums`): `string` \| `string`[] - -Parse one field of the calldata by using input field from the abi for that method - -#### Parameters - -| Name | Type | Description | -| :------------- | :--------------------------------------------- | :------------------------------------------------------------------------ | -| `argsIterator` | `Iterator`<`any`, `any`, `undefined`\> | Iterator for value of the field | -| `input` | [`AbiEntry`](namespaces/types.md#abientry) | input(field) information from the abi that will be used to parse the data | -| `structs` | [`AbiStructs`](namespaces/types.md#abistructs) | structs from abi | -| `enums` | [`AbiEnums`](namespaces/types.md#abienums) | enums from abi | - -#### Returns - -`string` \| `string`[] - -- parsed arguments in format that contract is expecting - -**`Example`** - -```ts -const abiEntry = { name: 'test', type: 'struct' }; -const abiStructs: AbiStructs = { - struct: { - members: [ - { - name: 'test_name', - type: 'test_type', - offset: 1, - }, - ], - size: 2, - name: 'cairo__struct', - type: 'struct', - }, -}; - -const abiEnums: AbiEnums = { - enum: { - variants: [ - { - name: 'test_name', - type: 'cairo_struct_variant', - offset: 1, - }, - ], - size: 2, - name: 'test_cairo', - type: 'enum', - }, -}; - -const args = [{ test_name: 'test' }]; -const argsIterator = args[Symbol.iterator](); -const parsedField = parseCalldataField(argsIterator, abiEntry, abiStructs, abiEnums); -// parsedField === ['1952805748'] -``` - -#### Defined in - -[src/utils/calldata/requestParser.ts:352](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/requestParser.ts#L352) - ---- - -### isSierra - -▸ **isSierra**(`contract`): contract is CompiledSierra \| SierraContractClass - -Checks if a given contract is in Sierra (Safe Intermediate Representation) format. - -#### Parameters - -| Name | Type | Description | -| :--------- | :--------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------ | -| `contract` | `string` \| [`CairoContract`](namespaces/types.md#cairocontract) | The contract to check. Can be either a CairoContract object or a string representation of the contract. | - -#### Returns - -contract is CompiledSierra \| SierraContractClass - -- Returns true if the contract is a Sierra contract, otherwise false. - -**`Example`** - -```typescript -const result = isSierra(contract); -// result = true | false -``` - -#### Defined in - -[src/utils/contract.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/contract.ts#L26) - ---- - -### extractContractHashes - -▸ **extractContractHashes**(`payload`): [`CompleteDeclareContractPayload`](namespaces/types.md#completedeclarecontractpayload) - -Extracts contract hashes from `DeclareContractPayload`. - -#### Parameters - -| Name | Type | Description | -| :-------- | :--------------------------------------------------------------------- | :------------------------------------------- | -| `payload` | [`DeclareContractPayload`](namespaces/types.md#declarecontractpayload) | The payload containing contract information. | - -#### Returns - -[`CompleteDeclareContractPayload`](namespaces/types.md#completedeclarecontractpayload) - -- The `CompleteDeclareContractPayload` with extracted contract hashes. - -**`Throws`** - -- If extraction of compiledClassHash or classHash fails. - -**`Example`** - -```typescript -const result = extractContractHashes(contract); -// result = { -// contract: ..., -// classHash: ..., -// casm: ..., -// compiledClassHash: ..., -// } -``` - -#### Defined in - -[src/utils/contract.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/contract.ts#L50) - ---- - -### contractClassResponseToLegacyCompiledContract - -▸ **contractClassResponseToLegacyCompiledContract**(`ccr`): [`LegacyCompiledContract`](namespaces/types.md#legacycompiledcontract) - -Helper to redeclare response Cairo0 contract - -#### Parameters - -| Name | Type | -| :---- | :------------------------------------------------------------------- | -| `ccr` | [`ContractClassResponse`](namespaces/types.md#contractclassresponse) | - -#### Returns - -[`LegacyCompiledContract`](namespaces/types.md#legacycompiledcontract) - -#### Defined in - -[src/utils/contract.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/contract.ts#L75) - ---- - -### units - -▸ **units**(`amount`, `simbol?`): `string` - -Convert strk to fri or fri to strk - -#### Parameters - -| Name | Type | Default value | -| :------- | :------------------- | :------------ | -| `amount` | `string` \| `bigint` | `undefined` | -| `simbol` | `"fri"` \| `"strk"` | `'fri'` | - -#### Returns - -`string` - -**`Example`** - -```typescript -units(1000n, 'fri'); // '0.000000000000001' strk -units('1', 'strk'); // '1000000000000000000' fri -``` - -#### Defined in - -[src/utils/units.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/units.ts#L11) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/constants.md b/www/versioned_docs/version-7.5.1/API/namespaces/constants.md deleted file mode 100644 index 4048be8b7..000000000 --- a/www/versioned_docs/version-7.5.1/API/namespaces/constants.md +++ /dev/null @@ -1,491 +0,0 @@ ---- -id: 'constants' -title: 'Namespace: constants' -sidebar_label: 'constants' -sidebar_position: 0 -custom_edit_url: null ---- - -Utils - -## Type Aliases - -### BaseUrl - -Ƭ **BaseUrl**: `ValuesType` - -#### Defined in - -[src/global/constants.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L56) - -[src/global/constants.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L60) - ---- - -### NetworkName - -Ƭ **NetworkName**: `ValuesType` - -#### Defined in - -[src/global/constants.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L63) - -[src/global/constants.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L67) - ---- - -### StarknetChainId - -Ƭ **StarknetChainId**: `ValuesType` - -#### Defined in - -[src/global/constants.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L70) - -[src/global/constants.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L74) - ---- - -### TransactionHashPrefix - -Ƭ **TransactionHashPrefix**: `ValuesType` - -#### Defined in - -[src/global/constants.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L77) - -[src/global/constants.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L84) - ---- - -### SupportedRpcVersion - -Ƭ **SupportedRpcVersion**: `ValuesType` - -#### Defined in - -[src/global/constants.ts:90](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L90) - -[src/global/constants.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L96) - ---- - -### SupportedTransactionVersion - -Ƭ **SupportedTransactionVersion**: typeof [`V2`](types.RPC.RPCSPEC08.API.md#v2) \| typeof [`V3`](types.RPC.RPCSPEC08.API.md#v3) - -#### Defined in - -[src/global/constants.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L99) - -## Variables - -### IS_BROWSER - -• `Const` **IS_BROWSER**: `boolean` - -#### Defined in - -[src/utils/encode.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L3) - ---- - -### TEXT_TO_FELT_MAX_LEN - -• `Const` **TEXT_TO_FELT_MAX_LEN**: `31` - -Cairo Felt support storing max 31 character - -#### Defined in - -[src/global/constants.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L12) - ---- - -### TRANSACTION_VERSION - -• **TRANSACTION_VERSION**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :--- | :-------------------------------------- | :--------------------------------------------------------------- | -| `V0` | `"0x0"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `V1` | `"0x1"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `V2` | `"0x2"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `V3` | `"0x3"` | - | -| `F0` | `"0x100000000000000000000000000000000"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `F1` | `"0x100000000000000000000000000000001"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `F2` | `"0x100000000000000000000000000000002"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `F3` | `"0x100000000000000000000000000000003"` | - | - -#### Defined in - -[src/global/constants.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L19) - ---- - -### ZERO - -• `Const` **ZERO**: `0n` - -#### Defined in - -[src/global/constants.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L21) - ---- - -### MASK_250 - -• `Const` **MASK_250**: `bigint` - -#### Defined in - -[src/global/constants.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L22) - ---- - -### MASK_31 - -• `Const` **MASK_31**: `bigint` - -#### Defined in - -[src/global/constants.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L23) - ---- - -### API_VERSION - -• `Const` **API_VERSION**: `0n` - -#### Defined in - -[src/global/constants.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L24) - ---- - -### PRIME - -• `Const` **PRIME**: `bigint` - -#### Defined in - -[src/global/constants.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L25) - ---- - -### MAX_STORAGE_ITEM_SIZE - -• `Const` **MAX_STORAGE_ITEM_SIZE**: `256n` - -#### Defined in - -[src/global/constants.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L28) - ---- - -### ADDR_BOUND - -• `Const` **ADDR_BOUND**: `bigint` - -#### Defined in - -[src/global/constants.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L29) - ---- - -### RANGE_FELT - -• `Const` **RANGE_FELT**: `Object` - -#### Type declaration - -| Name | Type | -| :---- | :------- | -| `min` | `bigint` | -| `max` | `bigint` | - -#### Defined in - -[src/global/constants.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L33) - ---- - -### RANGE_I128 - -• `Const` **RANGE_I128**: `Object` - -#### Type declaration - -| Name | Type | -| :---- | :------- | -| `min` | `bigint` | -| `max` | `bigint` | - -#### Defined in - -[src/global/constants.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L34) - ---- - -### RANGE_U128 - -• `Const` **RANGE_U128**: `Object` - -#### Type declaration - -| Name | Type | -| :---- | :------- | -| `min` | `bigint` | -| `max` | `bigint` | - -#### Defined in - -[src/global/constants.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L35) - ---- - -### UDC - -• `Const` **UDC**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :--------------------------------------------------------------------- | -| `ADDRESS` | `"0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf"` | -| `ENTRYPOINT` | `"deployContract"` | - -#### Defined in - -[src/global/constants.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L37) - ---- - -### OutsideExecutionCallerAny - -• `Const` **OutsideExecutionCallerAny**: `"0x414e595f43414c4c4552"` - -#### Defined in - -[src/global/constants.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L42) - ---- - -### SNIP9_V1_INTERFACE_ID - -• `Const` **SNIP9_V1_INTERFACE_ID**: `"0x68cfd18b92d1907b8ba3cc324900277f5a3622099431ea85dd8089255e4181"` - -#### Defined in - -[src/global/constants.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L43) - ---- - -### SNIP9_V2_INTERFACE_ID - -• `Const` **SNIP9_V2_INTERFACE_ID**: `"0x1d1144bb2138366ff28d8e9ab57456b1d332ac42196230c3a602003c89872"` - -#### Defined in - -[src/global/constants.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L45) - ---- - -### HARDENING_BYTE - -• `Const` **HARDENING_BYTE**: `128` - -#### Defined in - -[src/global/constants.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L50) - ---- - -### HARDENING_4BYTES - -• `Const` **HARDENING_4BYTES**: `2147483648n` - -#### Defined in - -[src/global/constants.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L52) - ---- - -### BaseUrl - -• `Const` **BaseUrl**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :------------------------------------ | -| `SN_MAIN` | `"https://alpha-mainnet.starknet.io"` | -| `SN_SEPOLIA` | `"https://alpha-sepolia.starknet.io"` | - -#### Defined in - -[src/global/constants.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L56) - -[src/global/constants.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L60) - ---- - -### NetworkName - -• `Const` **NetworkName**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :------------- | -| `SN_MAIN` | `"SN_MAIN"` | -| `SN_SEPOLIA` | `"SN_SEPOLIA"` | - -#### Defined in - -[src/global/constants.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L63) - -[src/global/constants.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L67) - ---- - -### StarknetChainId - -• `Const` **StarknetChainId**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :------------------------- | -| `SN_MAIN` | `"0x534e5f4d41494e"` | -| `SN_SEPOLIA` | `"0x534e5f5345504f4c4941"` | - -#### Defined in - -[src/global/constants.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L70) - -[src/global/constants.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L74) - ---- - -### TransactionHashPrefix - -• `Const` **TransactionHashPrefix**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :--------------------------------- | -| `DECLARE` | `"0x6465636c617265"` | -| `DEPLOY` | `"0x6465706c6f79"` | -| `DEPLOY_ACCOUNT` | `"0x6465706c6f795f6163636f756e74"` | -| `INVOKE` | `"0x696e766f6b65"` | -| `L1_HANDLER` | `"0x6c315f68616e646c6572"` | - -#### Defined in - -[src/global/constants.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L77) - -[src/global/constants.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L84) - ---- - -### SupportedRpcVersion - -• `Const` **SupportedRpcVersion**: `Object` - -dot format rpc versions - -#### Type declaration - -| Name | Type | -| :------- | :-------- | -| `0.7.1` | `"0.7.1"` | -| `0.8.1` | `"0.8.1"` | -| `v0_7_1` | `"0.7.1"` | -| `v0_8_1` | `"0.8.1"` | - -#### Defined in - -[src/global/constants.ts:90](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L90) - -[src/global/constants.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L96) - ---- - -### DEFAULT_GLOBAL_CONFIG - -• `Const` **DEFAULT_GLOBAL_CONFIG**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------- | :------------------------------------------------------------------------ | -| `legacyMode` | `boolean` | -| `logLevel` | [`LogLevel`](../modules.md#loglevel) | -| `rpcVersion` | [`SupportedRpcVersion`](constants.md#supportedrpcversion-1) | -| `transactionVersion` | [`SupportedTransactionVersion`](constants.md#supportedtransactionversion) | -| `feeMarginPercentage` | [`FeeMarginPercentage`](types.md#feemarginpercentage) | -| `fetch` | `any` | -| `websocket` | `any` | - -#### Defined in - -[src/global/constants.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L104) - ---- - -### RPC_DEFAULT_NODES - -• `Const` **RPC_DEFAULT_NODES**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------------------------- | -| `SN_MAIN` | readonly [``"https://starknet-mainnet.public.blastapi.io/rpc/"``] | -| `SN_SEPOLIA` | readonly [``"https://starknet-sepolia.public.blastapi.io/rpc/"``] | - -#### Defined in - -[src/global/constants.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L138) - ---- - -### PAYMASTER_RPC_NODES - -• `Const` **PAYMASTER_RPC_NODES**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :-------------------------------------------------- | -| `SN_MAIN` | readonly [``"https://starknet.paymaster.avnu.fi"``] | -| `SN_SEPOLIA` | readonly [``"https://sepolia.paymaster.avnu.fi"``] | - -#### Defined in - -[src/global/constants.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L143) - ---- - -### SYSTEM_MESSAGES - -• `Const` **SYSTEM_MESSAGES**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------------- | :------- | -| `legacyTxWarningMessage` | `string` | -| `legacyTxRPC08Message` | `string` | -| `SWOldV3` | `string` | -| `channelVersionMismatch` | `string` | -| `unsupportedSpecVersion` | `string` | -| `maxFeeInV3` | `string` | - -#### Defined in - -[src/global/constants.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/global/constants.ts#L149) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/encode.md b/www/versioned_docs/version-7.5.1/API/namespaces/encode.md deleted file mode 100644 index 377d5b832..000000000 --- a/www/versioned_docs/version-7.5.1/API/namespaces/encode.md +++ /dev/null @@ -1,460 +0,0 @@ ---- -id: 'encode' -title: 'Namespace: encode' -sidebar_label: 'encode' -sidebar_position: 0 -custom_edit_url: null ---- - -## References - -### IS_BROWSER - -Re-exports [IS_BROWSER](constants.md#is_browser) - -## Functions - -### arrayBufferToString - -▸ **arrayBufferToString**(`array`): `string` - -Convert array buffer to string - -_[internal usage]_ - -#### Parameters - -| Name | Type | Description | -| :------ | :------------ | :------------------------------------ | -| `array` | `ArrayBuffer` | The ArrayBuffer to convert to string. | - -#### Returns - -`string` - -The converted string. - -**`Example`** - -```typescript -const buffer = new ArrayBuffer(5); -const view = new Uint8Array(buffer); -[72, 101, 108, 108, 111].forEach((x, idx) => (view[idx] = x)); -const result = encode.arrayBufferToString(buffer); -// result = "Hello" -``` - -#### Defined in - -[src/utils/encode.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L29) - ---- - -### utf8ToArray - -▸ **utf8ToArray**(`str`): `Uint8Array` - -Convert utf8-string to Uint8Array - -_[internal usage]_ - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :--------------------------- | -| `str` | `string` | The UTF-8 string to convert. | - -#### Returns - -`Uint8Array` - -The encoded Uint8Array. - -**`Example`** - -```typescript -const myString = 'Hi'; -const result = encode.utf8ToArray(myString); -// result = Uint8Array(2) [ 72, 105 ] -``` - -#### Defined in - -[src/utils/encode.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L48) - ---- - -### atobUniversal - -▸ **atobUniversal**(`a`): `Uint8Array` - -Convert string to array buffer (browser and node compatible) - -#### Parameters - -| Name | Type | Description | -| :--- | :------- | :------------------------------------ | -| `a` | `string` | The Base64 encoded string to convert. | - -#### Returns - -`Uint8Array` - -The decoded Uint8Array. - -**`Example`** - -```typescript -const base64String = 'SGVsbG8='; // 'Hello' in Base64 -const result = encode.atobUniversal(base64String); -// result = Uint8Array(5) [ 72, 101, 108, 108, 111 ] -``` - -#### Defined in - -[src/utils/encode.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L65) - ---- - -### btoaUniversal - -▸ **btoaUniversal**(`b`): `string` - -Convert array buffer to string (browser and node compatible) - -#### Parameters - -| Name | Type | Description | -| :--- | :------------ | :---------------- | -| `b` | `ArrayBuffer` | The Array buffer. | - -#### Returns - -`string` - -The Base64 encoded string. - -**`Example`** - -```typescript -const buffer = new Uint8Array([72, 101, 108, 108, 111]); // Array with ASCII values for 'Hello' -const result = encode.btoaUniversal(buffer); -// result = "SGVsbG8=" -``` - -#### Defined in - -[src/utils/encode.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L82) - ---- - -### buf2hex - -▸ **buf2hex**(`buffer`): `string` - -Convert array buffer to hex-string - -#### Parameters - -| Name | Type | Description | -| :------- | :----------- | :---------------------- | -| `buffer` | `Uint8Array` | The encoded Uint8Array. | - -#### Returns - -`string` - -The hex-string - -**`Example`** - -```typescript -const buffer = new Uint8Array([72, 101, 108, 108, 111]); // Array with ASCII values for 'Hello' -const result = encode.buf2hex(buffer); -// result = "48656c6c6f" -``` - -#### Defined in - -[src/utils/encode.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L99) - ---- - -### removeHexPrefix - -▸ **removeHexPrefix**(`hex`): `string` - -Remove hex prefix '0x' from hex-string - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :---------- | -| `hex` | `string` | hex-string | - -#### Returns - -`string` - -The hex-string - -**`Example`** - -```typescript -const hexStringWithPrefix = '0x48656c6c6f'; -const result = encode.removeHexPrefix(hexStringWithPrefix); -// result: "48656c6c6f" -``` - -#### Defined in - -[src/utils/encode.ts:115](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L115) - ---- - -### addHexPrefix - -▸ **addHexPrefix**(`hex`): `string` - -Add hex prefix '0x' to base16-string - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :------------ | -| `hex` | `string` | base16-string | - -#### Returns - -`string` - -The hex-string - -**`Example`** - -```typescript -const plainHexString = '48656c6c6f'; -const result = encode.addHexPrefix(plainHexString); -// result: "0x48656c6c6f" -``` - -#### Defined in - -[src/utils/encode.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L131) - ---- - -### padLeft - -▸ **padLeft**(`str`, `length`, `padding?`): `string` - -Prepend string (default with '0') - -Pads a string to a certain length with a specific string. -The padding can be applied only to the left of the input string. - -#### Parameters - -| Name | Type | Default value | Description | -| :--------- | :------- | :------------ | :---------------------------------------------- | -| `str` | `string` | `undefined` | The string to pad. | -| `length` | `number` | `undefined` | The target length for the padded string. | -| `padding?` | `string` | `STRING_ZERO` | The string to use for padding. Defaults to '0'. | - -#### Returns - -`string` - -The padded string. - -**`Example`** - -```typescript -const myString = '1A3F'; -const result = encode.padLeft(myString, 10); -// result: '0000001A3F' -``` - -#### Defined in - -[src/utils/encode.ts:188](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L188) - ---- - -### calcByteLength - -▸ **calcByteLength**(`str`, `byteSize?`): `number` - -Calculate byte length of string - -_[no internal usage]_ - -Calculates the byte length of a string based on a specified byte size. -The function rounds up the byte count to the nearest multiple of the specified byte size. - -#### Parameters - -| Name | Type | Default value | Description | -| :---------- | :------- | :------------ | :-------------------------------------------------------- | -| `str` | `string` | `undefined` | The string whose byte length is to be calculated. | -| `byteSize?` | `number` | `8` | The size of the byte block to round up to. Defaults to 8. | - -#### Returns - -`number` - -The calculated byte length, rounded to the nearest multiple of byteSize. - -**`Example`** - -```typescript -const myString = 'Hello'; -const result = encode.calcByteLength(myString, 4); -// result = 8 (rounded up to the nearest multiple of 4) -``` - -#### Defined in - -[src/utils/encode.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L212) - ---- - -### sanitizeBytes - -▸ **sanitizeBytes**(`str`, `byteSize?`, `padding?`): `string` - -Prepend '0' to string bytes - -_[no internal usage]_ - -- Prepends padding to the left of a string to ensure it matches a specific byte length. - The function uses a specified padding character and rounds up the string length to the nearest multiple of `byteSize`. - -#### Parameters - -| Name | Type | Default value | Description | -| :---------- | :------- | :------------ | :---------------------------------------------------------------------------------- | -| `str` | `string` | `undefined` | The string to be padded. | -| `byteSize?` | `number` | `8` | The byte block size to which the string length should be rounded up. Defaults to 8. | -| `padding?` | `string` | `STRING_ZERO` | The character to use for padding. Defaults to '0'. | - -#### Returns - -`string` - -The padded string. - -**`Example`** - -```typescript -const myString = '123'; -const result = encode.sanitizeBytes(myString); -// result: '00000123' (padded to 8 characters) -``` - -#### Defined in - -[src/utils/encode.ts:239](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L239) - ---- - -### sanitizeHex - -▸ **sanitizeHex**(`hex`): `string` - -Sanitizes a hex-string by removing any existing '0x' prefix, padding the string with '0' to ensure it has even length, -and then re-adding the '0x' prefix. - -_[no internal usage]_ - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :---------- | -| `hex` | `string` | hex-string | - -#### Returns - -`string` - -format: hex-string - -**`Example`** - -```typescript -const unevenHex = '0x23abc'; -const result = encode.sanitizeHex(unevenHex); -// result = '0x023abc' (padded to ensure even length) -``` - -#### Defined in - -[src/utils/encode.ts:262](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L262) - ---- - -### concatenateArrayBuffer - -▸ **concatenateArrayBuffer**(`uint8arrays`): `Uint8Array` - -Combine multiple Uint8Arrays into one. -Useful for wallet path creation. - -#### Parameters - -| Name | Type | Description | -| :------------ | :------------- | :---------------------- | -| `uint8arrays` | `Uint8Array`[] | An array of Uint8Array. | - -#### Returns - -`Uint8Array` - -all the Uint8Arrays joined. - -**`Example`** - -```typescript -const path0buff = new Uint8Array([128, 0, 10, 85]); -const path1buff = new Uint8Array([71, 65, 233, 201]); -const result = encode.concatenateArrayBuffer([path0buff, path1buff]); -// result = Uint8Array(8) [128, 0, 10, 85, 71, 65, 233, 201] -``` - -#### Defined in - -[src/utils/encode.ts:304](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L304) - ---- - -### pascalToSnake - -▸ **pascalToSnake**(`text`): `string` - -String transformation util - -Pascal case to screaming snake case - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :-------------------------------- | -| `text` | `string` | The PascalCase string to convert. | - -#### Returns - -`string` - -The converted snake_case string in uppercase. - -**`Example`** - -```typescript -const pascalString = 'PascalCaseExample'; -const result = encode.pascalToSnake(pascalString); -// result: 'PASCAL_CASE_EXAMPLE' -``` - -#### Defined in - -[src/utils/encode.ts:283](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/encode.ts#L283) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/hash.md b/www/versioned_docs/version-7.5.1/API/namespaces/hash.md deleted file mode 100644 index 09bb99e30..000000000 --- a/www/versioned_docs/version-7.5.1/API/namespaces/hash.md +++ /dev/null @@ -1,767 +0,0 @@ ---- -id: 'hash' -title: 'Namespace: hash' -sidebar_label: 'hash' -sidebar_position: 0 -custom_edit_url: null ---- - -## Namespaces - -- [poseidon](hash.poseidon.md) - -## Functions - -### keccakBn - -▸ **keccakBn**(`value`): `string` - -Calculate the hex-string Starknet Keccak hash for a given BigNumberish - -#### Parameters - -| Name | Type | Description | -| :------ | :-------------------------------------- | :------------ | -| `value` | [`BigNumberish`](types.md#bignumberish) | value to hash | - -#### Returns - -`string` - -hex-string Keccak hash - -**`Example`** - -```typescript -const result = keccakBn('0xabc'); -// result = '0x11cf08aac85935e32397f410e48217a127b6855d41b1e3877eb4179c0904b77' -``` - -#### Defined in - -[src/utils/hash/selector.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/selector.ts#L21) - ---- - -### starknetKeccak - -▸ **starknetKeccak**(`str`): `bigint` - -Calculate the BigInt Starknet Keccak hash for a given string -[Reference](https://github.com/starkware-libs/cairo-lang/blob/master/src/starkware/starknet/public/abi.py#L38) - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :------------ | -| `str` | `string` | value to hash | - -#### Returns - -`bigint` - -BigInt Keccak hash - -**`Example`** - -```typescript -const result = starknetKeccak('test').toString(); -// result = '61835310290161785288773114225739080147441215596947647498723774891619563096' -``` - -#### Defined in - -[src/utils/hash/selector.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/selector.ts#L50) - ---- - -### getSelectorFromName - -▸ **getSelectorFromName**(`funcName`): `string` - -Calculate the hex-string selector for a given abi function name -[Reference](https://github.com/starkware-libs/cairo-lang/blob/master/src/starkware/starknet/public/abi.py#L46) - -#### Parameters - -| Name | Type | Description | -| :--------- | :------- | :---------------- | -| `funcName` | `string` | abi function name | - -#### Returns - -`string` - -hex-string selector - -**`Example`** - -```typescript -const result = getSelectorFromName('myFunction'); -// result = '0xc14cfe23f3fa7ce7b1f8db7d7682305b1692293f71a61cc06637f0d8d8b6c8' -``` - -#### Defined in - -[src/utils/hash/selector.ts:68](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/selector.ts#L68) - ---- - -### getSelector - -▸ **getSelector**(`value`): `string` - -Calculate the hex-string selector from a given abi function name or of any representation of number. - -#### Parameters - -| Name | Type | Description | -| :------ | :-------------------------------------- | :----------------------------------------------------------- | -| `value` | [`BigNumberish`](types.md#bignumberish) | ascii-string \| hex-string \| dec-string \| number \| BigInt | - -#### Returns - -`string` - -hex-string selector - -**`Example`** - -```typescript -const selector1: string = getSelector('myFunction'); -// selector1 = "0xc14cfe23f3fa7ce7b1f8db7d7682305b1692293f71a61cc06637f0d8d8b6c8" - -const selector2: string = getSelector('0x123abc'); -// selector2 = "0x123abc" - -const selector3: string = getSelector('123456'); -// selector3 = "0x1e240" - -const selector4: string = getSelector(123456n); -// selector4 = "0x1e240" -``` - -#### Defined in - -[src/utils/hash/selector.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/selector.ts#L93) - ---- - -### solidityUint256PackedKeccak256 - -▸ **solidityUint256PackedKeccak256**(`params`): `string` - -Solidity hash of an array of uint256 - -#### Parameters - -| Name | Type | Description | -| :------- | :---------------------------------------- | :-------------------------- | -| `params` | [`BigNumberish`](types.md#bignumberish)[] | an array of uint256 numbers | - -#### Returns - -`string` - -the hash of the array of Solidity uint256 - -**`Example`** - -```typescript -const result = hash.solidityUint256PackedKeccak256(['0x100', '200', 300, 400n]); -// result = '0xd1e6cb422b65269603c491b0c85463295edabebfb2a6844e4fdc389ff1dcdd97' -``` - -#### Defined in - -[src/utils/hash/selector.ts:110](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/selector.ts#L110) - ---- - -### getL2MessageHash - -▸ **getL2MessageHash**(`l1FromAddress`, `l2ToAddress`, `l2Selector`, `l2Calldata`, `l1Nonce`): `string` - -Calculate the message hash related by a message L1->L2 - -#### Parameters - -| Name | Type | Description | -| :-------------- | :---------------------------------------- | :--------------------------------------------------------------------------- | -| `l1FromAddress` | [`BigNumberish`](types.md#bignumberish) | L1 account address that paid the message. | -| `l2ToAddress` | [`BigNumberish`](types.md#bignumberish) | L2 contract address to execute. | -| `l2Selector` | [`BigNumberish`](types.md#bignumberish) | can be a function name ("bridge_withdraw") or a number (BigNumberish). | -| `l2Calldata` | [`BigNumberish`](types.md#bignumberish)[] | an array of BigNumberish of the raw parameters passed to the above function. | -| `l1Nonce` | [`BigNumberish`](types.md#bignumberish) | The nonce of the L1 account. | - -#### Returns - -`string` - -hex-string of the L2 transaction hash - -**`Example`** - -```typescript -const l1FromAddress = '0x0000000000000000000000008453fc6cd1bcfe8d4dfc069c400b433054d47bdc'; -const l2ToAddress = 2158142789748719025684046545159279785659305214176670733242887773692203401023n; -const l2Selector = 774397379524139446221206168840917193112228400237242521560346153613428128537n; -const payload = [ - 4543560n, - 829565602143178078434185452406102222830667255948n, - 3461886633118033953192540141609307739580461579986333346825796013261542798665n, - 9000000000000000n, - 0n, -]; -const l1Nonce = 8288n; -const result = hash.getL2MessageHash(l1FromAddress, l2ToAddress, l2Selector, payload, l1Nonce); -// result = "0x2e350fa9d830482605cb68be4fdb9f0cb3e1f95a0c51623ac1a5d1bd997c2090" -``` - -#### Defined in - -[src/utils/hash/selector.ts:145](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/selector.ts#L145) - ---- - -### getL1MessageHash - -▸ **getL1MessageHash**(`fromL2Address`, `toL1Address`, `payload`): `string` - -Calculate the message hash related by a message L2->L1. - -#### Parameters - -| Name | Type | Description | -| :-------------- | :---------------------------------------- | :-------------------------------------------------------------------- | -| `fromL2Address` | [`BigNumberish`](types.md#bignumberish) | L2 contract address that send the message. | -| `toL1Address` | [`BigNumberish`](types.md#bignumberish) | Recipient L1 account address. | -| `payload` | [`BigNumberish`](types.md#bignumberish)[] | an array of BigNumberish of the raw parameters passed to the message. | - -#### Returns - -`string` - -hex-string of the message hash. - -**`Example`** - -```typescript -const fromL2Address = '0x04c5772d1914fe6ce891b64eb35bf3522aeae1315647314aac58b01137607f3f'; -const toL1Address = '0x8453fc6cd1bcfe8d4dfc069c400b433054d47bdc'; -const payload = [ - 0n, - 1270393329865452722422775477982592488490549769359n, - 4543560n, - 200000000000000, - 0n, -]; -const result = hash.getL1MessageHash(fromL2Address, toL1Address, payload); -// result = "0x2eace1d0ab5dbe354a93fb0a59c6b98f26e6a0fe7c33f87329f8fc9829058b8b" -``` - -#### Defined in - -[src/utils/hash/selector.ts:183](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/selector.ts#L183) - ---- - -### calculateInvokeTransactionHash - -▸ **calculateInvokeTransactionHash**(`args`): `string` - -#### Parameters - -| Name | Type | -| :----- | :--------------------- | -| `args` | `CalcInvokeTxHashArgs` | - -#### Returns - -`string` - -#### Defined in - -[src/utils/hash/transactionHash/index.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/index.ts#L61) - ---- - -### calculateDeclareTransactionHash - -▸ **calculateDeclareTransactionHash**(`args`): `string` - -#### Parameters - -| Name | Type | -| :----- | :---------------------- | -| `args` | `CalcDeclareTxHashArgs` | - -#### Returns - -`string` - -#### Defined in - -[src/utils/hash/transactionHash/index.ts:121](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/index.ts#L121) - ---- - -### calculateDeployAccountTransactionHash - -▸ **calculateDeployAccountTransactionHash**(`args`): `string` - -#### Parameters - -| Name | Type | -| :----- | :---------------------------- | -| `args` | `CalcDeployAccountTxHashArgs` | - -#### Returns - -`string` - -#### Defined in - -[src/utils/hash/transactionHash/index.ts:188](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/index.ts#L188) - ---- - -### calculateL2MessageTxHash - -▸ **calculateL2MessageTxHash**(`l1FromAddress`, `l2ToAddress`, `l2Selector`, `l2Calldata`, `l2ChainId`, `l1Nonce`): `string` - -Calculate the L2 transaction hash generated by a message L1->L2 - -#### Parameters - -| Name | Type | Description | -| :-------------- | :------------------------------------------------- | :--------------------------------------------------------------------------- | -| `l1FromAddress` | [`BigNumberish`](types.md#bignumberish) | L1 account address that paid the message. | -| `l2ToAddress` | [`BigNumberish`](types.md#bignumberish) | L2 contract address to execute. | -| `l2Selector` | [`BigNumberish`](types.md#bignumberish) | can be a function name ("bridge_withdraw") or a number (BigNumberish). | -| `l2Calldata` | [`RawCalldata`](types.md#rawcalldata) | an array of BigNumberish of the raw parameters passed to the above function. | -| `l2ChainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | L2 chain ID : from constants.StarknetChainId.xxx | -| `l1Nonce` | [`BigNumberish`](types.md#bignumberish) | The nonce of the L1 account. | - -#### Returns - -`string` - -hex-string of the L2 transaction hash - -**`Example`** - -```typescript -const l1FromAddress = '0x0000000000000000000000008453fc6cd1bcfe8d4dfc069c400b433054d47bdc'; -const l2ToAddress = 2158142789748719025684046545159279785659305214176670733242887773692203401023n; -const l2Selector = 774397379524139446221206168840917193112228400237242521560346153613428128537n; -const payload = [ - 4543560n, - 829565602143178078434185452406102222830667255948n, - 3461886633118033953192540141609307739580461579986333346825796013261542798665n, - 9000000000000000n, - 0n, -]; -const l1Nonce = 8288n; -const result = hash.calculateL2MessageTxHash( - l1FromAddress, - l2ToAddress, - l2Selector, - payload, - constants.StarknetChainId.SN_SEPOLIA, - l1Nonce -); -// result = "0x67d959200d65d4ad293aa4b0da21bb050a1f669bce37d215c6edbf041269c07" -``` - -#### Defined in - -[src/utils/hash/transactionHash/v2.ts:158](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v2.ts#L158) - ---- - -### computePedersenHash - -▸ **computePedersenHash**(`a`, `b`): `string` - -#### Parameters - -| Name | Type | -| :--- | :-------------------------------------- | -| `a` | [`BigNumberish`](types.md#bignumberish) | -| `b` | [`BigNumberish`](types.md#bignumberish) | - -#### Returns - -`string` - -#### Defined in - -[src/utils/hash/classHash.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/classHash.ts#L28) - ---- - -### computePoseidonHash - -▸ **computePoseidonHash**(`a`, `b`): `string` - -#### Parameters - -| Name | Type | -| :--- | :-------------------------------------- | -| `a` | [`BigNumberish`](types.md#bignumberish) | -| `b` | [`BigNumberish`](types.md#bignumberish) | - -#### Returns - -`string` - -#### Defined in - -[src/utils/hash/classHash.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/classHash.ts#L32) - ---- - -### computeHashOnElements - -▸ **computeHashOnElements**(`data`): `string` - -Compute Pedersen hash from data - -#### Parameters - -| Name | Type | Description | -| :----- | :---------------------------------------- | :---------------------------------------- | -| `data` | [`BigNumberish`](types.md#bignumberish)[] | Array of data to compute Pedersen hash on | - -#### Returns - -`string` - -hex-string of Pedersen hash - -**`Example`** - -```typescript -const result = hash.computeHashOnElements(['0xabc', '0x123', '0xabc123']); -// result = 0x148141e8f7db29d005a0187669a56f0790d7e8c2c5b2d780e4d8b9e436a5521 -``` - -#### Defined in - -[src/utils/hash/classHash.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/classHash.ts#L48) - ---- - -### computePoseidonHashOnElements - -▸ **computePoseidonHashOnElements**(`data`): `string` - -#### Parameters - -| Name | Type | -| :----- | :---------------------------------------- | -| `data` | [`BigNumberish`](types.md#bignumberish)[] | - -#### Returns - -`string` - -#### Defined in - -[src/utils/hash/classHash.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/classHash.ts#L56) - ---- - -### calculateContractAddressFromHash - -▸ **calculateContractAddressFromHash**(`salt`, `classHash`, `constructorCalldata`, `deployerAddress`): `string` - -Calculate contract address from class hash - -#### Parameters - -| Name | Type | Description | -| :-------------------- | :-------------------------------------- | :--------------------------------------------- | -| `salt` | [`BigNumberish`](types.md#bignumberish) | Salt to be used for hashing | -| `classHash` | [`BigNumberish`](types.md#bignumberish) | Class hash of contract to generate address for | -| `constructorCalldata` | [`RawArgs`](types.md#rawargs) | Call data for contract constructor | -| `deployerAddress` | [`BigNumberish`](types.md#bignumberish) | Address of contract deployer | - -#### Returns - -`string` - -hex-string - -**`Example`** - -```typescript -const result = hash.calculateContractAddressFromHash( - 1234, - 0x1cf4fe5d37868d25524cdacb89518d88bf217a9240a1e6fde71cc22c429e0e3, - [1234, true, false], - 0x052fb1a9ab0db3c4f81d70fea6a2f6e55f57c709a46089b25eeec0e959db3695 -); -// result = 0x5fb03d3a88d8e474976932f927ff6a9e332e06ed36642ea3e8c7e38bf010f76 -``` - -#### Defined in - -[src/utils/hash/classHash.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/classHash.ts#L74) - ---- - -### formatSpaces - -▸ **formatSpaces**(`json`): `string` - -Format json-string without spaces to conform starknet json-string - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :------------------------- | -| `json` | `string` | json-string without spaces | - -#### Returns - -`string` - -json-string with additional spaces after `:` and `,` - -**`Example`** - -```typescript -const result = hash.formatSpaces("{'onchain':true,'isStarknet':true}"); -// result = "{'onchain': true, 'isStarknet': true}" -``` - -#### Defined in - -[src/utils/hash/classHash.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/classHash.ts#L117) - ---- - -### computeHintedClassHash - -▸ **computeHintedClassHash**(`compiledContract`): `string` - -Compute hinted class hash for legacy compiled contract (Cairo 0) - -#### Parameters - -| Name | Type | -| :----------------- | :---------------------------------------------------------- | -| `compiledContract` | [`LegacyCompiledContract`](types.md#legacycompiledcontract) | - -#### Returns - -`string` - -hex-string - -**`Example`** - -```typescript -const compiledCairo0 = json.parse(fs.readFileSync('./cairo0contract.json').toString('ascii')); -const result = hash.computeHintedClassHash(compiledCairo0); -// result = "0x293eabb06955c0a1e55557014675aa4e7a1fd69896147382b29b2b6b166a2ac" -``` - -#### Defined in - -[src/utils/hash/classHash.ts:145](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/classHash.ts#L145) - ---- - -### computeLegacyContractClassHash - -▸ **computeLegacyContractClassHash**(`contract`): `string` - -Computes the class hash for legacy compiled contract (Cairo 0) - -#### Parameters - -| Name | Type | Description | -| :--------- | :---------------------------------------------------------------------- | :------------------------------- | -| `contract` | `string` \| [`LegacyCompiledContract`](types.md#legacycompiledcontract) | legacy compiled contract content | - -#### Returns - -`string` - -hex-string of class hash - -**`Example`** - -```typescript -const compiledCairo0 = json.parse(fs.readFileSync('./cairo0contract.json').toString('ascii')); -const result = hash.computeLegacyContractClassHash(compiledCairo0); -// result = "0x4a5cae61fa8312b0a3d0c44658b403d3e4197be80027fd5020ffcdf0c803331" -``` - -#### Defined in - -[src/utils/hash/classHash.ts:163](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/classHash.ts#L163) - ---- - -### hashByteCodeSegments - -▸ **hashByteCodeSegments**(`casm`): `bigint` - -Compute hash of the bytecode for Sierra v1.5.0 onwards (Cairo 2.6.0) -Each segment is Poseidon hashed. -The global hash is : 1 + PoseidonHash(len0, h0, len1, h1, ...) - -#### Parameters - -| Name | Type | Description | -| :----- | :---------------------------------------- | :--------------------------------- | -| `casm` | [`CairoAssembly`](types.md#cairoassembly) | compiled Sierra CASM file content. | - -#### Returns - -`bigint` - -the bytecode hash as bigint. - -**`Example`** - -```typescript -const compiledCasm = json.parse(fs.readFileSync('./contractC260.casm.json').toString('ascii')); -const result = hash.hashByteCodeSegments(compiledCasm); -// result = 80499149343908132326491548897246987792410240503053732367044713070598981699n -``` - -#### Defined in - -[src/utils/hash/classHash.ts:231](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/classHash.ts#L231) - ---- - -### computeCompiledClassHash - -▸ **computeCompiledClassHash**(`casm`): `string` - -Compute compiled class hash for contract (Cairo 1) - -#### Parameters - -| Name | Type | Description | -| :----- | :---------------------------------------- | :-------------------------------- | -| `casm` | [`CairoAssembly`](types.md#cairoassembly) | Cairo 1 compiled contract content | - -#### Returns - -`string` - -hex-string of class hash - -**`Example`** - -```typescript -const compiledCasm = json.parse(fs.readFileSync('./cairo260.casm.json').toString('ascii')); -const result = hash.computeCompiledClassHash(compiledCasm); -// result = "0x4087905743b4fa2b3affc1fc71333f1390c8c5d1e8ea47d6ba70786de3fc01a" -``` - -#### Defined in - -[src/utils/hash/classHash.ts:253](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/classHash.ts#L253) - ---- - -### computeSierraContractClassHash - -▸ **computeSierraContractClassHash**(`sierra`): `string` - -Compute sierra contract class hash (Cairo 1) - -#### Parameters - -| Name | Type | Description | -| :------- | :------------------------------------------ | :------------------------------ | -| `sierra` | [`CompiledSierra`](types.md#compiledsierra) | Cairo 1 Sierra contract content | - -#### Returns - -`string` - -hex-string of class hash - -**`Example`** - -```typescript -const compiledSierra = json.parse(fs.readFileSync('./cairo260.sierra.json').toString('ascii')); -const result = hash.computeSierraContractClassHash(compiledSierra); -// result = "0x67b6b4f02baded46f02feeed58c4f78e26c55364e59874d8abfd3532d85f1ba" -``` - -#### Defined in - -[src/utils/hash/classHash.ts:307](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/classHash.ts#L307) - ---- - -### computeContractClassHash - -▸ **computeContractClassHash**(`contract`): `string` - -Compute ClassHash (sierra or legacy) based on provided contract - -#### Parameters - -| Name | Type | Description | -| :--------- | :---------------------------------------------------------- | :----------------------- | -| `contract` | `string` \| [`CompiledContract`](types.md#compiledcontract) | Cairo 1 contract content | - -#### Returns - -`string` - -hex-string of class hash - -**`Example`** - -```typescript -const compiledSierra = json.parse(fs.readFileSync('./cairo260.sierra.json').toString('ascii')); -const result = hash.computeContractClassHash(compiledSierra); -// result = "0x67b6b4f02baded46f02feeed58c4f78e26c55364e59874d8abfd3532d85f1ba" -``` - -#### Defined in - -[src/utils/hash/classHash.ts:351](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/classHash.ts#L351) - ---- - -### computePedersenHashOnElements - -▸ **computePedersenHashOnElements**(`data`): `string` - -Compute Pedersen hash from data - -#### Parameters - -| Name | Type | Description | -| :----- | :---------------------------------------- | :---------------------------------------- | -| `data` | [`BigNumberish`](types.md#bignumberish)[] | Array of data to compute Pedersen hash on | - -#### Returns - -`string` - -hex-string of Pedersen hash - -**`Example`** - -```typescript -const result = hash.computeHashOnElements(['0xabc', '0x123', '0xabc123']); -// result = 0x148141e8f7db29d005a0187669a56f0790d7e8c2c5b2d780e4d8b9e436a5521 -``` - -#### Defined in - -[src/utils/hash/classHash.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/classHash.ts#L48) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/json.md b/www/versioned_docs/version-7.5.1/API/namespaces/json.md deleted file mode 100644 index 907325300..000000000 --- a/www/versioned_docs/version-7.5.1/API/namespaces/json.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -id: 'json' -title: 'Namespace: json' -sidebar_label: 'json' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### parse - -▸ **parse**(`str`): `any` - -Convert JSON string to JSON object - -NOTE: the String() wrapping is used so the behavior conforms to JSON.parse() -which can accept simple data types but is not represented in the default typing - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :---------- | -| `str` | `string` | JSON string | - -#### Returns - -`any` - -Parsed json object - -**`Example`** - -```typescript -const str = '[123, 12.3, 11223344556677889900]'; -const result = parse(str); -// result = [123, 12.3, 11223344556677890048n] -``` - -#### Defined in - -[src/utils/json.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/json.ts#L27) - ---- - -### parseAlwaysAsBig - -▸ **parseAlwaysAsBig**(`str`): `any` - -Convert JSON string to JSON object with all numbers as bigint - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :---------- | -| `str` | `string` | JSON string | - -#### Returns - -`any` - -Parsed json object - -**`Example`** - -```typescript -const str = '[123, 12.3, 1234567890]'; -const result = parseAlwaysAsBig(str); -// result = [123n, 12.3, 1234567890n] -``` - -#### Defined in - -[src/utils/json.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/json.ts#L41) - ---- - -### stringify - -▸ **stringify**(`value`, `replacer?`, `space?`, `numberStringifiers?`): `string` - -Convert JSON object to JSON string - -NOTE: the not-null assertion is used so the return type conforms to JSON.stringify() -which can also return undefined but is not represented in the default typing - -#### Parameters - -| Name | Type | Description | -| :-------------------- | :-------------------- | :------------------------------------------------------------------------------------------------ | -| `value` | `unknown` | JSON object | -| `replacer?` | `any` | Function that alters the behavior of the stringification process | -| `space?` | `string` \| `number` | Used to insert white space into the output JSON string | -| `numberStringifiers?` | `NumberStringifier`[] | Function used to stringify numbers (returning undefined will delete the property from the object) | - -#### Returns - -`string` - -JSON string - -**`Example`** - -```typescript -const value = [123, 12.3, 1234567890]; -const result = stringify(value); -// result = '[123,12.3,1234567890]' -``` - -#### Defined in - -[src/utils/json.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/json.ts#L62) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/outsideExecution.md b/www/versioned_docs/version-7.5.1/API/namespaces/outsideExecution.md deleted file mode 100644 index 1ab74792d..000000000 --- a/www/versioned_docs/version-7.5.1/API/namespaces/outsideExecution.md +++ /dev/null @@ -1,215 +0,0 @@ ---- -id: 'outsideExecution' -title: 'Namespace: outsideExecution' -sidebar_label: 'outsideExecution' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### toOutsideCallV2 - -▸ **toOutsideCallV2**(`call`): [`OutsideCallV2`](types.RPC.RPCSPEC08.WALLET_API.md#outsidecallv2) - -#### Parameters - -| Name | Type | -| :----- | :--------------------------------------------------------------------------------------------------------------------------------------- | -| `call` | [`OutsideCallV1`](types.RPC.RPCSPEC08.WALLET_API.md#outsidecallv1) \| [`OutsideCallV2`](types.RPC.RPCSPEC08.WALLET_API.md#outsidecallv2) | - -#### Returns - -[`OutsideCallV2`](types.RPC.RPCSPEC08.WALLET_API.md#outsidecallv2) - -#### Defined in - -[src/utils/outsideExecution.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/outsideExecution.ts#L17) - ---- - -### getOutsideCall - -▸ **getOutsideCall**(`call`): [`OutsideCall`](../interfaces/types.OutsideCall.md) - -Converts a Call object to an OutsideCall object that can be used for an Outside Execution. - -#### Parameters - -| Name | Type | Description | -| :----- | :---------------------- | :---------------------- | -| `call` | [`Call`](types.md#call) | transaction to proceed. | - -#### Returns - -[`OutsideCall`](../interfaces/types.OutsideCall.md) - -transaction formatted in conformity to SNIP-9 - -**`Example`** - -```typescript -const call1: Call = { - contractAddress: '0x0123', - entrypoint: 'transfer', - calldata: { recipient: '0xabcd', amount: cairo.uint256(10) }, -}; -const result = outsideExecution.getOutsideCall(call1); -// result = { -// to: '0x0123', -// selector: getSelectorFromName(call1.entrypoint), -// calldata: ['43981', '10', '0'], -//} -``` - -#### Defined in - -[src/utils/outsideExecution.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/outsideExecution.ts#L47) - ---- - -### getTypedData - -▸ **getTypedData**(`chainId`, `options`, `nonce`, `myCalls`, `version`): [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) - -Build a TypedData message that will be used for an Outside execution. - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------------- | :---------------------------------------------------------------------- | -| `chainId` | `string` | The encoded string of the name of network. | -| `options` | [`OutsideExecutionOptions`](../interfaces/types.OutsideExecutionOptions.md) | Parameters related to an Outside Execution. | -| `nonce` | [`BigNumberish`](types.md#bignumberish) | Outside execution nonce (not to confuse with normal transaction nonce). | -| `myCalls` | [`Call`](types.md#call)[] | transaction(s) to proceed. | -| `version` | `"0"` \| `"1"` \| `"2"` | SNIP-9 V1 or V2. | - -#### Returns - -[`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) - -SNIP-12 message conform to SNIP-9. - -**`Example`** - -```typescript -const callOptions: OutsideExecutionOptions = { - caller: '0x1234', - execute_after: 100, - execute_before: 200, -}; -const result: TypedData = outsideExecution.getTypedData( - constants.StarknetChainId.SN_SEPOLIA, - callOptions, - 21, - [call1], - EOutsideExecutionVersion.V2 -); -// result = { -// domain: { -// chainId: '0x534e5f5345504f4c4941', -// name: 'Account.execute_from_outside', -// revision: '1', -// version: '2', -// }, -// message: { -// Caller: '0x1234', -// ... -``` - -#### Defined in - -[src/utils/outsideExecution.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/outsideExecution.ts#L117) - ---- - -### buildExecuteFromOutsideCallData - -▸ **buildExecuteFromOutsideCallData**(`outsideTransaction`): [`Calldata`](types.md#calldata) - -Builds a Calldata for the execute_from_outside() entrypoint. - -#### Parameters - -| Name | Type | Description | -| :------------------- | :---------------------------------------------------------------- | :------------------------------------------------------------ | -| `outsideTransaction` | [`OutsideTransaction`](../interfaces/types.OutsideTransaction.md) | an object that contains all the data for a Outside Execution. | - -#### Returns - -[`Calldata`](types.md#calldata) - -The Calldata related to this Outside transaction - -**`Example`** - -```typescript -const outsideTransaction: OutsideTransaction = { - outsideExecution: { - caller: '0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691', - nonce: '0x7d0b4b4fce4b236e63d2bb5fc321935d52935cd3b268248cf9cf29c496bd0ae', - execute_after: 500, - execute_before: 600, - calls: [{ to: '0x678', selector: '0x890', calldata: [12, 13] }], - }, - signature: ['0x123', '0x456'], - signerAddress: '0x3b278ebae434f283f9340587a7f2dd4282658ac8e03cb9b0956db23a0a83657', - version: EOutsideExecutionVersion.V2, -}; - -const result: Calldata = outsideExecution.buildExecuteFromOutsideCallData(outsideTransaction); -// result = ['2846891009026995430665703316224827616914889274105712248413538305735679628945', -// '3534941323322368687588030484849371698982661160919690922146419787802417549486', -// '500', '600', '1', '1656', '2192', '2', '12', '13', '2', '291', '1110'] -``` - -#### Defined in - -[src/utils/outsideExecution.ts:175](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/outsideExecution.ts#L175) - ---- - -### buildExecuteFromOutsideCall - -▸ **buildExecuteFromOutsideCall**(`outsideTransaction`): [`Call`](types.md#call)[] - -Builds a Call for execute(), estimateFee() and simulateTransaction() functions. - -#### Parameters - -| Name | Type | Description | -| :------------------- | :------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------- | -| `outsideTransaction` | [`AllowArray`](types.md#allowarray)<[`OutsideTransaction`](../interfaces/types.OutsideTransaction.md)\> | an object that contains all the data for an Outside Execution. | - -#### Returns - -[`Call`](types.md#call)[] - -The Call related to this Outside transaction - -**`Example`** - -```typescript -const outsideTransaction: OutsideTransaction = { - outsideExecution: { - caller: '0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691', - nonce: '0x7d0b4b4fce4b236e63d2bb5fc321935d52935cd3b268248cf9cf29c496bd0ae', - execute_after: 500, - execute_before: 600, - calls: [{ to: '0x678', selector: '0x890', calldata: [12, 13] }], - }, - signature: ['0x123', '0x456'], - signerAddress: '0x3b278ebae434f283f9340587a7f2dd4282658ac8e03cb9b0956db23a0a83657', - version: EOutsideExecutionVersion.V2, -}; - -const result: Call[] = outsideExecution.buildExecuteFromOutsideCall(outsideTransaction); -// result = [{contractAddress: '0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691', -// entrypoint: 'execute_from_outside_v2', -// calldata: [ ... ], -// }] -``` - -#### Defined in - -[src/utils/outsideExecution.ts:209](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/outsideExecution.ts#L209) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/paymaster.md b/www/versioned_docs/version-7.5.1/API/namespaces/paymaster.md deleted file mode 100644 index 6944e0417..000000000 --- a/www/versioned_docs/version-7.5.1/API/namespaces/paymaster.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -id: 'paymaster' -title: 'Namespace: paymaster' -sidebar_label: 'paymaster' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### assertCallsAreStrictlyEqual - -▸ **assertCallsAreStrictlyEqual**(`originalCalls`, `unsafeCalls`): `void` - -Asserts that the given calls are strictly equal, otherwise throws an error. - -#### Parameters - -| Name | Type | Description | -| :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------- | :------------------ | -| `originalCalls` | [`Call`](types.md#call)[] | The original calls. | -| `unsafeCalls` | ([`OutsideCallV1`](types.RPC.RPCSPEC08.WALLET_API.md#outsidecallv1) \| [`OutsideCallV2`](types.RPC.RPCSPEC08.WALLET_API.md#outsidecallv2))[] | The unsafe calls. | - -#### Returns - -`void` - -**`Throws`** - -Throws an error if the calls are not strictly equal. - -#### Defined in - -[src/utils/paymaster.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/paymaster.ts#L67) - ---- - -### getDefaultPaymasterNodeUrl - -▸ **getDefaultPaymasterNodeUrl**(`networkName?`, `mute?`): `string` - -Return randomly select available public paymaster node url - -#### Parameters - -| Name | Type | Default value | Description | -| :------------- | :---------------------------- | :------------ | :----------------------- | -| `networkName?` | `"SN_MAIN"` \| `"SN_SEPOLIA"` | `undefined` | NetworkName | -| `mute` | `boolean` | `false` | mute public node warning | - -#### Returns - -`string` - -default node url - -#### Defined in - -[src/utils/paymaster.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/paymaster.ts#L17) - ---- - -### assertPaymasterTransactionSafety - -▸ **assertPaymasterTransactionSafety**(`preparedTransaction`, `calls`, `paymasterDetails`, `maxFeeInGasToken?`): `void` - -#### Parameters - -| Name | Type | -| :-------------------- | :------------------------------------------------------------ | -| `preparedTransaction` | [`PreparedTransaction`](types.md#preparedtransaction) | -| `calls` | [`Call`](types.md#call)[] | -| `paymasterDetails` | [`PaymasterDetails`](../interfaces/types.PaymasterDetails.md) | -| `maxFeeInGasToken?` | [`BigNumberish`](types.md#bignumberish) | - -#### Returns - -`void` - -#### Defined in - -[src/utils/paymaster.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/paymaster.ts#L133) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/provider-1.md b/www/versioned_docs/version-7.5.1/API/namespaces/provider-1.md deleted file mode 100644 index d9ac90914..000000000 --- a/www/versioned_docs/version-7.5.1/API/namespaces/provider-1.md +++ /dev/null @@ -1,191 +0,0 @@ ---- -id: 'provider-1' -title: 'Namespace: provider' -sidebar_label: 'provider' -sidebar_position: 0 -custom_edit_url: null ---- - -## Classes - -- [Block](../classes/provider-1.Block.md) - -## Variables - -### validBlockTags - -• `Const` **validBlockTags**: (`"pending"` \| `"latest"`)[] - -#### Defined in - -[src/utils/provider.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L149) - -## Functions - -### wait - -▸ **wait**(`delay`): `Promise`<`unknown`\> - -Helper - Async Sleep for 'delay' time - -#### Parameters - -| Name | Type | Description | -| :------ | :------- | :------------------------------ | -| `delay` | `number` | Number of milliseconds to delay | - -#### Returns - -`Promise`<`unknown`\> - -**`Example`** - -```typescript -await provider.wait(1000); // 1000 milliseconds == 1 second -``` - -#### Defined in - -[src/utils/provider.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L31) - ---- - -### createSierraContractClass - -▸ **createSierraContractClass**(`contract`): [`SierraContractClass`](types.md#sierracontractclass) - -Create Sierra compressed Contract Class from a given Compiled Sierra - -CompiledSierra -> SierraContractClass - -#### Parameters - -| Name | Type | Description | -| :--------- | :------------------------------------------ | :---------------------------------- | -| `contract` | [`CompiledSierra`](types.md#compiledsierra) | sierra code from the Cairo compiler | - -#### Returns - -[`SierraContractClass`](types.md#sierracontractclass) - -compressed Sierra - -**`Example`** - -```typescript -const result = provider.createSierraContractClass({ - "sierra_program": [ - "0x1", - "0x4", - "0x0", - "0x2", - "0x4", - "0x1", - "0x3b4", - "0x4c", - "0x65", - "0x52616e6765436865636b",...}) -// result = {sierra_program: 'H4sIAAAAAAAAA6x9WZbsrI7uVGqd53qgb8ZynwzYY7jDv5JAAmxHZuQ+96yq/L0jIzEINZ8axP/5j/q/+j//+z/wH9f/o/p/zPbh+Iot49+u9v8G3//rTdDhDDF4Z0MKPthQ+m+S2v6n1S//638VvdXW2PQ6RvxuDG+jiybCXKJ7Hef6ZRi9E+Q89WmKLilfqbrsL6PUCf8...} -``` - -#### Defined in - -[src/utils/provider.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L61) - ---- - -### parseContract - -▸ **parseContract**(`contract`): [`ContractClass`](types.md#contractclass) - -Create a compressed contract from a given compiled Cairo 0 & 1 contract or a string. - -#### Parameters - -| Name | Type | Description | -| :--------- | :---------------------------------------------------------- | :---------------------------------------------- | -| `contract` | `string` \| [`CompiledContract`](types.md#compiledcontract) | Compiled Cairo 0 or Cairo 1 contract, or string | - -#### Returns - -[`ContractClass`](types.md#contractclass) - -Cairo 0 or Cairo 1 compressed contract - -**`Example`** - -```typescript -const result = provider.parseContract({ - "sierra_program": [ - "0x1", - "0x4", - "0x0", - "0x2", - "0x4", - "0x1", - "0x3b4", - "0x4c", - "0x65", - "0x52616e6765436865636b",...}) -// result = {sierra_program: 'H4sIAAAAAAAAA6x9WZbsrI7uVGqd53qgb8ZynwzYY7jDv5JAAmxHZuQ+96yq/L0jIzEINZ8axP/5j/q/+j//+z/wH9f/o/p/zPbh+Iot49+u9v8G3//rTdDhDDF4Z0MKPthQ+m+S2v6n1S//638VvdXW2PQ6RvxuDG+jiybCXKJ7Hef6ZRi9E+Q89WmKLilfqbrsL6PUCf8...} -``` - -#### Defined in - -[src/utils/provider.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L91) - ---- - -### getDefaultNodes - -▸ **getDefaultNodes**(`rpcVersion`): `any` - -return Defaults RPC Nodes endpoints - -#### Parameters - -| Name | Type | -| :----------- | :--------------------- | -| `rpcVersion` | `"0.7.1"` \| `"0.8.1"` | - -#### Returns - -`any` - -#### Defined in - -[src/utils/provider.ts:134](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L134) - ---- - -### getDefaultNodeUrl - -▸ **getDefaultNodeUrl**(`networkName?`, `mute?`, `rpcVersion?`): `string` - -Return randomly select available public node - -#### Parameters - -| Name | Type | Default value | Description | -| :------------- | :---------------------------- | :------------ | :----------------------- | -| `networkName?` | `"SN_MAIN"` \| `"SN_SEPOLIA"` | `undefined` | NetworkName | -| `mute` | `boolean` | `false` | mute public node warning | -| `rpcVersion?` | `"0.7.1"` \| `"0.8.1"` | `undefined` | - | - -#### Returns - -`string` - -default node url - -**`Example`** - -```typescript -const result = provider.getDefaultNodeUrl(constants.NetworkName.SN_MAIN, false); -// console : "Using default public node url, please provide nodeUrl in provider options!" -// result = "https://starknet-mainnet.public.blastapi.io/rpc/v0_7" -``` - -#### Defined in - -[src/utils/provider.ts:116](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/provider.ts#L116) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/shortString.md b/www/versioned_docs/version-7.5.1/API/namespaces/shortString.md deleted file mode 100644 index 70ad4dcf9..000000000 --- a/www/versioned_docs/version-7.5.1/API/namespaces/shortString.md +++ /dev/null @@ -1,296 +0,0 @@ ---- -id: 'shortString' -title: 'Namespace: shortString' -sidebar_label: 'shortString' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### isASCII - -▸ **isASCII**(`str`): `boolean` - -Test if string contains only ASCII characters (string can be ascii text) - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :----------------- | -| `str` | `string` | The string to test | - -#### Returns - -`boolean` - -Returns true if the string contains only ASCII characters, otherwise false - -**`Example`** - -```typescript -const result = shortString.isASCII('Hello, world!'); -// result = true -const result = shortString.isASCII('Hello, 世界!'); -// result = false -``` - -#### Defined in - -[src/utils/shortString.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/shortString.ts#L18) - ---- - -### isShortString - -▸ **isShortString**(`str`): `boolean` - -Test if a string is a Cairo short string (string with less or equal 31 characters) - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :----------------- | -| `str` | `string` | the string to test | - -#### Returns - -`boolean` - -Returns true if the string has less than or equal to 31 characters, otherwise false. - -**`Example`** - -```typescript -const result = shortString.isShortString('Hello, world!'); -// result = true -``` - -#### Defined in - -[src/utils/shortString.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/shortString.ts#L33) - ---- - -### isDecimalString - -▸ **isDecimalString**(`str`): `boolean` - -Test if string contains only numbers (string can be converted to decimal integer number) - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :------------------ | -| `str` | `string` | the string to test. | - -#### Returns - -`boolean` - -Returns true if the string contains only numbers, otherwise false. - -**`Example`** - -```typescript -const result = shortString.isDecimalString('12345'); -// result = true -const result = shortString.isDecimalString('12a45'); -// result = false -``` - -#### Defined in - -[src/utils/shortString.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/shortString.ts#L49) - ---- - -### isText - -▸ **isText**(`val`): `boolean` - -Test if value is a pure string text, and not a hex string or number string - -#### Parameters - -| Name | Type | Description | -| :---- | :---- | :---------------- | -| `val` | `any` | the value to test | - -#### Returns - -`boolean` - -returns true if the value is a free-form string text, otherwise false - -**`Example`** - -```typescript -const result = shortString.isText('Hello, world!'); -// result = true -const result = shortString.isText('0x7aec92f706'); -// result = false -``` - -#### Defined in - -[src/utils/shortString.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/shortString.ts#L65) - ---- - -### splitLongString - -▸ **splitLongString**(`longStr`): `string`[] - -Split long text (string greater than 31 characters) into short strings (string lesser or equal 31 characters) - -#### Parameters - -| Name | Type | Description | -| :-------- | :------- | :--------------------------------------------------------- | -| `longStr` | `string` | the long text (string greater than 31 characters) to split | - -#### Returns - -`string`[] - -an array of short strings (string lesser or equal 31 characters). - -**`Example`** - -```typescript -const result = shortString.splitLongString( - 'Hello, world! we just testing splitLongString function.' -); -// result = [ 'Hello, world! we just testing s', 'plitLongString function.' ] -``` - -#### Defined in - -[src/utils/shortString.ts:103](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/shortString.ts#L103) - ---- - -### encodeShortString - -▸ **encodeShortString**(`str`): `string` - -Convert an ASCII short string to a hexadecimal string. - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :--------------------------------------------- | -| `str` | `string` | short string (ASCII string, 31 characters max) | - -#### Returns - -`string` - -hex-string with 248 bits max - -**`Example`** - -```typescript -const result = shortString.encodeShortString('uri/pict/t38.jpg'); -// result = "0x7572692f706963742f7433382e6a7067" -``` - -#### Defined in - -[src/utils/shortString.ts:118](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/shortString.ts#L118) - ---- - -### decodeShortString - -▸ **decodeShortString**(`str`): `string` - -Convert a hexadecimal or decimal string to an ASCII string. - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :----------------------------------------------------------------------------- | -| `str` | `string` | representing a 248 bit max number (ex. "0x1A4F64EA56" or "236942575435676423") | - -#### Returns - -`string` - -short string; 31 characters max - -**`Example`** - -```typescript -const result = shortString.decodeShortString('0x7572692f706963742f7433382e6a7067'); -// result = "uri/pict/t38.jpg" -``` - -#### Defined in - -[src/utils/shortString.ts:134](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/shortString.ts#L134) - ---- - -### isShortText - -▸ **isShortText**(`val`): `boolean` - -Test if value is short text - -#### Parameters - -| Name | Type | Description | -| :---- | :---- | :--------------- | -| `val` | `any` | The item to test | - -#### Returns - -`boolean` - -Returns true if the value is a short text (string has less or equal 31 characters), otherwise false - -**`Example`** - -```typescript -const result = shortString.isShortText('Hello, world!'); -// result = true -``` - -#### Defined in - -[src/utils/shortString.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/shortString.ts#L79) - ---- - -### isLongText - -▸ **isLongText**(`val`): `boolean` - -Test if value is long text - -#### Parameters - -| Name | Type | Description | -| :---- | :---- | :---------------- | -| `val` | `any` | the value to test | - -#### Returns - -`boolean` - -returns true if the value is a long text(string has more than 31 characters), otherwise false. - -**`Example`** - -```typescript -const result = shortString.isLongText( - 'Hello, world! this is some random long string to enable you test isLongText function.' -); -// result = true -``` - -#### Defined in - -[src/utils/shortString.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/shortString.ts#L91) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/starknetId.md b/www/versioned_docs/version-7.5.1/API/namespaces/starknetId.md deleted file mode 100644 index 7e69fd24c..000000000 --- a/www/versioned_docs/version-7.5.1/API/namespaces/starknetId.md +++ /dev/null @@ -1,522 +0,0 @@ ---- -id: 'starknetId' -title: 'Namespace: starknetId' -sidebar_label: 'starknetId' -sidebar_position: 0 -custom_edit_url: null ---- - -## Variables - -### StarknetIdContract - -• `Const` **StarknetIdContract**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :-------------------------------------------------------------------- | -| `MAINNET` | `"0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678"` | -| `TESTNET_SEPOLIA` | `"0x154bc2e1af9260b9e66af0e9c46fc757ff893b3ff6a85718a810baf1474"` | - -#### Defined in - -[src/utils/starknetId.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L127) - ---- - -### StarknetIdIdentityContract - -• `Const` **StarknetIdIdentityContract**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :--------------------------------------------------------------------- | -| `MAINNET` | `"0x05dbdedc203e92749e2e746e2d40a768d966bd243df04a6b712e222bc040a9af"` | -| `TESTNET_SEPOLIA` | `"0x3697660a0981d734780731949ecb2b4a38d6a58fc41629ed611e8defda"` | - -#### Defined in - -[src/utils/starknetId.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L157) - ---- - -### StarknetIdMulticallContract - -• `Const` **StarknetIdMulticallContract**: `"0x034ffb8f4452df7a613a0210824d6414dbadcddce6c6e19bf4ddc9e22ce5f970"` - -#### Defined in - -[src/utils/starknetId.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L189) - ---- - -### StarknetIdVerifierContract - -• `Const` **StarknetIdVerifierContract**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :--------------------------------------------------------------------- | -| `MAINNET` | `"0x07d14dfd8ee95b41fce179170d88ba1f0d5a512e13aeb232f19cfeec0a88f8bf"` | -| `TESTNET_SEPOLIA` | `"0x60B94fEDe525f815AE5E8377A463e121C787cCCf3a36358Aa9B18c12c4D566"` | - -#### Defined in - -[src/utils/starknetId.ts:217](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L217) - ---- - -### StarknetIdPfpContract - -• `Const` **StarknetIdPfpContract**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :--------------------------------------------------------------------- | -| `MAINNET` | `"0x070aaa20ec4a46da57c932d9fd89ca5e6bb9ca3188d3df361a32306aff7d59c7"` | -| `TESTNET_SEPOLIA` | `"0x9e7bdb8dabd02ea8cfc23b1d1c5278e46490f193f87516ed5ff2dfec02"` | - -#### Defined in - -[src/utils/starknetId.ts:247](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L247) - ---- - -### StarknetIdPopContract - -• `Const` **StarknetIdPopContract**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :--------------------------------------------------------------------- | -| `MAINNET` | `"0x0293eb2ba9862f762bd3036586d5755a782bd22e6f5028320f1d0405fd47bff4"` | -| `TESTNET_SEPOLIA` | `"0x15ae88ae054caa74090b89025c1595683f12edf7a4ed2ad0274de3e1d4a"` | - -#### Defined in - -[src/utils/starknetId.ts:279](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L279) - -## Functions - -### useDecoded - -▸ **useDecoded**(`encoded`): `string` - -Decodes an array of BigInts into a string using the given algorithm. - -#### Parameters - -| Name | Type | Description | -| :-------- | :--------- | :---------------------------- | -| `encoded` | `bigint`[] | The encoded array of BigInts. | - -#### Returns - -`string` - -The decoded string. - -**`Example`** - -```typescript -const result = starknetId.useDecoded([3015206943634620n]); -// result = "starknetjs.stark" -``` - -#### Defined in - -[src/utils/starknetId.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L33) - ---- - -### useEncoded - -▸ **useEncoded**(`decoded`): `bigint` - -Encodes a string into a bigint value. - -#### Parameters - -| Name | Type | Description | -| :-------- | :------- | :------------------------ | -| `decoded` | `string` | The string to be encoded. | - -#### Returns - -`bigint` - -The encoded bigint value. - -**`Example`** - -```typescript -const result = starknetId.useEncoded('starknet.js'); -// result = 3015206943634620n -``` - -#### Defined in - -[src/utils/starknetId.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L85) - ---- - -### getStarknetIdContract - -▸ **getStarknetIdContract**(`chainId`): `string` - -Returns the Starknet ID contract address based on the provided chain ID. - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------- | :------------------------------------ | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | The chain ID of the Starknet network. | - -#### Returns - -`string` - -The Starknet ID contract address. - -**`Throws`** - -Throws an error if the Starknet ID contract is not deployed on the network. - -**`Example`** - -```typescript -const result = starknetId.getStarknetIdContract(constants.StarknetChainId.SN_SEPOLIA); -// result = "0x154bc2e1af9260b9e66af0e9c46fc757ff893b3ff6a85718a810baf1474" -``` - -#### Defined in - -[src/utils/starknetId.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L144) - ---- - -### getStarknetIdIdentityContract - -▸ **getStarknetIdIdentityContract**(`chainId`): `string` - -Returns the Starknet ID identity contract address for the given chain ID. - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------- | :-------------------------------------- | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | The chain ID for the specified network. | - -#### Returns - -`string` - -The Starknet ID identity contract address for the specified network. - -**`Throws`** - -If the Starknet ID verifier contract is not deployed on the network. - -**`Example`** - -```typescript -const result = starknetId.getStarknetIdIdentityContract(constants.StarknetChainId.SN_SEPOLIA); -// result = "0x3697660a0981d734780731949ecb2b4a38d6a58fc41629ed611e8defda" -``` - -#### Defined in - -[src/utils/starknetId.ts:176](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L176) - ---- - -### getStarknetIdMulticallContract - -▸ **getStarknetIdMulticallContract**(`chainId`): `string` - -Returns the Starknet.id multicall contract address based on the provided chainId. - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------- | :-------------------------- | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | The chainId of the network. | - -#### Returns - -`string` - -- The address of the Starknet.id multicall contract. - -**`Throws`** - -- If the Starknet.id multicall contract is not deployed on the network. - -**`Example`** - -```typescript -const result = starknetId.getStarknetIdMulticallContract(constants.StarknetChainId.SN_SEPOLIA); -// result = "0x034ffb8f4452df7a613a0210824d6414dbadcddce6c6e19bf4ddc9e22ce5f970" -``` - -#### Defined in - -[src/utils/starknetId.ts:204](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L204) - ---- - -### getStarknetIdVerifierContract - -▸ **getStarknetIdVerifierContract**(`chainId`): `string` - -Returns the address of the Starknet ID Verifier contract based on the specified chain ID. - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------- | :---------------------------- | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | The ID of the Starknet chain. | - -#### Returns - -`string` - -- The address of the Starknet ID Verifier contract. - -**`Throws`** - -- If the Starknet ID Verifier contract is not deployed on the specified network. - -**`Example`** - -```typescript -const result = starknetId.getStarknetIdVerifierContract(constants.StarknetChainId.SN_SEPOLIA); -// result = "0x60B94fEDe525f815AE5E8377A463e121C787cCCf3a36358Aa9B18c12c4D566" -``` - -#### Defined in - -[src/utils/starknetId.ts:234](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L234) - ---- - -### getStarknetIdPfpContract - -▸ **getStarknetIdPfpContract**(`chainId`): `string` - -Retrieves the contract address of the Starknet.id profile picture verifier contract based on the given chain ID. - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------- | :--------------------------- | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | The chain ID of the network. | - -#### Returns - -`string` - -- The contract address of the Starknet.id profile picture verifier contract. - -**`Throws`** - -- Throws an error if the Starknet.id profile picture verifier contract is not yet deployed on the network. - -**`Example`** - -```typescript -const result = starknetId.getStarknetIdPfpContract(constants.StarknetChainId.SN_SEPOLIA); -// result = "0x9e7bdb8dabd02ea8cfc23b1d1c5278e46490f193f87516ed5ff2dfec02" -``` - -#### Defined in - -[src/utils/starknetId.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L264) - ---- - -### getStarknetIdPopContract - -▸ **getStarknetIdPopContract**(`chainId`): `string` - -Retrieves the Starknet ID Proof of Personhood (IdPop) verifier contract address for the given chain ID. - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------- | :------------------------------------ | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | The chain ID of the Starknet network. | - -#### Returns - -`string` - -- The Starknet ID Pop contract address. - -**`Throws`** - -- If the Starknet ID Pop contract is not deployed on the specified network. - -**`Example`** - -```typescript -const result = starknetId.getStarknetIdPopContract(constants.StarknetChainId.SN_SEPOLIA); -// result = "0x15ae88ae054caa74090b89025c1595683f12edf7a4ed2ad0274de3e1d4a" -``` - -#### Defined in - -[src/utils/starknetId.ts:296](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L296) - ---- - -### execution - -▸ **execution**(`staticEx?`, `ifEqual?`, `ifNotEqual?`): [`CairoCustomEnum`](../classes/CairoCustomEnum.md) - -Returns a CairoCustomEnum object. - -Functions to build CairoCustomEnum for multiCall contracts - -#### Parameters - -| Name | Type | Default value | Description | -| :------------ | :--------- | :------------ | :------------------------------------------------------------------------ | -| `staticEx?` | `Object` | `undefined` | An optional object defining the "Static" value of the CairoCustomEnum. | -| `ifEqual?` | `number`[] | `undefined` | An optional array defining the "IfEqual" value of the CairoCustomEnum. | -| `ifNotEqual?` | `number`[] | `undefined` | An optional array defining the "IfNotEqual" value of the CairoCustomEnum. | - -#### Returns - -[`CairoCustomEnum`](../classes/CairoCustomEnum.md) - -- The created CairoCustomEnum object. - -**`Example`** - -```typescript -const result: CairoCustomEnum = starknetId.execution(undefined, [1, 2, 3], undefined); -// result = CairoCustomEnum { -// variant: { -// Static: undefined, -// IfEqual: { '0': 1, '1': 2, '2': 3 }, -// IfNotEqual: undefined -// } -// } -``` - -#### Defined in - -[src/utils/starknetId.ts:331](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L331) - ---- - -### dynamicFelt - -▸ **dynamicFelt**(`hardcoded?`, `reference?`): [`CairoCustomEnum`](../classes/CairoCustomEnum.md) - -Creates a new instance of CairoCustomEnum. - -#### Parameters - -| Name | Type | Default value | Description | -| :----------- | :-------------------------------------- | :------------ | :------------------------------------------- | -| `hardcoded?` | [`BigNumberish`](types.md#bignumberish) | `undefined` | The hardcoded value for the CairoCustomEnum. | -| `reference?` | `number`[] | `undefined` | The reference array for the CairoCustomEnum. | - -#### Returns - -[`CairoCustomEnum`](../classes/CairoCustomEnum.md) - -The new instance of CairoCustomEnum. - -**`Example`** - -```typescript -const result: CairoCustomEnum = starknetId.dynamicFelt(undefined, [1, 2]); -// result = CairoCustomEnum { -// variant: { Hardcoded: undefined, Reference: { '0': 1, '1': 2 } } -// } -``` - -#### Defined in - -[src/utils/starknetId.ts:357](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L357) - ---- - -### dynamicCallData - -▸ **dynamicCallData**(`hardcoded?`, `reference?`, `arrayReference?`): [`CairoCustomEnum`](../classes/CairoCustomEnum.md) - -Creates a new instance of CairoCustomEnum with the given parameters. - -#### Parameters - -| Name | Type | Default value | Description | -| :---------------- | :---------------------------------------- | :------------ | :------------------------------------ | -| `hardcoded?` | [`BigNumberish`](types.md#bignumberish) | `undefined` | The hardcoded value. | -| `reference?` | [`BigNumberish`](types.md#bignumberish)[] | `undefined` | The reference value (optional). | -| `arrayReference?` | [`BigNumberish`](types.md#bignumberish)[] | `undefined` | The array reference value (optional). | - -#### Returns - -[`CairoCustomEnum`](../classes/CairoCustomEnum.md) - -The new instance of CairoCustomEnum. - -**`Example`** - -```typescript -const result: CairoCustomEnum = starknetId.dynamicCallData(undefined, [1, 2], undefined); -// result = CairoCustomEnum { -// variant: { -// Hardcoded: undefined, -// Reference: { '0': 1, '1': 2 }, -// ArrayReference: undefined -// } -// } -``` - -#### Defined in - -[src/utils/starknetId.ts:385](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L385) - ---- - -### isStarkDomain - -▸ **isStarkDomain**(`domain`): `boolean` - -Check if a given string is a valid Starknet.id domain. - -#### Parameters - -| Name | Type | Description | -| :------- | :------- | :----------------------------- | -| `domain` | `string` | The domain string to validate. | - -#### Returns - -`boolean` - -- True if the domain is a valid Starknet.id domain, false otherwise. - -**`Example`** - -```typescript -const result = starknetId.isStarkDomain('example.stark'); -// result = true - -const result2 = starknetId.isStarkDomain('invalid-domain'); -// result2 = false -``` - -#### Defined in - -[src/utils/starknetId.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/starknetId.ts#L411) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/types.md b/www/versioned_docs/version-7.5.1/API/namespaces/types.md deleted file mode 100644 index 0322ba037..000000000 --- a/www/versioned_docs/version-7.5.1/API/namespaces/types.md +++ /dev/null @@ -1,3527 +0,0 @@ ---- -id: 'types' -title: 'Namespace: types' -sidebar_label: 'types' -sidebar_position: 0 -custom_edit_url: null ---- - -## Namespaces - -- [RPC](types.RPC.md) - -## Interfaces - -- [Uint256](../interfaces/types.Uint256.md) -- [Uint512](../interfaces/types.Uint512.md) -- [Program](../interfaces/types.Program.md) -- [ProviderOptions](../interfaces/types.ProviderOptions.md) -- [EstimateFee](../interfaces/types.EstimateFee.md) -- [UniversalDetails](../interfaces/types.UniversalDetails.md) -- [PaymasterDetails](../interfaces/types.PaymasterDetails.md) -- [EstimateFeeDetails](../interfaces/types.EstimateFeeDetails.md) -- [DeployContractResponse](../interfaces/types.DeployContractResponse.md) -- [OutsideExecutionOptions](../interfaces/types.OutsideExecutionOptions.md) -- [OutsideCall](../interfaces/types.OutsideCall.md) -- [OutsideExecution](../interfaces/types.OutsideExecution.md) -- [OutsideTransaction](../interfaces/types.OutsideTransaction.md) -- [PaymasterOptions](../interfaces/types.PaymasterOptions.md) -- [TokenData](../interfaces/types.TokenData.md) -- [PaymasterTimeBounds](../interfaces/types.PaymasterTimeBounds.md) - -## References - -### TypedDataRevision - -Re-exports [TypedDataRevision](types.RPC.RPCSPEC07.WALLET_API.md#typeddatarevision-1) - ---- - -### StarknetEnumType - -Re-exports [StarknetEnumType](types.RPC.RPCSPEC07.WALLET_API.md#starknetenumtype) - ---- - -### StarknetMerkleType - -Re-exports [StarknetMerkleType](types.RPC.RPCSPEC07.WALLET_API.md#starknetmerkletype) - ---- - -### StarknetType - -Re-exports [StarknetType](types.RPC.RPCSPEC07.WALLET_API.md#starknettype) - ---- - -### StarknetDomain - -Re-exports [StarknetDomain](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetDomain.md) - ---- - -### TypedData - -Re-exports [TypedData](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) - -## Type Aliases - -### WeierstrassSignatureType - -Ƭ **WeierstrassSignatureType**: [`SignatureType`](../interfaces/ec.weierstrass.SignatureType.md) - -#### Defined in - -[src/types/lib/index.ts:10](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L10) - ---- - -### ArraySignatureType - -Ƭ **ArraySignatureType**: `string`[] - -#### Defined in - -[src/types/lib/index.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L11) - ---- - -### Signature - -Ƭ **Signature**: [`ArraySignatureType`](types.md#arraysignaturetype) \| [`WeierstrassSignatureType`](types.md#weierstrasssignaturetype) - -#### Defined in - -[src/types/lib/index.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L12) - ---- - -### BigNumberish - -Ƭ **BigNumberish**: `string` \| `number` \| `bigint` - -#### Defined in - -[src/types/lib/index.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L14) - ---- - -### ByteArray - -Ƭ **ByteArray**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :---------------------------------------- | -| `data` | [`BigNumberish`](types.md#bignumberish)[] | -| `pending_word` | [`BigNumberish`](types.md#bignumberish) | -| `pending_word_len` | [`BigNumberish`](types.md#bignumberish) | - -#### Defined in - -[src/types/lib/index.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L16) - ---- - -### Calldata - -Ƭ **Calldata**: `string`[] & \{ `__compiled__?`: `true` } - -Compiled calldata ready to be sent - -decimal-string array - -#### Defined in - -[src/types/lib/index.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L27) - ---- - -### RawCalldata - -Ƭ **RawCalldata**: [`BigNumberish`](types.md#bignumberish)[] - -BigNumberish array - -use CallData.compile() to convert to Calldata - -#### Defined in - -[src/types/lib/index.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L56) - ---- - -### HexCalldata - -Ƭ **HexCalldata**: `string`[] - -Hexadecimal-string array - -#### Defined in - -[src/types/lib/index.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L61) - ---- - -### AllowArray - -Ƭ **AllowArray**<`T`\>: `T` \| `T`[] - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Defined in - -[src/types/lib/index.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L63) - ---- - -### OptionalPayload - -Ƭ **OptionalPayload**<`T`\>: \{ `payload`: `T` } \| `T` - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Defined in - -[src/types/lib/index.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L65) - ---- - -### RawArgs - -Ƭ **RawArgs**: [`RawArgsObject`](types.md#rawargsobject) \| [`RawArgsArray`](types.md#rawargsarray) - -#### Defined in - -[src/types/lib/index.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L67) - ---- - -### RawArgsObject - -Ƭ **RawArgsObject**: `Object` - -#### Index signature - -▪ [inputName: `string`]: [`MultiType`](types.md#multitype) \| [`MultiType`](types.md#multitype)[] \| [`RawArgs`](types.md#rawargs) - -#### Defined in - -[src/types/lib/index.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L69) - ---- - -### RawArgsArray - -Ƭ **RawArgsArray**: ([`MultiType`](types.md#multitype) \| [`MultiType`](types.md#multitype)[] \| [`RawArgs`](types.md#rawargs))[] - -#### Defined in - -[src/types/lib/index.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L73) - ---- - -### MultiType - -Ƭ **MultiType**: [`BigNumberish`](types.md#bignumberish) \| [`Uint256`](../interfaces/types.Uint256.md) \| `object` \| `boolean` \| [`CairoEnum`](types.md#cairoenum) - -#### Defined in - -[src/types/lib/index.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L75) - ---- - -### UniversalDeployerContractPayload - -Ƭ **UniversalDeployerContractPayload**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------------- | :-------------------------------------- | -| `classHash` | [`BigNumberish`](types.md#bignumberish) | -| `salt?` | `string` | -| `unique?` | `boolean` | -| `constructorCalldata?` | [`RawArgs`](types.md#rawargs) | - -#### Defined in - -[src/types/lib/index.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L77) - ---- - -### DeployAccountContractPayload - -Ƭ **DeployAccountContractPayload**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------------- | :-------------------------------------- | -| `classHash` | `string` | -| `constructorCalldata?` | [`RawArgs`](types.md#rawargs) | -| `addressSalt?` | [`BigNumberish`](types.md#bignumberish) | -| `contractAddress?` | `string` | - -#### Defined in - -[src/types/lib/index.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L84) - ---- - -### DeployAccountContractTransaction - -Ƭ **DeployAccountContractTransaction**: `Omit`<[`DeployAccountContractPayload`](types.md#deployaccountcontractpayload), `"contractAddress"`\> & \{ `signature?`: [`Signature`](types.md#signature) } - -#### Defined in - -[src/types/lib/index.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L91) - ---- - -### DeclareContractPayload - -Ƭ **DeclareContractPayload**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------- | :---------------------------------------------------------- | -| `contract` | [`CompiledContract`](types.md#compiledcontract) \| `string` | -| `classHash?` | `string` | -| `casm?` | [`CompiledSierraCasm`](types.md#compiledsierracasm) | -| `compiledClassHash?` | `string` | - -#### Defined in - -[src/types/lib/index.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L98) - ---- - -### ContractClassIdentifier - -Ƭ **ContractClassIdentifier**: [`DeclareContractPayload`](types.md#declarecontractpayload) \| \{ `classHash`: `string` } - -DeclareContractPayload with classHash or contract defined - -#### Defined in - -[src/types/lib/index.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L108) - ---- - -### CompleteDeclareContractPayload - -Ƭ **CompleteDeclareContractPayload**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------- | :---------------------------------------------------------- | -| `contract` | [`CompiledContract`](types.md#compiledcontract) \| `string` | -| `classHash` | `string` | -| `casm?` | [`CompiledSierraCasm`](types.md#compiledsierracasm) | -| `compiledClassHash?` | `string` | - -#### Defined in - -[src/types/lib/index.ts:110](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L110) - ---- - -### DeclareAndDeployContractPayload - -Ƭ **DeclareAndDeployContractPayload**: `Omit`<[`UniversalDeployerContractPayload`](types.md#universaldeployercontractpayload), `"classHash"`\> & [`DeclareContractPayload`](types.md#declarecontractpayload) - -#### Defined in - -[src/types/lib/index.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L117) - ---- - -### DeclareContractTransaction - -Ƭ **DeclareContractTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------- | :---------------------------------------- | -| `contract` | [`ContractClass`](types.md#contractclass) | -| `senderAddress` | `string` | -| `signature?` | [`Signature`](types.md#signature) | -| `compiledClassHash?` | `string` | - -#### Defined in - -[src/types/lib/index.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L120) - ---- - -### CallDetails - -Ƭ **CallDetails**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :--------------------------------------------------------------- | -| `contractAddress` | `string` | -| `calldata?` | [`RawArgs`](types.md#rawargs) \| [`Calldata`](types.md#calldata) | -| `entrypoint?` | `string` | - -#### Defined in - -[src/types/lib/index.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L127) - ---- - -### Invocation - -Ƭ **Invocation**: [`CallDetails`](types.md#calldetails) & \{ `signature?`: [`Signature`](types.md#signature) } - -#### Defined in - -[src/types/lib/index.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L133) - ---- - -### Call - -Ƭ **Call**: [`CallDetails`](types.md#calldetails) & \{ `entrypoint`: `string` } - -#### Defined in - -[src/types/lib/index.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L135) - ---- - -### CairoVersion - -Ƭ **CairoVersion**: `"0"` \| `"1"` \| `undefined` - -#### Defined in - -[src/types/lib/index.ts:137](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L137) - ---- - -### CompilerVersion - -Ƭ **CompilerVersion**: `"0"` \| `"1"` \| `"2"` \| `undefined` - -#### Defined in - -[src/types/lib/index.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L138) - ---- - -### InvocationsDetails - -Ƭ **InvocationsDetails**: \{ `nonce?`: [`BigNumberish`](types.md#bignumberish) ; `maxFee?`: [`BigNumberish`](types.md#bignumberish) ; `version?`: [`BigNumberish`](types.md#bignumberish) } & `Partial`<[`V3TransactionDetails`](types.md#v3transactiondetails)\> - -#### Defined in - -[src/types/lib/index.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L140) - ---- - -### V3TransactionDetails - -Ƭ **V3TransactionDetails**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------------- | :---------------------------------------------------------------------------- | -| `nonce` | [`BigNumberish`](types.md#bignumberish) | -| `version` | [`BigNumberish`](types.md#bignumberish) | -| `resourceBounds` | [`ResourceBounds`](types.md#resourcebounds) | -| `tip` | [`BigNumberish`](types.md#bignumberish) | -| `paymasterData` | [`BigNumberish`](types.md#bignumberish)[] | -| `accountDeploymentData` | [`BigNumberish`](types.md#bignumberish)[] | -| `nonceDataAvailabilityMode` | [`EDataAvailabilityMode`](types.RPC.RPCSPEC08.API.md#edataavailabilitymode-1) | -| `feeDataAvailabilityMode` | [`EDataAvailabilityMode`](types.RPC.RPCSPEC08.API.md#edataavailabilitymode-1) | - -#### Defined in - -[src/types/lib/index.ts:146](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L146) - ---- - -### Details - -Ƭ **Details**: `Object` - -Contain all additional details params - -#### Type declaration - -| Name | Type | -| :-------- | :-------------------------------------------------- | -| `nonce` | [`BigNumberish`](types.md#bignumberish) | -| `maxFee` | [`BigNumberish`](types.md#bignumberish) | -| `version` | [`BigNumberish`](types.md#bignumberish) | -| `chainId` | [`StarknetChainId`](constants.md#starknetchainid-1) | - -#### Defined in - -[src/types/lib/index.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L160) - ---- - -### InvocationsDetailsWithNonce - -Ƭ **InvocationsDetailsWithNonce**: [`InvocationsDetails`](types.md#invocationsdetails) & \{ `nonce`: [`BigNumberish`](types.md#bignumberish) } \| [`V3TransactionDetails`](types.md#v3transactiondetails) - -#### Defined in - -[src/types/lib/index.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L167) - ---- - -### TransactionType - -Ƭ **TransactionType**: `ValuesType` - -#### Defined in - -[src/types/lib/index.ts:171](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L171) - -[src/types/lib/index.ts:178](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L178) - ---- - -### TransactionFinalityStatus - -Ƭ **TransactionFinalityStatus**: `ValuesType` - -#### Defined in - -[src/types/lib/index.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L195) - -[src/types/lib/index.ts:202](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L202) - ---- - -### TransactionExecutionStatus - -Ƭ **TransactionExecutionStatus**: `ValuesType` - -#### Defined in - -[src/types/lib/index.ts:204](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L204) - -[src/types/lib/index.ts:210](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L210) - ---- - -### BlockStatus - -Ƭ **BlockStatus**: `ValuesType` - -#### Defined in - -[src/types/lib/index.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L212) - -[src/types/lib/index.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L219) - ---- - -### BlockTag - -Ƭ **BlockTag**: `ValuesType` - -#### Defined in - -[src/types/lib/index.ts:221](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L221) - -[src/types/lib/index.ts:226](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L226) - ---- - -### BlockNumber - -Ƭ **BlockNumber**: [`BlockTag`](types.md#blocktag-1) \| `null` \| `number` - -#### Defined in - -[src/types/lib/index.ts:228](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L228) - ---- - -### BlockIdentifier - -Ƭ **BlockIdentifier**: [`BlockNumber`](types.md#blocknumber) \| [`BigNumberish`](types.md#bignumberish) - -hex string and BigInt are detected as block hashes - -decimal string and number are detected as block numbers - -text string are detected as block tag - -null return 'pending' block tag - -#### Defined in - -[src/types/lib/index.ts:239](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L239) - ---- - -### SubscriptionBlockIdentifier - -Ƭ **SubscriptionBlockIdentifier**: [`SUBSCRIPTION_BLOCK_TAG`](types.RPC.RPCSPEC08.API.md#subscription_block_tag) \| `string` & {} \| `number` \| `bigint` - -#### Defined in - -[src/types/lib/index.ts:241](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L241) - ---- - -### AccountInvocationItem - -Ƭ **AccountInvocationItem**: \{ `type`: typeof [`DECLARE`](types.md#declare) } & [`DeclareContractTransaction`](types.md#declarecontracttransaction) \| \{ `type`: typeof [`DEPLOY_ACCOUNT`](types.md#deploy_account) } & [`DeployAccountContractTransaction`](types.md#deployaccountcontracttransaction) \| \{ `type`: typeof [`INVOKE`](types.md#invoke) } & [`Invocation`](types.md#invocation) & [`InvocationsDetailsWithNonce`](types.md#invocationsdetailswithnonce) - -items used by AccountInvocations - -#### Defined in - -[src/types/lib/index.ts:246](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L246) - ---- - -### AccountInvocations - -Ƭ **AccountInvocations**: [`AccountInvocationItem`](types.md#accountinvocationitem)[] - -Complete invocations array with account details (internal type from account -> provider) - -#### Defined in - -[src/types/lib/index.ts:256](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L256) - ---- - -### Invocations - -Ƭ **Invocations**: (\{ `type`: typeof [`DECLARE`](types.md#declare) } & [`OptionalPayload`](types.md#optionalpayload)<[`DeclareContractPayload`](types.md#declarecontractpayload)\> \| \{ `type`: typeof [`DEPLOY`](types.md#deploy) } & [`OptionalPayload`](types.md#optionalpayload)<[`AllowArray`](types.md#allowarray)<[`UniversalDeployerContractPayload`](types.md#universaldeployercontractpayload)\>\> \| \{ `type`: typeof [`DEPLOY_ACCOUNT`](types.md#deploy_account) } & [`OptionalPayload`](types.md#optionalpayload)<[`DeployAccountContractPayload`](types.md#deployaccountcontractpayload)\> \| \{ `type`: typeof [`INVOKE`](types.md#invoke) } & [`OptionalPayload`](types.md#optionalpayload)<[`AllowArray`](types.md#allowarray)<[`Call`](types.md#call)\>\>)[] - -Invocations array user provide to bulk method (simulate) - -#### Defined in - -[src/types/lib/index.ts:261](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L261) - ---- - -### Tupled - -Ƭ **Tupled**: `Object` - -#### Type declaration - -| Name | Type | -| :-------- | :------- | -| `element` | `any` | -| `type` | `string` | - -#### Defined in - -[src/types/lib/index.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L272) - ---- - -### Args - -Ƭ **Args**: `Object` - -#### Index signature - -▪ [inputName: `string`]: [`BigNumberish`](types.md#bignumberish) \| [`BigNumberish`](types.md#bignumberish)[] \| [`ParsedStruct`](types.md#parsedstruct) \| [`ParsedStruct`](types.md#parsedstruct)[] - -#### Defined in - -[src/types/lib/index.ts:274](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L274) - ---- - -### ParsedStruct - -Ƭ **ParsedStruct**: `Object` - -#### Index signature - -▪ [key: `string`]: [`BigNumberish`](types.md#bignumberish) \| [`BigNumberish`](types.md#bignumberish)[] \| [`ParsedStruct`](types.md#parsedstruct) \| [`Uint256`](../interfaces/types.Uint256.md) - -#### Defined in - -[src/types/lib/index.ts:277](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L277) - ---- - -### waitForTransactionOptions - -Ƭ **waitForTransactionOptions**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------- | -| `retryInterval?` | `number` | -| `successStates?` | ([`TransactionFinalityStatus`](types.md#transactionfinalitystatus-1) \| [`TransactionExecutionStatus`](types.md#transactionexecutionstatus-1))[] | -| `errorStates?` | ([`TransactionFinalityStatus`](types.md#transactionfinalitystatus-1) \| [`TransactionExecutionStatus`](types.md#transactionexecutionstatus-1))[] | - -#### Defined in - -[src/types/lib/index.ts:281](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L281) - ---- - -### getSimulateTransactionOptions - -Ƭ **getSimulateTransactionOptions**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :-------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](types.md#blockidentifier) | -| `skipValidate?` | `boolean` | -| `skipExecute?` | `boolean` | -| `skipFeeCharge?` | `boolean` | - -#### Defined in - -[src/types/lib/index.ts:287](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L287) - ---- - -### getContractVersionOptions - -Ƭ **getContractVersionOptions**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :-------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](types.md#blockidentifier) | -| `compiler?` | `boolean` | - -#### Defined in - -[src/types/lib/index.ts:294](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L294) - ---- - -### getEstimateFeeBulkOptions - -Ƭ **getEstimateFeeBulkOptions**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :-------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](types.md#blockidentifier) | -| `skipValidate?` | `boolean` | - -#### Defined in - -[src/types/lib/index.ts:299](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L299) - ---- - -### ContractVersion - -Ƭ **ContractVersion**: `Object` - -Represent Contract version - -#### Type declaration - -| Name | Type | Description | -| :--------- | :-------------------------------------------- | :--------------------------------------------------------- | -| `cairo` | [`CairoVersion`](types.md#cairoversion) | version of the cairo language | -| `compiler` | [`CompilerVersion`](types.md#compilerversion) | version of the cairo compiler used to compile the contract | - -#### Defined in - -[src/types/lib/index.ts:307](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L307) - ---- - -### ContractClass - -Ƭ **ContractClass**: [`LegacyContractClass`](types.md#legacycontractclass) \| [`SierraContractClass`](types.md#sierracontractclass) - -format produced after compressing compiled contract - -CompressedCompiledContract - -#### Defined in - -[src/types/lib/contract/index.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/index.ts#L11) - ---- - -### CompiledContract - -Ƭ **CompiledContract**: [`LegacyCompiledContract`](types.md#legacycompiledcontract) \| [`CompiledSierra`](types.md#compiledsierra) - -format produced after compile .cairo to .json - -#### Defined in - -[src/types/lib/contract/index.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/index.ts#L16) - ---- - -### CairoContract - -Ƭ **CairoContract**: [`ContractClass`](types.md#contractclass) \| [`CompiledContract`](types.md#compiledcontract) - -Compressed or decompressed Cairo0 or Cairo1 Contract - -#### Defined in - -[src/types/lib/contract/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/index.ts#L21) - ---- - -### EntryPointType - -Ƭ **EntryPointType**: `ValuesType` - -#### Defined in - -[src/types/lib/contract/index.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/index.ts#L24) - -[src/types/lib/contract/index.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/index.ts#L30) - ---- - -### Abi - -Ƭ **Abi**: `ReadonlyArray`<[`FunctionAbi`](types.md#functionabi) \| [`AbiEvent`](types.md#abievent) \| [`AbiStruct`](types.md#abistruct) \| [`InterfaceAbi`](types.md#interfaceabi) \| `any`\> - -ABI - -#### Defined in - -[src/types/lib/contract/abi.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L4) - ---- - -### AbiEntry - -Ƭ **AbiEntry**: `Object` - -#### Type declaration - -| Name | Type | -| :----- | :--------------------------------------------- | -| `name` | `string` | -| `type` | `"felt"` \| `"felt*"` \| `"event"` \| `string` | - -#### Defined in - -[src/types/lib/contract/abi.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L7) - ---- - -### EventEntry - -Ƭ **EventEntry**: `Object` - -#### Type declaration - -| Name | Type | -| :----- | :-------------------------------- | -| `name` | `string` | -| `type` | `"felt"` \| `"felt*"` \| `string` | -| `kind` | `"key"` \| `"data"` | - -#### Defined in - -[src/types/lib/contract/abi.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L9) - ---- - -### FunctionAbi - -Ƭ **FunctionAbi**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------ | :-------------------------------- | -| `inputs` | [`AbiEntry`](types.md#abientry)[] | -| `name` | `string` | -| `outputs` | [`AbiEntry`](types.md#abientry)[] | -| `stateMutability?` | `"view"` | -| `state_mutability?` | `string` | -| `type` | `FunctionAbiType` | - -#### Defined in - -[src/types/lib/contract/abi.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L14) - ---- - -### AbiStructs - -Ƭ **AbiStructs**: `Object` - -#### Index signature - -▪ [name: `string`]: [`AbiStruct`](types.md#abistruct) - -#### Defined in - -[src/types/lib/contract/abi.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L23) - ---- - -### AbiStruct - -Ƭ **AbiStruct**: `Object` - -#### Type declaration - -| Name | Type | -| :-------- | :---------------------------------------------------------- | -| `members` | [`AbiEntry`](types.md#abientry) & \{ `offset`: `number` }[] | -| `name` | `string` | -| `size` | `number` | -| `type` | `"struct"` | - -#### Defined in - -[src/types/lib/contract/abi.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L25) - ---- - -### AbiInterfaces - -Ƭ **AbiInterfaces**: `Object` - -#### Index signature - -▪ [name: `string`]: [`InterfaceAbi`](types.md#interfaceabi) - -#### Defined in - -[src/types/lib/contract/abi.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L32) - ---- - -### InterfaceAbi - -Ƭ **InterfaceAbi**: `Object` - -#### Type declaration - -| Name | Type | -| :------ | :-------------------------------------- | -| `items` | [`FunctionAbi`](types.md#functionabi)[] | -| `name` | `string` | -| `type` | `"interface"` | - -#### Defined in - -[src/types/lib/contract/abi.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L33) - ---- - -### AbiEnums - -Ƭ **AbiEnums**: `Object` - -#### Index signature - -▪ [name: `string`]: [`AbiEnum`](types.md#abienum) - -#### Defined in - -[src/types/lib/contract/abi.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L39) - ---- - -### AbiEnum - -Ƭ **AbiEnum**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :---------------------------------------------------------- | -| `variants` | [`AbiEntry`](types.md#abientry) & \{ `offset`: `number` }[] | -| `name` | `string` | -| `size` | `number` | -| `type` | `"enum"` | - -#### Defined in - -[src/types/lib/contract/abi.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L40) - ---- - -### AbiEvents - -Ƭ **AbiEvents**: `Object` - -#### Index signature - -▪ [hash: `string`]: [`AbiEvent`](types.md#abievent) - -#### Defined in - -[src/types/lib/contract/abi.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L53) - ---- - -### AbiEvent - -Ƭ **AbiEvent**: [`CairoEvent`](types.md#cairoevent) \| [`LegacyEvent`](types.md#legacyevent) - -#### Defined in - -[src/types/lib/contract/abi.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L57) - ---- - -### CairoEvent - -Ƭ **CairoEvent**: [`CairoEventDefinition`](types.md#cairoeventdefinition) \| [`AbiEvents`](types.md#abievents) - -#### Defined in - -[src/types/lib/contract/abi.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L60) - ---- - -### CairoEventDefinition - -Ƭ **CairoEventDefinition**: [`STRUCT_EVENT`](types.RPC.RPCSPEC07.API.md#struct_event) & \{ `name`: `string` ; `type`: `"event"` } - -#### Defined in - -[src/types/lib/contract/abi.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L62) - ---- - -### CairoEventVariant - -Ƭ **CairoEventVariant**: [`ENUM_EVENT`](types.RPC.RPCSPEC07.API.md#enum_event) & \{ `name`: `string` ; `type`: `string` } - -#### Defined in - -[src/types/lib/contract/abi.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L67) - ---- - -### LegacyEvent - -Ƭ **LegacyEvent**: `Object` - -#### Type declaration - -| Name | Type | -| :----- | :-------------------------------------------------------- | -| `name` | `string` | -| `type` | `"event"` | -| `data` | [`EVENT_FIELD`](types.RPC.RPCSPEC07.API.md#event_field)[] | -| `keys` | [`EVENT_FIELD`](types.RPC.RPCSPEC07.API.md#event_field)[] | - -#### Defined in - -[src/types/lib/contract/abi.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/abi.ts#L72) - ---- - -### LegacyContractClass - -Ƭ **LegacyContractClass**: `Object` - -format produced after compressing 'program' property - -#### Type declaration - -| Name | Type | -| :--------------------- | :------------------------------------------------ | -| `program` | [`CompressedProgram`](types.md#compressedprogram) | -| `entry_points_by_type` | [`EntryPointsByType`](types.md#entrypointsbytype) | -| `abi` | [`Abi`](types.md#abi) | - -#### Defined in - -[src/types/lib/contract/legacy.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L7) - ---- - -### LegacyCompiledContract - -Ƭ **LegacyCompiledContract**: `Omit`<[`LegacyContractClass`](types.md#legacycontractclass), `"program"`\> & \{ `program`: [`Program`](../interfaces/types.Program.md) } - -format produced after compiling .cairo to .json - -#### Defined in - -[src/types/lib/contract/legacy.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L16) - ---- - -### Builtins - -Ƭ **Builtins**: `string`[] - -SUBTYPES - -#### Defined in - -[src/types/lib/contract/legacy.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L21) - ---- - -### CompressedProgram - -Ƭ **CompressedProgram**: `string` - -#### Defined in - -[src/types/lib/contract/legacy.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L22) - ---- - -### Hint - -Ƭ **Hint**: `Record`<`string`, `unknown`\> - -#### Defined in - -[src/types/lib/contract/legacy.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L23) - ---- - -### EntryPointsByType - -Ƭ **EntryPointsByType**: `Object` - -#### Type declaration - -| Name | Type | -| :------------ | :---------------------------------------------------------------- | -| `CONSTRUCTOR` | [`ContractEntryPointFields`](types.md#contractentrypointfields)[] | -| `EXTERNAL` | [`ContractEntryPointFields`](types.md#contractentrypointfields)[] | -| `L1_HANDLER` | [`ContractEntryPointFields`](types.md#contractentrypointfields)[] | - -#### Defined in - -[src/types/lib/contract/legacy.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L25) - ---- - -### ContractEntryPointFields - -Ƭ **ContractEntryPointFields**: `Object` - -#### Type declaration - -| Name | Type | -| :---------- | :------------------------------ | -| `selector` | `string` | -| `offset` | `string` \| `number` | -| `builtins?` | [`Builtins`](types.md#builtins) | - -#### Defined in - -[src/types/lib/contract/legacy.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/legacy.ts#L31) - ---- - -### CairoAssembly - -Ƭ **CairoAssembly**: `Object` - -SYSTEM TYPES - -#### Type declaration - -| Name | Type | -| :-------------------------- | :------------------------------------------------ | -| `prime` | `string` | -| `compiler_version` | `string` | -| `bytecode` | [`ByteCode`](types.md#bytecode) | -| `hints` | `any`[] | -| `pythonic_hints?` | [`PythonicHints`](types.md#pythonichints) | -| `bytecode_segment_lengths?` | `number`[] | -| `entry_points_by_type` | [`EntryPointsByType`](types.md#entrypointsbytype) | - -#### Defined in - -[src/types/lib/contract/sierra.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/sierra.ts#L5) - ---- - -### CompiledSierra - -Ƭ **CompiledSierra**: `Object` - -format produced after starknet-compile .cairo to .json - -sierra_program is hex array - -#### Type declaration - -| Name | Type | -| :--------------------------- | :------------------------------------------------------------ | -| `sierra_program` | [`ByteCode`](types.md#bytecode) | -| `sierra_program_debug_info?` | [`SierraProgramDebugInfo`](types.md#sierraprogramdebuginfo) | -| `contract_class_version` | `string` | -| `entry_points_by_type` | [`SierraEntryPointsByType`](types.md#sierraentrypointsbytype) | -| `abi` | [`Abi`](types.md#abi) | - -#### Defined in - -[src/types/lib/contract/sierra.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/sierra.ts#L21) - ---- - -### SierraContractClass - -Ƭ **SierraContractClass**: `Omit`<[`CompiledSierra`](types.md#compiledsierra), `"abi"` \| `"sierra_program_debug_info"`\> & \{ `sierra_program`: `string` ; `abi`: `string` } - -format produced after compressing 'sierra_program', stringifies 'abi' property and omit sierra_program_debug_info - -CompressedCompiledSierra - -#### Defined in - -[src/types/lib/contract/sierra.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/sierra.ts#L34) - ---- - -### CompiledSierraCasm - -Ƭ **CompiledSierraCasm**: [`CairoAssembly`](types.md#cairoassembly) - -#### Defined in - -[src/types/lib/contract/sierra.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/sierra.ts#L38) - ---- - -### ByteCode - -Ƭ **ByteCode**: `string`[] - -SUBTYPES - -#### Defined in - -[src/types/lib/contract/sierra.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/sierra.ts#L41) - ---- - -### PythonicHints - -Ƭ **PythonicHints**: [`number`, `string`[]][] - -#### Defined in - -[src/types/lib/contract/sierra.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/sierra.ts#L42) - ---- - -### SierraProgramDebugInfo - -Ƭ **SierraProgramDebugInfo**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :--------------------- | -| `type_names` | [`number`, `string`][] | -| `libfunc_names` | [`number`, `string`][] | -| `user_func_names` | [`number`, `string`][] | - -#### Defined in - -[src/types/lib/contract/sierra.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/sierra.ts#L44) - ---- - -### SierraEntryPointsByType - -Ƭ **SierraEntryPointsByType**: `Object` - -#### Type declaration - -| Name | Type | -| :------------ | :---------------------------------------------------------------------------- | -| `CONSTRUCTOR` | [`SierraContractEntryPointFields`](types.md#sierracontractentrypointfields)[] | -| `EXTERNAL` | [`SierraContractEntryPointFields`](types.md#sierracontractentrypointfields)[] | -| `L1_HANDLER` | [`SierraContractEntryPointFields`](types.md#sierracontractentrypointfields)[] | - -#### Defined in - -[src/types/lib/contract/sierra.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/sierra.ts#L50) - ---- - -### SierraContractEntryPointFields - -Ƭ **SierraContractEntryPointFields**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :------- | -| `selector` | `string` | -| `function_idx` | `number` | - -#### Defined in - -[src/types/lib/contract/sierra.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/sierra.ts#L56) - ---- - -### FeeMarginPercentage - -Ƭ **FeeMarginPercentage**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :---------------------------------------------------------- | -| `bounds` | [`ResourceBoundsOverhead`](types.md#resourceboundsoverhead) | -| `maxFee` | `number` | - -#### Defined in - -[src/provider/types/configuration.type.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L7) - ---- - -### RpcProviderOptions - -Ƭ **RpcProviderOptions**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------------------------- | :---------------------------------------------------------- | -| `nodeUrl?` | `string` \| [`NetworkName`](constants.md#networkname-1) | -| `retries?` | `number` | -| `transactionRetryIntervalFallback?` | `number` | -| `headers?` | `object` | -| `blockIdentifier?` | [`BlockIdentifier`](types.md#blockidentifier) | -| `chainId?` | [`StarknetChainId`](constants.md#starknetchainid-1) | -| `specVersion?` | [`SupportedRpcVersion`](constants.md#supportedrpcversion-1) | -| `default?` | `boolean` | -| `waitMode?` | `boolean` | -| `baseFetch?` | `WindowOrWorkerGlobalScope`[``"fetch"``] | -| `feeMarginPercentage?` | [`FeeMarginPercentage`](types.md#feemarginpercentage) | -| `batch?` | `false` \| `number` | - -#### Defined in - -[src/provider/types/configuration.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L12) - ---- - -### Block - -Ƭ **Block**: [`Simplify`](types.md#simplify)<[`BLOCK_WITH_TX_HASHES`](types.RPC.RPCSPEC08.API.md#block_with_tx_hashes)\> - -#### Defined in - -[src/provider/types/response.type.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L31) - ---- - -### PendingBlock - -Ƭ **PendingBlock**: [`Simplify`](types.md#simplify)<[`PENDING_BLOCK_WITH_TX_HASHES`](types.RPC.RPCSPEC08.API.md#pending_block_with_tx_hashes)\> - -#### Defined in - -[src/provider/types/response.type.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L32) - ---- - -### GetBlockResponse - -Ƭ **GetBlockResponse**: [`Simplify`](types.md#simplify)<[`BlockWithTxHashes`](types.RPC.RPCSPEC08.API.md#blockwithtxhashes)\> - -#### Defined in - -[src/provider/types/response.type.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L33) - ---- - -### GetTxReceiptResponseWithoutHelper - -Ƭ **GetTxReceiptResponseWithoutHelper**: [`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt) - -#### Defined in - -[src/provider/types/response.type.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L35) - ---- - -### SuccessfulTransactionReceiptResponse - -Ƭ **SuccessfulTransactionReceiptResponse**: [`IsSucceeded`](types.RPC.RPCSPEC08.API.md#issucceeded)<[`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt)\> - -#### Defined in - -[src/provider/types/response.type.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L37) - ---- - -### RevertedTransactionReceiptResponse - -Ƭ **RevertedTransactionReceiptResponse**: [`IsReverted`](types.RPC.RPCSPEC08.API.md#isreverted)<[`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt)\> - -#### Defined in - -[src/provider/types/response.type.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L38) - ---- - -### InvokeTransactionReceiptResponse - -Ƭ **InvokeTransactionReceiptResponse**: [`IsType`](types.RPC.RPCSPEC08.API.md#istype)<[`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt), `"INVOKE"`\> - -#### Defined in - -[src/provider/types/response.type.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L39) - ---- - -### DeployTransactionReceiptResponse - -Ƭ **DeployTransactionReceiptResponse**: [`InvokeTransactionReceiptResponse`](types.md#invoketransactionreceiptresponse) - -#### Defined in - -[src/provider/types/response.type.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L40) - ---- - -### DeclareTransactionReceiptResponse - -Ƭ **DeclareTransactionReceiptResponse**: [`IsType`](types.RPC.RPCSPEC08.API.md#istype)<[`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt), `"DECLARE"`\> - -#### Defined in - -[src/provider/types/response.type.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L41) - ---- - -### DeployAccountTransactionReceiptResponse - -Ƭ **DeployAccountTransactionReceiptResponse**: [`IsType`](types.RPC.RPCSPEC08.API.md#istype)<[`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt), `"DEPLOY_ACCOUNT"`\> - -#### Defined in - -[src/provider/types/response.type.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L42) - ---- - -### L1HandlerTransactionReceiptResponse - -Ƭ **L1HandlerTransactionReceiptResponse**: [`IsType`](types.RPC.RPCSPEC08.API.md#istype)<[`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt), `"L1_HANDLER"`\> - -#### Defined in - -[src/provider/types/response.type.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L43) - ---- - -### GetTransactionResponse - -Ƭ **GetTransactionResponse**: [`TransactionWithHash`](types.md#transactionwithhash) - -#### Defined in - -[src/provider/types/response.type.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L45) - ---- - -### EstimateFeeResponse - -Ƭ **EstimateFeeResponse**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------------- | :------------------------------------------ | -| `overall_fee` | `bigint` | -| `unit` | [`PRICE_UNIT`](types.md#price_unit) | -| `l1_gas_consumed` | `bigint` | -| `l1_gas_price` | `bigint` | -| `l2_gas_consumed` | `bigint` \| `undefined` | -| `l2_gas_price` | `bigint` \| `undefined` | -| `l1_data_gas_consumed` | `bigint` | -| `l1_data_gas_price` | `bigint` | -| `suggestedMaxFee` | `bigint` | -| `resourceBounds` | [`ResourceBounds`](types.md#resourcebounds) | - -#### Defined in - -[src/provider/types/response.type.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L47) - ---- - -### EstimateFeeResponseBulk - -Ƭ **EstimateFeeResponseBulk**: [`EstimateFeeResponse`](types.md#estimatefeeresponse)[] - -#### Defined in - -[src/provider/types/response.type.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L62) - ---- - -### InvokeFunctionResponse - -Ƭ **InvokeFunctionResponse**: [`InvokedTransaction`](types.md#invokedtransaction) - -#### Defined in - -[src/provider/types/response.type.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L64) - ---- - -### DeclareContractResponse - -Ƭ **DeclareContractResponse**: [`DeclaredTransaction`](types.md#declaredtransaction) - -#### Defined in - -[src/provider/types/response.type.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L66) - ---- - -### CallContractResponse - -Ƭ **CallContractResponse**: `string`[] - -#### Defined in - -[src/provider/types/response.type.ts:68](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L68) - ---- - -### Storage - -Ƭ **Storage**: [`FELT`](types.md#felt) - -#### Defined in - -[src/provider/types/response.type.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L70) - ---- - -### Nonce - -Ƭ **Nonce**: `string` - -#### Defined in - -[src/provider/types/response.type.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L72) - ---- - -### SimulationFlags - -Ƭ **SimulationFlags**: [`SIMULATION_FLAG`](types.md#simulation_flag)[] - -#### Defined in - -[src/provider/types/response.type.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L75) - ---- - -### SimulatedTransaction - -Ƭ **SimulatedTransaction**: [`SimulateTransaction`](types.md#simulatetransaction) & \{ `suggestedMaxFee`: `bigint` ; `resourceBounds`: [`ResourceBounds`](types.md#resourcebounds) } - -#### Defined in - -[src/provider/types/response.type.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L77) - ---- - -### SimulateTransactionResponse - -Ƭ **SimulateTransactionResponse**: [`SimulatedTransaction`](types.md#simulatedtransaction)[] - -#### Defined in - -[src/provider/types/response.type.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L82) - ---- - -### StateUpdateResponse - -Ƭ **StateUpdateResponse**: [`StateUpdate`](types.md#stateupdate) \| [`PendingStateUpdate`](types.md#pendingstateupdate) - -#### Defined in - -[src/provider/types/response.type.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L84) - ---- - -### StateUpdate - -Ƭ **StateUpdate**: [`STATE_UPDATE`](types.md#state_update) - -#### Defined in - -[src/provider/types/response.type.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L85) - ---- - -### PendingStateUpdate - -Ƭ **PendingStateUpdate**: [`PENDING_STATE_UPDATE`](types.md#pending_state_update) - -#### Defined in - -[src/provider/types/response.type.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L86) - ---- - -### ContractClassResponse - -Ƭ **ContractClassResponse**: [`LegacyContractClass`](types.md#legacycontractclass) \| `Omit`<[`CompiledSierra`](types.md#compiledsierra), `"sierra_program_debug_info"`\> - -Standardized type - -Cairo0 program compressed and Cairo1 sierra_program decompressed - -abi Abi - -CompiledSierra without '.sierra_program_debug_info' - -#### Defined in - -[src/provider/types/response.type.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/response.type.ts#L97) - ---- - -### Simplify - -Ƭ **Simplify**<`T`\>: \{ [K in keyof T]: T[K] } & {} - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Defined in - -[src/provider/types/spec.type.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L9) - ---- - -### RequiredKeysOf - -Ƭ **RequiredKeysOf**<`T`\>: `Exclude`<\{ [K in keyof T]: T extends Record ? K : never }[keyof `T`], `undefined`\> - -#### Type parameters - -| Name | Type | -| :--- | :--------------- | -| `T` | extends `object` | - -#### Defined in - -[src/provider/types/spec.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L12) - ---- - -### ETransactionVersion - -Ƭ **ETransactionVersion**: [`ETransactionVersion`](types.RPC.RPCSPEC08.API.md#etransactionversion-1) - -#### Defined in - -[src/provider/types/spec.type.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L57) - -[src/provider/types/spec.type.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L58) - ---- - -### ETransactionVersion2 - -Ƭ **ETransactionVersion2**: [`ETransactionVersion2`](types.RPC.RPCSPEC08.API.md#etransactionversion2-1) - -#### Defined in - -[src/provider/types/spec.type.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L60) - -[src/provider/types/spec.type.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L61) - ---- - -### ETransactionVersion3 - -Ƭ **ETransactionVersion3**: [`ETransactionVersion3`](types.RPC.RPCSPEC08.API.md#etransactionversion3-1) - -#### Defined in - -[src/provider/types/spec.type.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L63) - -[src/provider/types/spec.type.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L64) - ---- - -### BLOCK_HASH - -Ƭ **BLOCK_HASH**: `Merge`<[`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash), [`BLOCK_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#block_hash)\> - -#### Defined in - -[src/provider/types/spec.type.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L67) - ---- - -### BLOCK_NUMBER - -Ƭ **BLOCK_NUMBER**: `Merge`<[`BLOCK_NUMBER`](types.RPC.RPCSPEC08.API.md#block_number), [`BLOCK_NUMBER`](types.RPC.RPCSPEC07.API.SPEC.md#block_number)\> - -#### Defined in - -[src/provider/types/spec.type.ts:68](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L68) - ---- - -### FELT - -Ƭ **FELT**: `Merge`<[`FELT`](types.RPC.RPCSPEC08.API.md#felt), [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)\> - -#### Defined in - -[src/provider/types/spec.type.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L69) - ---- - -### TXN_HASH - -Ƭ **TXN_HASH**: `Merge`<[`TXN_HASH`](types.RPC.RPCSPEC08.API.md#txn_hash), [`TXN_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#txn_hash)\> - -#### Defined in - -[src/provider/types/spec.type.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L70) - ---- - -### PRICE_UNIT - -Ƭ **PRICE_UNIT**: `Merge`<[`PRICE_UNIT`](types.RPC.RPCSPEC08.API.md#price_unit), [`PRICE_UNIT`](types.RPC.RPCSPEC07.API.SPEC.md#price_unit)\> - -#### Defined in - -[src/provider/types/spec.type.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L72) - ---- - -### RESOURCE_PRICE - -Ƭ **RESOURCE_PRICE**: `Merge`<[`RESOURCE_PRICE`](types.RPC.RPCSPEC08.API.md#resource_price), [`RESOURCE_PRICE`](types.RPC.RPCSPEC07.API.SPEC.md#resource_price)\> - -#### Defined in - -[src/provider/types/spec.type.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L73) - ---- - -### SIMULATION_FLAG - -Ƭ **SIMULATION_FLAG**: `Merge`<[`SIMULATION_FLAG`](types.RPC.RPCSPEC08.API.md#simulation_flag), [`SIMULATION_FLAG`](types.RPC.RPCSPEC07.API.SPEC.md#simulation_flag)\> - -#### Defined in - -[src/provider/types/spec.type.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L74) - ---- - -### STATE_UPDATE - -Ƭ **STATE_UPDATE**: `Merge`<[`STATE_UPDATE`](types.RPC.RPCSPEC08.API.md#state_update), [`STATE_UPDATE`](types.RPC.RPCSPEC07.API.SPEC.md#state_update)\> - -#### Defined in - -[src/provider/types/spec.type.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L76) - ---- - -### PENDING_STATE_UPDATE - -Ƭ **PENDING_STATE_UPDATE**: `Merge`<[`PENDING_STATE_UPDATE`](types.RPC.RPCSPEC08.API.md#pending_state_update), [`PENDING_STATE_UPDATE`](types.RPC.RPCSPEC07.API.SPEC.md#pending_state_update)\> - -#### Defined in - -[src/provider/types/spec.type.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L77) - ---- - -### PENDING_INVOKE_TXN_RECEIPT - -Ƭ **PENDING_INVOKE_TXN_RECEIPT**: [`IsPending`](types.RPC.RPCSPEC08.API.md#ispending)<[`IsType`](types.RPC.RPCSPEC08.API.md#istype)<[`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt), `"INVOKE"`\>\> - -#### Defined in - -[src/provider/types/spec.type.ts:90](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L90) - ---- - -### PENDING_DECLARE_TXN_RECEIPT - -Ƭ **PENDING_DECLARE_TXN_RECEIPT**: [`IsPending`](types.RPC.RPCSPEC08.API.md#ispending)<[`IsType`](types.RPC.RPCSPEC08.API.md#istype)<[`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt), `"DECLARE"`\>\> - -#### Defined in - -[src/provider/types/spec.type.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L93) - ---- - -### PENDING_DEPLOY_ACCOUNT_TXN_RECEIPT - -Ƭ **PENDING_DEPLOY_ACCOUNT_TXN_RECEIPT**: [`IsPending`](types.RPC.RPCSPEC08.API.md#ispending)<[`IsType`](types.RPC.RPCSPEC08.API.md#istype)<[`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt), `"DEPLOY_ACCOUNT"`\>\> - -#### Defined in - -[src/provider/types/spec.type.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L96) - ---- - -### PENDING_L1_HANDLER_TXN_RECEIPT - -Ƭ **PENDING_L1_HANDLER_TXN_RECEIPT**: [`IsPending`](types.RPC.RPCSPEC08.API.md#ispending)<[`IsType`](types.RPC.RPCSPEC08.API.md#istype)<[`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt), `"L1_HANDLER"`\>\> - -#### Defined in - -[src/provider/types/spec.type.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L99) - ---- - -### BlockWithTxHashes - -Ƭ **BlockWithTxHashes**: `Merge`<[`BlockWithTxHashes`](types.RPC.RPCSPEC08.API.md#blockwithtxhashes), [`BlockWithTxHashes`](types.RPC.RPCSPEC07.API.md#blockwithtxhashes)\> - -#### Defined in - -[src/provider/types/spec.type.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L104) - ---- - -### ContractClassPayload - -Ƭ **ContractClassPayload**: `Merge`<[`ContractClass`](types.RPC.RPCSPEC08.API.md#contractclass), [`ContractClass`](types.RPC.RPCSPEC07.API.md#contractclass)\> - -#### Defined in - -[src/provider/types/spec.type.ts:105](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L105) - ---- - -### DeclaredTransaction - -Ƭ **DeclaredTransaction**: `Merge`<[`DeclaredTransaction`](types.RPC.RPCSPEC08.API.md#declaredtransaction), [`DeclaredTransaction`](types.RPC.RPCSPEC07.API.md#declaredtransaction)\> - -#### Defined in - -[src/provider/types/spec.type.ts:106](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L106) - ---- - -### InvokedTransaction - -Ƭ **InvokedTransaction**: `Merge`<[`InvokedTransaction`](types.RPC.RPCSPEC08.API.md#invokedtransaction), [`InvokedTransaction`](types.RPC.RPCSPEC07.API.md#invokedtransaction)\> - -#### Defined in - -[src/provider/types/spec.type.ts:110](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L110) - ---- - -### DeployedAccountTransaction - -Ƭ **DeployedAccountTransaction**: `Merge`<[`DeployedAccountTransaction`](types.RPC.RPCSPEC08.API.md#deployedaccounttransaction), [`DeployedAccountTransaction`](types.RPC.RPCSPEC07.API.md#deployedaccounttransaction)\> - -#### Defined in - -[src/provider/types/spec.type.ts:111](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L111) - ---- - -### L1Message - -Ƭ **L1Message**: `Merge`<[`L1Message`](types.RPC.RPCSPEC08.API.md#l1message), [`L1Message`](types.RPC.RPCSPEC07.API.md#l1message)\> - -#### Defined in - -[src/provider/types/spec.type.ts:116](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L116) - ---- - -### EventFilter - -Ƭ **EventFilter**: [`EventFilter`](types.RPC.RPCSPEC08.API.md#eventfilter) - -#### Defined in - -[src/provider/types/spec.type.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L117) - ---- - -### L1_HANDLER_TXN - -Ƭ **L1_HANDLER_TXN**: [`L1_HANDLER_TXN`](types.RPC.RPCSPEC08.API.md#l1_handler_txn) - -#### Defined in - -[src/provider/types/spec.type.ts:118](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L118) - ---- - -### EDataAvailabilityMode - -Ƭ **EDataAvailabilityMode**: [`EDataAvailabilityMode`](types.RPC.RPCSPEC08.API.md#edataavailabilitymode-1) - -#### Defined in - -[src/provider/types/spec.type.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L119) - -[src/provider/types/spec.type.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L120) - ---- - -### EDAMode - -Ƭ **EDAMode**: [`EDAMode`](types.RPC.RPCSPEC08.API.md#edamode-1) - -#### Defined in - -[src/provider/types/spec.type.ts:121](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L121) - -[src/provider/types/spec.type.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L122) - ---- - -### EmittedEvent - -Ƭ **EmittedEvent**: `Merge`<[`EmittedEvent`](types.RPC.RPCSPEC08.API.md#emittedevent), [`EmittedEvent`](types.RPC.RPCSPEC07.API.md#emittedevent)\> - -#### Defined in - -[src/provider/types/spec.type.ts:123](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L123) - ---- - -### Event - -Ƭ **Event**: `Merge`<[`Event`](types.RPC.RPCSPEC08.API.md#event-1), [`Event`](types.RPC.RPCSPEC07.API.md#event-1)\> - -#### Defined in - -[src/provider/types/spec.type.ts:124](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L124) - ---- - -### PendingReceipt - -Ƭ **PendingReceipt**: `Merge`<[`TransactionReceiptPendingBlock`](types.RPC.RPCSPEC08.API.md#transactionreceiptpendingblock), [`PendingReceipt`](types.RPC.RPCSPEC07.API.md#pendingreceipt)\> - -#### Defined in - -[src/provider/types/spec.type.ts:126](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L126) - ---- - -### Receipt - -Ƭ **Receipt**: `Merge`<[`TransactionReceiptProductionBlock`](types.RPC.RPCSPEC08.API.md#transactionreceiptproductionblock), [`Receipt`](types.RPC.RPCSPEC07.API.md#receipt)\> - -#### Defined in - -[src/provider/types/spec.type.ts:130](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L130) - ---- - -### FeeEstimate - -Ƭ **FeeEstimate**: `SimpleOneOf`<[`FEE_ESTIMATE`](types.RPC.RPCSPEC08.API.md#fee_estimate), [`FEE_ESTIMATE`](types.RPC.RPCSPEC07.API.SPEC.md#fee_estimate)\> - -#### Defined in - -[src/provider/types/spec.type.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L133) - ---- - -### ResourceBounds - -Ƭ **ResourceBounds**: [`Simplify`](types.md#simplify)<`SimpleOneOf`<[`ResourceBounds`](types.RPC.RPCSPEC08.API.md#resourcebounds), [`ResourceBounds`](types.RPC.RPCSPEC07.API.md#resourcebounds)\>\> - -#### Defined in - -[src/provider/types/spec.type.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L140) - ---- - -### ResourceBoundsOverhead - -Ƭ **ResourceBoundsOverhead**: [`ResourceBoundsOverheadRPC08`](types.md#resourceboundsoverheadrpc08) \| [`ResourceBoundsOverheadRPC07`](types.md#resourceboundsoverheadrpc07) - -overhead percentage on estimate fee - -#### Defined in - -[src/provider/types/spec.type.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L151) - ---- - -### ResourceBoundsOverheadRPC08 - -Ƭ **ResourceBoundsOverheadRPC08**: `Object` - -percentage overhead on estimated fee - -#### Type declaration - -| Name | Type | -| :------------------------------- | :----------------------------------------------------------- | -| `l1_gas` | \{ `max_amount`: `number` ; `max_price_per_unit`: `number` } | -| `l1_gas.max_amount` | `number` | -| `l1_gas.max_price_per_unit` | `number` | -| `l2_gas` | \{ `max_amount`: `number` ; `max_price_per_unit`: `number` } | -| `l2_gas.max_amount` | `number` | -| `l2_gas.max_price_per_unit` | `number` | -| `l1_data_gas` | \{ `max_amount`: `number` ; `max_price_per_unit`: `number` } | -| `l1_data_gas.max_amount` | `number` | -| `l1_data_gas.max_price_per_unit` | `number` | - -#### Defined in - -[src/provider/types/spec.type.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L156) - ---- - -### ResourceBoundsOverheadRPC07 - -Ƭ **ResourceBoundsOverheadRPC07**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------------- | :----------------------------------------------------------- | -| `l1_gas` | \{ `max_amount`: `number` ; `max_price_per_unit`: `number` } | -| `l1_gas.max_amount` | `number` | -| `l1_gas.max_price_per_unit` | `number` | - -#### Defined in - -[src/provider/types/spec.type.ts:171](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L171) - ---- - -### SimulateTransaction - -Ƭ **SimulateTransaction**: [`SimulateTransaction`](types.RPC.RPCSPEC08.API.md#simulatetransaction) - -#### Defined in - -[src/provider/types/spec.type.ts:179](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L179) - ---- - -### TransactionWithHash - -Ƭ **TransactionWithHash**: `Merge`<[`TransactionWithHash`](types.RPC.RPCSPEC08.API.md#transactionwithhash), [`TransactionWithHash`](types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Defined in - -[src/provider/types/spec.type.ts:181](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L181) - ---- - -### TransactionReceipt - -Ƭ **TransactionReceipt**: `Merge`<[`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt), [`TransactionReceipt`](types.RPC.RPCSPEC07.API.md#transactionreceipt)\> - -#### Defined in - -[src/provider/types/spec.type.ts:186](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L186) - ---- - -### Methods - -Ƭ **Methods**: [`Methods`](types.RPC.RPCSPEC08.API.md#methods) - -#### Defined in - -[src/provider/types/spec.type.ts:187](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L187) - ---- - -### TXN_STATUS - -Ƭ **TXN_STATUS**: `Merge`<[`TXN_STATUS`](types.RPC.RPCSPEC08.API.md#txn_status), [`TXN_STATUS`](types.RPC.RPCSPEC07.API.SPEC.md#txn_status)\> - -#### Defined in - -[src/provider/types/spec.type.ts:188](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L188) - ---- - -### TXN_EXECUTION_STATUS - -Ƭ **TXN_EXECUTION_STATUS**: `Merge`<[`TXN_EXECUTION_STATUS`](types.RPC.RPCSPEC08.API.md#txn_execution_status), [`TXN_EXECUTION_STATUS`](types.RPC.RPCSPEC07.API.SPEC.md#txn_execution_status)\> - -#### Defined in - -[src/provider/types/spec.type.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L189) - ---- - -### TransactionStatus - -Ƭ **TransactionStatus**: `Merge`<[`TransactionStatus`](types.RPC.RPCSPEC08.API.md#transactionstatus), [`TransactionStatus`](types.RPC.RPCSPEC07.API.md#transactionstatus)\> - -#### Defined in - -[src/provider/types/spec.type.ts:193](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L193) - ---- - -### ETransactionStatus - -Ƭ **ETransactionStatus**: [`ETransactionStatus`](types.RPC.RPCSPEC08.API.md#etransactionstatus-1) - -#### Defined in - -[src/provider/types/spec.type.ts:194](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L194) - -[src/provider/types/spec.type.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L195) - ---- - -### ETransactionExecutionStatus - -Ƭ **ETransactionExecutionStatus**: [`ETransactionExecutionStatus`](types.RPC.RPCSPEC08.API.md#etransactionexecutionstatus-1) - -#### Defined in - -[src/provider/types/spec.type.ts:196](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L196) - -[src/provider/types/spec.type.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L197) - ---- - -### TRANSACTION_TRACE - -Ƭ **TRANSACTION_TRACE**: `Merge`<[`TRANSACTION_TRACE`](types.RPC.RPCSPEC08.API.md#transaction_trace), [`TRANSACTION_TRACE`](types.RPC.RPCSPEC07.API.SPEC.md#transaction_trace)\> - -#### Defined in - -[src/provider/types/spec.type.ts:198](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L198) - ---- - -### FEE_ESTIMATE - -Ƭ **FEE_ESTIMATE**: `Merge`<[`FEE_ESTIMATE`](types.RPC.RPCSPEC08.API.md#fee_estimate), [`FEE_ESTIMATE`](types.RPC.RPCSPEC07.API.SPEC.md#fee_estimate)\> - -#### Defined in - -[src/provider/types/spec.type.ts:202](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L202) - ---- - -### EVENTS_CHUNK - -Ƭ **EVENTS_CHUNK**: `Merge`<[`EVENTS_CHUNK`](types.RPC.RPCSPEC08.API.md#events_chunk), [`EVENTS_CHUNK`](types.RPC.RPCSPEC07.API.SPEC.md#events_chunk)\> - -#### Defined in - -[src/provider/types/spec.type.ts:203](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L203) - ---- - -### UniversalSuggestedFee - -Ƭ **UniversalSuggestedFee**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :------------------------------------------ | -| `maxFee` | [`BigNumberish`](types.md#bignumberish) | -| `resourceBounds` | [`ResourceBounds`](types.md#resourcebounds) | - -#### Defined in - -[src/types/account.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L22) - ---- - -### EstimateFeeBulk - -Ƭ **EstimateFeeBulk**: [`EstimateFee`](../interfaces/types.EstimateFee.md)[] - -#### Defined in - -[src/types/account.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L27) - ---- - -### AccountInvocationsFactoryDetails - -Ƭ **AccountInvocationsFactoryDetails**: \{ `versions`: \`$\{ETransactionVersion}\`[] ; `nonce?`: [`BigNumberish`](types.md#bignumberish) ; `blockIdentifier?`: [`BlockIdentifier`](types.md#blockidentifier) ; `skipValidate?`: `boolean` } & `Partial`<[`V3TransactionDetails`](types.md#v3transactiondetails)\> - -#### Defined in - -[src/types/account.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L30) - ---- - -### MultiDeployContractResponse - -Ƭ **MultiDeployContractResponse**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :--------- | -| `contract_address` | `string`[] | -| `transaction_hash` | `string` | - -#### Defined in - -[src/types/account.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L64) - ---- - -### DeployContractUDCResponse - -Ƭ **DeployContractUDCResponse**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :--------- | -| `contract_address` | `string` | -| `transaction_hash` | `string` | -| `address` | `string` | -| `deployer` | `string` | -| `unique` | `string` | -| `classHash` | `string` | -| `calldata_len` | `string` | -| `calldata` | `string`[] | -| `salt` | `string` | - -#### Defined in - -[src/types/account.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L69) - ---- - -### DeclareDeployUDCResponse - -Ƭ **DeclareDeployUDCResponse**: `Object` - -#### Type declaration - -| Name | Type | -| :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `declare` | \{ `class_hash`: [`BigNumberish`](types.md#bignumberish) } & `Partial`<[`DeclareTransactionReceiptResponse`](types.md#declaretransactionreceiptresponse)\> | -| `deploy` | [`DeployContractUDCResponse`](types.md#deploycontractudcresponse) | - -#### Defined in - -[src/types/account.ts:81](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L81) - ---- - -### SimulateTransactionDetails - -Ƭ **SimulateTransactionDetails**: \{ `nonce?`: [`BigNumberish`](types.md#bignumberish) ; `blockIdentifier?`: [`BlockIdentifier`](types.md#blockidentifier) ; `skipValidate?`: `boolean` ; `skipExecute?`: `boolean` } & `Partial`<[`V3TransactionDetails`](types.md#v3transactiondetails)\> - -#### Defined in - -[src/types/account.ts:88](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L88) - ---- - -### EstimateFeeAction - -Ƭ **EstimateFeeAction**: \{ `type`: typeof [`INVOKE`](types.md#invoke) ; `payload`: [`AllowArray`](types.md#allowarray)<[`Call`](types.md#call)\> } \| \{ `type`: typeof [`DECLARE`](types.md#declare) ; `payload`: [`DeclareContractPayload`](types.md#declarecontractpayload) } \| \{ `type`: typeof [`DEPLOY_ACCOUNT`](types.md#deploy_account) ; `payload`: [`DeployAccountContractPayload`](types.md#deployaccountcontractpayload) } \| \{ `type`: typeof [`DEPLOY`](types.md#deploy) ; `payload`: [`UniversalDeployerContractPayload`](types.md#universaldeployercontractpayload) } - -#### Defined in - -[src/types/account.ts:95](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L95) - ---- - -### StarkProfile - -Ƭ **StarkProfile**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------- | :-------- | -| `name?` | `string` | -| `profilePicture?` | `string` | -| `discord?` | `string` | -| `twitter?` | `string` | -| `github?` | `string` | -| `proofOfPersonhood?` | `boolean` | - -#### Defined in - -[src/types/account.ts:113](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/account.ts#L113) - ---- - -### CairoEnum - -Ƭ **CairoEnum**: [`CairoCustomEnum`](../classes/CairoCustomEnum.md) \| [`CairoOption`](../classes/CairoOption.md)<`any`\> \| [`CairoResult`](../classes/CairoResult.md)<`any`, `any`\> - -#### Defined in - -[src/types/cairoEnum.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/cairoEnum.ts#L3) - ---- - -### ValidateType - -Ƭ **ValidateType**: `ValuesType` - -#### Defined in - -[src/types/calldata.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L3) - -[src/types/calldata.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L9) - ---- - -### Uint - -Ƭ **Uint**: `ValuesType` - -#### Defined in - -[src/types/calldata.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L11) - -[src/types/calldata.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L21) - ---- - -### Literal - -Ƭ **Literal**: `ValuesType` - -#### Defined in - -[src/types/calldata.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L23) - -[src/types/calldata.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L30) - ---- - -### AsyncContractFunction - -Ƭ **AsyncContractFunction**<`T`\>: (...`args`: [`ArgsOrCalldataWithOptions`](types.md#argsorcalldatawithoptions)) => `Promise`<`T`\> - -#### Type parameters - -| Name | Type | -| :--- | :---- | -| `T` | `any` | - -#### Type declaration - -▸ (`...args`): `Promise`<`T`\> - -##### Parameters - -| Name | Type | -| :-------- | :---------------------------------------------------------------- | -| `...args` | [`ArgsOrCalldataWithOptions`](types.md#argsorcalldatawithoptions) | - -##### Returns - -`Promise`<`T`\> - -#### Defined in - -[src/types/contract.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/contract.ts#L13) - ---- - -### ContractFunction - -Ƭ **ContractFunction**: (...`args`: [`ArgsOrCalldataWithOptions`](types.md#argsorcalldatawithoptions)) => `any` - -#### Type declaration - -▸ (`...args`): `any` - -##### Parameters - -| Name | Type | -| :-------- | :---------------------------------------------------------------- | -| `...args` | [`ArgsOrCalldataWithOptions`](types.md#argsorcalldatawithoptions) | - -##### Returns - -`any` - -#### Defined in - -[src/types/contract.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/contract.ts#L14) - ---- - -### Result - -Ƭ **Result**: \{ `[key: string]`: `any`; } \| [`Result`](types.md#result)[] \| `bigint` \| `string` \| `boolean` \| [`CairoEnum`](types.md#cairoenum) - -#### Defined in - -[src/types/contract.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/contract.ts#L16) - ---- - -### ArgsOrCalldata - -Ƭ **ArgsOrCalldata**: [`RawArgsArray`](types.md#rawargsarray) \| [[`Calldata`](types.md#calldata)] \| [`Calldata`](types.md#calldata) - -#### Defined in - -[src/types/contract.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/contract.ts#L30) - ---- - -### ArgsOrCalldataWithOptions - -Ƭ **ArgsOrCalldataWithOptions**: [...RawArgsArray] \| [...RawArgsArray, [`ContractOptions`](types.md#contractoptions)] \| [[`Calldata`](types.md#calldata)] \| [[`Calldata`](types.md#calldata), [`ContractOptions`](types.md#contractoptions)] \| [...Calldata] \| [...Calldata, [`ContractOptions`](types.md#contractoptions)] - -#### Defined in - -[src/types/contract.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/contract.ts#L41) - ---- - -### ContractOptions - -Ƭ **ContractOptions**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :----------------- | :-------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `blockIdentifier?` | [`BlockIdentifier`](types.md#blockidentifier) | - | -| `parseRequest?` | `boolean` | compile and validate arguments | -| `parseResponse?` | `boolean` | Parse elements of the response array and structuring them into response object | -| `formatResponse?` | \{ `[key: string]`: `any`; } | Advance formatting used to get js types data as result **`Description`** https://starknetjs.com/docs/guides/define_call_message/#formatresponse **`Example`** `typescript // assign custom or existing method to resulting data formatResponse: { balance: uint256ToBN }, ` **`Example`** `typescript // define resulting data js types const formatAnswer = { id: 'number', description: 'string' }; ` | -| `maxFee?` | [`BigNumberish`](types.md#bignumberish) | - | -| `nonce?` | [`BigNumberish`](types.md#bignumberish) | - | -| `signature?` | [`Signature`](types.md#signature) | - | -| `addressSalt?` | `string` | - | - -#### Defined in - -[src/types/contract.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/contract.ts#L57) - ---- - -### CallOptions - -Ƭ **CallOptions**: `Pick`<[`ContractOptions`](types.md#contractoptions), `"blockIdentifier"` \| `"parseRequest"` \| `"parseResponse"` \| `"formatResponse"`\> - -#### Defined in - -[src/types/contract.ts:88](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/contract.ts#L88) - ---- - -### InvokeOptions - -Ƭ **InvokeOptions**: `Pick`<[`ContractOptions`](types.md#contractoptions), `"maxFee"` \| `"nonce"` \| `"signature"` \| `"parseRequest"`\> - -#### Defined in - -[src/types/contract.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/contract.ts#L93) - ---- - -### ParsedEvent - -Ƭ **ParsedEvent**: \{ `[name: string]`: [`ParsedStruct`](types.md#parsedstruct); } & \{ `block_hash?`: [`BlockHash`](types.RPC.RPCSPEC07.API.md#blockhash) ; `block_number?`: [`BlockNumber`](types.md#blocknumber) ; `transaction_hash?`: [`TransactionHash`](types.RPC.RPCSPEC07.API.md#transactionhash) } - -#### Defined in - -[src/types/contract.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/contract.ts#L98) - ---- - -### ParsedEvents - -Ƭ **ParsedEvents**: [`ParsedEvent`](types.md#parsedevent)[] - -#### Defined in - -[src/types/contract.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/contract.ts#L104) - ---- - -### RPC_ERROR_SET - -Ƭ **RPC_ERROR_SET**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------------------------- | :-------------------------------------------------------------------------------------------------------------------- | -| `FAILED_TO_RECEIVE_TXN` | [`FAILED_TO_RECEIVE_TXN`](../interfaces/types.RPC.RPCSPEC08.API.FAILED_TO_RECEIVE_TXN.md) | -| `NO_TRACE_AVAILABLE` | [`NO_TRACE_AVAILABLE`](../interfaces/types.RPC.RPCSPEC08.API.NO_TRACE_AVAILABLE.md) | -| `CONTRACT_NOT_FOUND` | [`CONTRACT_NOT_FOUND`](../interfaces/types.RPC.RPCSPEC08.API.CONTRACT_NOT_FOUND.md) | -| `ENTRYPOINT_NOT_FOUND` | [`ENTRYPOINT_NOT_FOUND`](../interfaces/types.RPC.RPCSPEC08.API.ENTRYPOINT_NOT_FOUND.md) | -| `BLOCK_NOT_FOUND` | [`BLOCK_NOT_FOUND`](../interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md) | -| `INVALID_TXN_INDEX` | [`INVALID_TXN_INDEX`](../interfaces/types.RPC.RPCSPEC08.API.INVALID_TXN_INDEX.md) | -| `CLASS_HASH_NOT_FOUND` | [`CLASS_HASH_NOT_FOUND`](../interfaces/types.RPC.RPCSPEC08.API.CLASS_HASH_NOT_FOUND.md) | -| `TXN_HASH_NOT_FOUND` | [`TXN_HASH_NOT_FOUND`](../interfaces/types.RPC.RPCSPEC08.API.TXN_HASH_NOT_FOUND.md) | -| `PAGE_SIZE_TOO_BIG` | [`PAGE_SIZE_TOO_BIG`](../interfaces/types.RPC.RPCSPEC08.API.PAGE_SIZE_TOO_BIG.md) | -| `NO_BLOCKS` | [`NO_BLOCKS`](../interfaces/types.RPC.RPCSPEC08.API.NO_BLOCKS.md) | -| `INVALID_CONTINUATION_TOKEN` | [`INVALID_CONTINUATION_TOKEN`](../interfaces/types.RPC.RPCSPEC08.API.INVALID_CONTINUATION_TOKEN.md) | -| `TOO_MANY_KEYS_IN_FILTER` | [`TOO_MANY_KEYS_IN_FILTER`](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER.md) | -| `CONTRACT_ERROR` | [`CONTRACT_ERROR`](../interfaces/types.RPC.RPCSPEC08.API.CONTRACT_ERROR.md) | -| `TRANSACTION_EXECUTION_ERROR` | [`TRANSACTION_EXECUTION_ERROR`](../interfaces/types.RPC.RPCSPEC08.API.TRANSACTION_EXECUTION_ERROR.md) | -| `STORAGE_PROOF_NOT_SUPPORTED` | [`STORAGE_PROOF_NOT_SUPPORTED`](../interfaces/types.RPC.RPCSPEC08.API.STORAGE_PROOF_NOT_SUPPORTED.md) | -| `CLASS_ALREADY_DECLARED` | [`CLASS_ALREADY_DECLARED`](../interfaces/types.RPC.RPCSPEC08.API.CLASS_ALREADY_DECLARED.md) | -| `INVALID_TRANSACTION_NONCE` | [`INVALID_TRANSACTION_NONCE`](../interfaces/types.RPC.RPCSPEC08.API.INVALID_TRANSACTION_NONCE.md) | -| `INSUFFICIENT_RESOURCES_FOR_VALIDATE` | [`INSUFFICIENT_RESOURCES_FOR_VALIDATE`](../interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_RESOURCES_FOR_VALIDATE.md) | -| `INSUFFICIENT_ACCOUNT_BALANCE` | [`INSUFFICIENT_ACCOUNT_BALANCE`](../interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_ACCOUNT_BALANCE.md) | -| `VALIDATION_FAILURE` | [`VALIDATION_FAILURE`](../interfaces/types.RPC.RPCSPEC08.API.VALIDATION_FAILURE.md) | -| `COMPILATION_FAILED` | [`COMPILATION_FAILED`](../interfaces/types.RPC.RPCSPEC08.API.COMPILATION_FAILED.md) | -| `CONTRACT_CLASS_SIZE_IS_TOO_LARGE` | [`CONTRACT_CLASS_SIZE_IS_TOO_LARGE`](../interfaces/types.RPC.RPCSPEC08.API.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md) | -| `NON_ACCOUNT` | [`NON_ACCOUNT`](../interfaces/types.RPC.RPCSPEC08.API.NON_ACCOUNT.md) | -| `DUPLICATE_TX` | [`DUPLICATE_TX`](../interfaces/types.RPC.RPCSPEC08.API.DUPLICATE_TX.md) | -| `COMPILED_CLASS_HASH_MISMATCH` | [`COMPILED_CLASS_HASH_MISMATCH`](../interfaces/types.RPC.RPCSPEC08.API.COMPILED_CLASS_HASH_MISMATCH.md) | -| `UNSUPPORTED_TX_VERSION` | [`UNSUPPORTED_TX_VERSION`](../interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_TX_VERSION.md) | -| `UNSUPPORTED_CONTRACT_CLASS_VERSION` | [`UNSUPPORTED_CONTRACT_CLASS_VERSION`](../interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_CONTRACT_CLASS_VERSION.md) | -| `UNEXPECTED_ERROR` | [`UNEXPECTED_ERROR`](../interfaces/types.RPC.RPCSPEC08.API.UNEXPECTED_ERROR.md) | -| `INVALID_SUBSCRIPTION_ID` | [`INVALID_SUBSCRIPTION_ID`](../interfaces/types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID.md) | -| `TOO_MANY_ADDRESSES_IN_FILTER` | [`TOO_MANY_ADDRESSES_IN_FILTER`](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER.md) | -| `TOO_MANY_BLOCKS_BACK` | [`TOO_MANY_BLOCKS_BACK`](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md) | -| `COMPILATION_ERROR` | [`COMPILATION_ERROR`](../interfaces/types.RPC.RPCSPEC08.API.COMPILATION_ERROR.md) | -| `INVALID_ADDRESS` | [`INVALID_ADDRESS`](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ADDRESS.md) | -| `TOKEN_NOT_SUPPORTED` | [`TOKEN_NOT_SUPPORTED`](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TOKEN_NOT_SUPPORTED.md) | -| `INVALID_SIGNATURE` | [`INVALID_SIGNATURE`](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_SIGNATURE.md) | -| `MAX_AMOUNT_TOO_LOW` | [`MAX_AMOUNT_TOO_LOW`](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.MAX_AMOUNT_TOO_LOW.md) | -| `CLASS_HASH_NOT_SUPPORTED` | [`CLASS_HASH_NOT_SUPPORTED`](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.CLASS_HASH_NOT_SUPPORTED.md) | -| `PAYMASTER_TRANSACTION_EXECUTION_ERROR` | [`TRANSACTION_EXECUTION_ERROR`](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TRANSACTION_EXECUTION_ERROR.md) | -| `INVALID_TIME_BOUNDS` | [`INVALID_TIME_BOUNDS`](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_TIME_BOUNDS.md) | -| `INVALID_DEPLOYMENT_DATA` | [`INVALID_DEPLOYMENT_DATA`](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_DEPLOYMENT_DATA.md) | -| `INVALID_CLASS_HASH` | [`INVALID_CLASS_HASH`](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_CLASS_HASH.md) | -| `INVALID_ID` | [`INVALID_ID`](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ID.md) | -| `UNKNOWN_ERROR` | [`UNKNOWN_ERROR`](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.UNKNOWN_ERROR.md) | - -#### Defined in - -[src/types/errors.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/errors.ts#L5) - ---- - -### RPC_ERROR - -Ƭ **RPC_ERROR**: [`RPC_ERROR_SET`](types.md#rpc_error_set)[keyof [`RPC_ERROR_SET`](types.md#rpc_error_set)] - -#### Defined in - -[src/types/errors.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/errors.ts#L51) - ---- - -### OutsideExecutionVersion - -Ƭ **OutsideExecutionVersion**: `ValuesType` - -#### Defined in - -[src/types/outsideExecution.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L78) - -[src/types/outsideExecution.ts:83](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L83) - ---- - -### InvocationsSignerDetails - -Ƭ **InvocationsSignerDetails**: [`V2InvocationsSignerDetails`](types.md#v2invocationssignerdetails) \| [`V3InvocationsSignerDetails`](types.md#v3invocationssignerdetails) & \{ `version`: \`$\{ETransactionVersion}\` ; `skipValidate?`: `boolean` } - -#### Defined in - -[src/types/signer.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/signer.ts#L11) - ---- - -### V2InvocationsSignerDetails - -Ƭ **V2InvocationsSignerDetails**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------- | :-------------------------------------------------- | -| `walletAddress` | `string` | -| `cairoVersion` | [`CairoVersion`](types.md#cairoversion) | -| `chainId` | [`StarknetChainId`](constants.md#starknetchainid-1) | -| `nonce` | [`BigNumberish`](types.md#bignumberish) | -| `maxFee` | [`BigNumberish`](types.md#bignumberish) | -| `version` | \`$\{ETransactionVersion2}\` | - -#### Defined in - -[src/types/signer.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/signer.ts#L16) - ---- - -### V3InvocationsSignerDetails - -Ƭ **V3InvocationsSignerDetails**: [`V3TransactionDetails`](types.md#v3transactiondetails) & \{ `walletAddress`: `string` ; `cairoVersion`: [`CairoVersion`](types.md#cairoversion) ; `chainId`: [`StarknetChainId`](constants.md#starknetchainid-1) ; `version`: \`$\{ETransactionVersion3}\` } - -#### Defined in - -[src/types/signer.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/signer.ts#L25) - ---- - -### DeclareSignerDetails - -Ƭ **DeclareSignerDetails**: [`V3DeclareSignerDetails`](types.md#v3declaresignerdetails) \| [`V2DeclareSignerDetails`](types.md#v2declaresignerdetails) & \{ `version`: \`$\{ETransactionVersion}\` } - -#### Defined in - -[src/types/signer.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/signer.ts#L32) - ---- - -### V2DeclareSignerDetails - -Ƭ **V2DeclareSignerDetails**: `Required`<[`InvocationsDetails`](types.md#invocationsdetails)\> & \{ `classHash`: `string` ; `compiledClassHash?`: `string` ; `senderAddress`: `string` ; `chainId`: [`StarknetChainId`](constants.md#starknetchainid-1) ; `version`: \`$\{ETransactionVersion2}\` } - -#### Defined in - -[src/types/signer.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/signer.ts#L36) - ---- - -### V3DeclareSignerDetails - -Ƭ **V3DeclareSignerDetails**: [`V3TransactionDetails`](types.md#v3transactiondetails) & \{ `classHash`: `string` ; `compiledClassHash`: `string` ; `senderAddress`: `string` ; `chainId`: [`StarknetChainId`](constants.md#starknetchainid-1) ; `version`: \`$\{ETransactionVersion3}\` } - -#### Defined in - -[src/types/signer.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/signer.ts#L44) - ---- - -### DeployAccountSignerDetails - -Ƭ **DeployAccountSignerDetails**: [`V2DeployAccountSignerDetails`](types.md#v2deployaccountsignerdetails) \| [`V3DeployAccountSignerDetails`](types.md#v3deployaccountsignerdetails) - -#### Defined in - -[src/types/signer.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/signer.ts#L52) - ---- - -### V2DeployAccountSignerDetails - -Ƭ **V2DeployAccountSignerDetails**: `Required`<[`DeployAccountContractPayload`](types.md#deployaccountcontractpayload)\> & `Required`<[`InvocationsDetails`](types.md#invocationsdetails)\> & \{ `contractAddress`: [`BigNumberish`](types.md#bignumberish) ; `chainId`: [`StarknetChainId`](constants.md#starknetchainid-1) ; `version`: \`$\{ETransactionVersion2}\` } - -#### Defined in - -[src/types/signer.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/signer.ts#L56) - ---- - -### V3DeployAccountSignerDetails - -Ƭ **V3DeployAccountSignerDetails**: `Required`<[`DeployAccountContractPayload`](types.md#deployaccountcontractpayload)\> & [`V3TransactionDetails`](types.md#v3transactiondetails) & \{ `contractAddress`: [`BigNumberish`](types.md#bignumberish) ; `chainId`: [`StarknetChainId`](constants.md#starknetchainid-1) ; `version`: \`$\{ETransactionVersion3}\` } - -#### Defined in - -[src/types/signer.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/signer.ts#L63) - ---- - -### LedgerPathCalculation - -Ƭ **LedgerPathCalculation**: (`accountId`: `number`, `applicationName`: `string`) => `Uint8Array` - -#### Type declaration - -▸ (`accountId`, `applicationName`): `Uint8Array` - -##### Parameters - -| Name | Type | -| :---------------- | :------- | -| `accountId` | `number` | -| `applicationName` | `string` | - -##### Returns - -`Uint8Array` - -#### Defined in - -[src/types/signer.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/signer.ts#L70) - ---- - -### TransactionStatusReceiptSets - -Ƭ **TransactionStatusReceiptSets**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :-------------------------------------------------------------------------------------- | -| `success` | [`SuccessfulTransactionReceiptResponse`](types.md#successfultransactionreceiptresponse) | -| `reverted` | [`RevertedTransactionReceiptResponse`](types.md#revertedtransactionreceiptresponse) | -| `error` | `Error` | - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.type.ts:6](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.type.ts#L6) - ---- - -### TransactionReceiptStatus - -Ƭ **TransactionReceiptStatus**: keyof [`TransactionStatusReceiptSets`](types.md#transactionstatusreceiptsets) - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.type.ts#L12) - ---- - -### TransactionReceiptValue - -Ƭ **TransactionReceiptValue**: [`TransactionStatusReceiptSets`](types.md#transactionstatusreceiptsets)[[`TransactionReceiptStatus`](types.md#transactionreceiptstatus)] - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.type.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.type.ts#L13) - ---- - -### TransactionReceiptCallbacksDefined - -Ƭ **TransactionReceiptCallbacksDefined**: \{ [key in TransactionReceiptStatus]: Function } - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.type.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.type.ts#L15) - ---- - -### TransactionReceiptCallbacksDefault - -Ƭ **TransactionReceiptCallbacksDefault**: `Partial`<[`TransactionReceiptCallbacksDefined`](types.md#transactionreceiptcallbacksdefined)\> & \{ `_`: () => `void` } - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.type.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.type.ts#L18) - ---- - -### TransactionReceiptCallbacks - -Ƭ **TransactionReceiptCallbacks**: [`TransactionReceiptCallbacksDefined`](types.md#transactionreceiptcallbacksdefined) \| [`TransactionReceiptCallbacksDefault`](types.md#transactionreceiptcallbacksdefault) - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.type.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.type.ts#L21) - ---- - -### GetTransactionReceiptResponse - -Ƭ **GetTransactionReceiptResponse**<`T`\>: \{ `statusReceipt`: `T` ; `value`: [`TransactionStatusReceiptSets`](types.md#transactionstatusreceiptsets)[`T`] ; `match`: (`callbacks`: [`TransactionReceiptCallbacks`](types.md#transactionreceiptcallbacks)) => `void` } & \{ [key in \`is$\{Capitalize}\`]: Function } - -#### Type parameters - -| Name | Type | -| :--- | :---------------------------------------------------------------------------------------------------------------------------------------- | -| `T` | extends [`TransactionReceiptStatus`](types.md#transactionreceiptstatus) = [`TransactionReceiptStatus`](types.md#transactionreceiptstatus) | - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.type.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.type.ts#L28) - ---- - -### PaymasterRpcOptions - -Ƭ **PaymasterRpcOptions**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :------------------------------------------------------ | -| `nodeUrl?` | `string` \| [`NetworkName`](constants.md#networkname-1) | -| `default?` | `boolean` | -| `headers?` | `object` | -| `baseFetch?` | `WindowOrWorkerGlobalScope`[``"fetch"``] | - -#### Defined in - -[src/types/paymaster/configuration.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/configuration.ts#L5) - ---- - -### PaymasterFeeEstimate - -Ƭ **PaymasterFeeEstimate**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------------------- | :-------------------------------------- | -| `gas_token_price_in_strk` | [`BigNumberish`](types.md#bignumberish) | -| `estimated_fee_in_strk` | [`BigNumberish`](types.md#bignumberish) | -| `estimated_fee_in_gas_token` | [`BigNumberish`](types.md#bignumberish) | -| `suggested_max_fee_in_strk` | [`BigNumberish`](types.md#bignumberish) | -| `suggested_max_fee_in_gas_token` | [`BigNumberish`](types.md#bignumberish) | - -#### Defined in - -[src/types/paymaster/response.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L9) - ---- - -### PreparedDeployTransaction - -Ƭ **PreparedDeployTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------------------------------------------------- | -| `type` | `"deploy"` | -| `deployment` | [`ACCOUNT_DEPLOYMENT_DATA`](types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) | -| `parameters` | [`ExecutionParameters`](types.md#executionparameters) | -| `fee` | [`PaymasterFeeEstimate`](types.md#paymasterfeeestimate) | - -#### Defined in - -[src/types/paymaster/response.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L17) - ---- - -### PreparedInvokeTransaction - -Ƭ **PreparedInvokeTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :----------------------------------------------------------------------------------------- | -| `type` | `"invoke"` | -| `typed_data` | [`OutsideExecutionTypedData`](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddata) | -| `parameters` | [`ExecutionParameters`](types.md#executionparameters) | -| `fee` | [`PaymasterFeeEstimate`](types.md#paymasterfeeestimate) | - -#### Defined in - -[src/types/paymaster/response.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L23) - ---- - -### PreparedDeployAndInvokeTransaction - -Ƭ **PreparedDeployAndInvokeTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :----------------------------------------------------------------------------------------- | -| `type` | `"deploy_and_invoke"` | -| `deployment` | [`ACCOUNT_DEPLOYMENT_DATA`](types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) | -| `typed_data` | [`OutsideExecutionTypedData`](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddata) | -| `parameters` | [`ExecutionParameters`](types.md#executionparameters) | -| `fee` | [`PaymasterFeeEstimate`](types.md#paymasterfeeestimate) | - -#### Defined in - -[src/types/paymaster/response.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L29) - ---- - -### PreparedTransaction - -Ƭ **PreparedTransaction**: [`PreparedDeployTransaction`](types.md#prepareddeploytransaction) \| [`PreparedInvokeTransaction`](types.md#preparedinvoketransaction) \| [`PreparedDeployAndInvokeTransaction`](types.md#prepareddeployandinvoketransaction) - -#### Defined in - -[src/types/paymaster/response.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L36) - ---- - -### DeployTransaction - -Ƭ **DeployTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------------------------------------------------- | -| `type` | `"deploy"` | -| `deployment` | [`ACCOUNT_DEPLOYMENT_DATA`](types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) | - -#### Defined in - -[src/types/paymaster/response.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L47) - ---- - -### InvokeTransaction - -Ƭ **InvokeTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :---------------------------------- | -| `type` | `"invoke"` | -| `invoke` | [`UserInvoke`](types.md#userinvoke) | - -#### Defined in - -[src/types/paymaster/response.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L51) - ---- - -### UserInvoke - -Ƭ **UserInvoke**: `Object` - -#### Type declaration - -| Name | Type | -| :------------ | :------------------------ | -| `userAddress` | `string` | -| `calls` | [`Call`](types.md#call)[] | - -#### Defined in - -[src/types/paymaster/response.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L55) - ---- - -### DeployAndInvokeTransaction - -Ƭ **DeployAndInvokeTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------------------------------------------------- | -| `type` | `"deploy_and_invoke"` | -| `deployment` | [`ACCOUNT_DEPLOYMENT_DATA`](types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) | -| `invoke` | [`UserInvoke`](types.md#userinvoke) | - -#### Defined in - -[src/types/paymaster/response.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L59) - ---- - -### UserTransaction - -Ƭ **UserTransaction**: [`DeployTransaction`](types.md#deploytransaction) \| [`InvokeTransaction`](types.md#invoketransaction) \| [`DeployAndInvokeTransaction`](types.md#deployandinvoketransaction) - -#### Defined in - -[src/types/paymaster/response.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L64) - ---- - -### ExecutableDeployTransaction - -Ƭ **ExecutableDeployTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------------------------------------------------- | -| `type` | `"deploy"` | -| `deployment` | [`ACCOUNT_DEPLOYMENT_DATA`](types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) | - -#### Defined in - -[src/types/paymaster/response.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L66) - ---- - -### ExecutableInvokeTransaction - -Ƭ **ExecutableInvokeTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :------------------------------------------------------ | -| `type` | `"invoke"` | -| `invoke` | [`ExecutableUserInvoke`](types.md#executableuserinvoke) | - -#### Defined in - -[src/types/paymaster/response.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L70) - ---- - -### ExecutableUserInvoke - -Ƭ **ExecutableUserInvoke**: `Object` - -#### Type declaration - -| Name | Type | -| :------------ | :----------------------------------------------------------------------------------------- | -| `userAddress` | `string` | -| `typedData` | [`OutsideExecutionTypedData`](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddata) | -| `signature` | `string`[] | - -#### Defined in - -[src/types/paymaster/response.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L74) - ---- - -### ExecutableDeployAndInvokeTransaction - -Ƭ **ExecutableDeployAndInvokeTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------------------------------------------------- | -| `type` | `"deploy_and_invoke"` | -| `deployment` | [`ACCOUNT_DEPLOYMENT_DATA`](types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) | -| `invoke` | [`ExecutableUserInvoke`](types.md#executableuserinvoke) | - -#### Defined in - -[src/types/paymaster/response.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L79) - ---- - -### ExecutableUserTransaction - -Ƭ **ExecutableUserTransaction**: [`ExecutableDeployTransaction`](types.md#executabledeploytransaction) \| [`ExecutableInvokeTransaction`](types.md#executableinvoketransaction) \| [`ExecutableDeployAndInvokeTransaction`](types.md#executabledeployandinvoketransaction) - -#### Defined in - -[src/types/paymaster/response.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L84) - ---- - -### FeeMode - -Ƭ **FeeMode**: \{ `mode`: `"sponsored"` } \| \{ `mode`: `"default"` ; `gasToken`: `string` } - -#### Defined in - -[src/types/paymaster/response.ts:89](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L89) - ---- - -### ExecutionParameters - -Ƭ **ExecutionParameters**: `Object` - -#### Type declaration - -| Name | Type | -| :------------ | :------------------------------------------------------------------ | -| `version` | `"0x1"` | -| `feeMode` | [`FeeMode`](types.md#feemode) | -| `timeBounds?` | [`PaymasterTimeBounds`](../interfaces/types.PaymasterTimeBounds.md) | - -#### Defined in - -[src/types/paymaster/response.ts:90](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/paymaster/response.ts#L90) - -## Variables - -### TransactionType - -• `Const` **TransactionType**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :------------------ | -| `DECLARE` | `"DECLARE"` | -| `DEPLOY` | `"DEPLOY"` | -| `DEPLOY_ACCOUNT` | `"DEPLOY_ACCOUNT"` | -| `INVOKE` | `"INVOKE_FUNCTION"` | - -#### Defined in - -[src/types/lib/index.ts:171](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L171) - -[src/types/lib/index.ts:178](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L178) - ---- - -### TransactionFinalityStatus - -• `Const` **TransactionFinalityStatus**: `Object` - -new statuses are defined by props: finality_status and execution_status -to be #deprecated - -#### Type declaration - -| Name | Type | -| :--------------- | :----------------- | -| `NOT_RECEIVED` | `"NOT_RECEIVED"` | -| `RECEIVED` | `"RECEIVED"` | -| `ACCEPTED_ON_L2` | `"ACCEPTED_ON_L2"` | -| `ACCEPTED_ON_L1` | `"ACCEPTED_ON_L1"` | - -#### Defined in - -[src/types/lib/index.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L195) - -[src/types/lib/index.ts:202](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L202) - ---- - -### TransactionExecutionStatus - -• `Const` **TransactionExecutionStatus**: `Object` - -#### Type declaration - -| Name | Type | -| :---------- | :------------ | -| `REJECTED` | `"REJECTED"` | -| `REVERTED` | `"REVERTED"` | -| `SUCCEEDED` | `"SUCCEEDED"` | - -#### Defined in - -[src/types/lib/index.ts:204](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L204) - -[src/types/lib/index.ts:210](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L210) - ---- - -### BlockStatus - -• `Const` **BlockStatus**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :----------------- | -| `PENDING` | `"PENDING"` | -| `ACCEPTED_ON_L1` | `"ACCEPTED_ON_L1"` | -| `ACCEPTED_ON_L2` | `"ACCEPTED_ON_L2"` | -| `REJECTED` | `"REJECTED"` | - -#### Defined in - -[src/types/lib/index.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L212) - -[src/types/lib/index.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L219) - ---- - -### BlockTag - -• `Const` **BlockTag**: `Object` - -#### Type declaration - -| Name | Type | -| :-------- | :---------- | -| `PENDING` | `"pending"` | -| `LATEST` | `"latest"` | - -#### Defined in - -[src/types/lib/index.ts:221](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L221) - -[src/types/lib/index.ts:226](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L226) - ---- - -### EntryPointType - -• `Const` **EntryPointType**: `Object` - -#### Type declaration - -| Name | Type | -| :------------ | :-------------- | -| `EXTERNAL` | `"EXTERNAL"` | -| `L1_HANDLER` | `"L1_HANDLER"` | -| `CONSTRUCTOR` | `"CONSTRUCTOR"` | - -#### Defined in - -[src/types/lib/contract/index.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/index.ts#L24) - -[src/types/lib/contract/index.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/contract/index.ts#L30) - ---- - -### ETransactionVersion - -• **ETransactionVersion**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :--- | :-------------------------------------- | :--------------------------------------------------------------- | -| `V0` | `"0x0"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `V1` | `"0x1"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `V2` | `"0x2"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `V3` | `"0x3"` | - | -| `F0` | `"0x100000000000000000000000000000000"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `F1` | `"0x100000000000000000000000000000001"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `F2` | `"0x100000000000000000000000000000002"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `F3` | `"0x100000000000000000000000000000003"` | - | - -#### Defined in - -[src/provider/types/spec.type.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L57) - -[src/provider/types/spec.type.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L58) - ---- - -### ETransactionVersion2 - -• **ETransactionVersion2**: `Object` - -#### Type declaration - -| Name | Type | -| :--- | :-------------------------------------- | -| `V0` | `"0x0"` | -| `V1` | `"0x1"` | -| `V2` | `"0x2"` | -| `F0` | `"0x100000000000000000000000000000000"` | -| `F1` | `"0x100000000000000000000000000000001"` | -| `F2` | `"0x100000000000000000000000000000002"` | - -#### Defined in - -[src/provider/types/spec.type.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L60) - -[src/provider/types/spec.type.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L61) - ---- - -### ETransactionVersion3 - -• **ETransactionVersion3**: `Object` - -#### Type declaration - -| Name | Type | -| :--- | :-------------------------------------- | -| `V3` | `"0x3"` | -| `F3` | `"0x100000000000000000000000000000003"` | - -#### Defined in - -[src/provider/types/spec.type.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L63) - -[src/provider/types/spec.type.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L64) - ---- - -### EDataAvailabilityMode - -• **EDataAvailabilityMode**: `Object` - -#### Type declaration - -| Name | Type | -| :--- | :----- | -| `L1` | `"L1"` | -| `L2` | `"L2"` | - -#### Defined in - -[src/provider/types/spec.type.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L119) - -[src/provider/types/spec.type.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L120) - ---- - -### EDAMode - -• **EDAMode**: `Object` - -#### Type declaration - -| Name | Type | -| :--- | :--- | -| `L1` | `0` | -| `L2` | `1` | - -#### Defined in - -[src/provider/types/spec.type.ts:121](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L121) - -[src/provider/types/spec.type.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L122) - ---- - -### ETransactionStatus - -• **ETransactionStatus**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :----------------- | -| `RECEIVED` | `"RECEIVED"` | -| `REJECTED` | `"REJECTED"` | -| `ACCEPTED_ON_L2` | `"ACCEPTED_ON_L2"` | -| `ACCEPTED_ON_L1` | `"ACCEPTED_ON_L1"` | - -#### Defined in - -[src/provider/types/spec.type.ts:194](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L194) - -[src/provider/types/spec.type.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L195) - ---- - -### ETransactionExecutionStatus - -• **ETransactionExecutionStatus**: `Object` - -#### Type declaration - -| Name | Type | -| :---------- | :------------ | -| `SUCCEEDED` | `"SUCCEEDED"` | -| `REVERTED` | `"REVERTED"` | - -#### Defined in - -[src/provider/types/spec.type.ts:196](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L196) - -[src/provider/types/spec.type.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L197) - ---- - -### ValidateType - -• `Const` **ValidateType**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :--------- | -| `DEPLOY` | `"DEPLOY"` | -| `CALL` | `"CALL"` | -| `INVOKE` | `"INVOKE"` | - -#### Defined in - -[src/types/calldata.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L3) - -[src/types/calldata.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L9) - ---- - -### Uint - -• `Const` **Uint**: `Object` - -#### Type declaration - -| Name | Type | -| :----- | :---------------------- | -| `u8` | `"core::integer::u8"` | -| `u16` | `"core::integer::u16"` | -| `u32` | `"core::integer::u32"` | -| `u64` | `"core::integer::u64"` | -| `u128` | `"core::integer::u128"` | -| `u256` | `"core::integer::u256"` | -| `u512` | `"core::integer::u512"` | - -#### Defined in - -[src/types/calldata.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L11) - -[src/types/calldata.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L21) - ---- - -### Literal - -• `Const` **Literal**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :------------------------------------------------------------------------------ | -| `ClassHash` | `"core::starknet::class_hash::ClassHash"` | -| `ContractAddress` | `"core::starknet::contract_address::ContractAddress"` | -| `Secp256k1Point` | `"core::starknet::secp256k1::Secp256k1Point"` | -| `U96` | `"core::internal::bounded_int::BoundedInt::<0, 79228162514264337593543950335>"` | - -#### Defined in - -[src/types/calldata.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L23) - -[src/types/calldata.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L30) - ---- - -### ETH_ADDRESS - -• `Const` **ETH_ADDRESS**: `"core::starknet::eth_address::EthAddress"` - -#### Defined in - -[src/types/calldata.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L32) - ---- - -### NON_ZERO_PREFIX - -• `Const` **NON_ZERO_PREFIX**: `"core::zeroable::NonZero::"` - -#### Defined in - -[src/types/calldata.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/calldata.ts#L33) - ---- - -### OutsideExecutionTypesV1 - -• `Const` **OutsideExecutionTypesV1**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :------------------------------------------------------------ | -| `StarkNetDomain` | \{ `name`: `string` = 'name'; `type`: `string` = 'felt' }[] | -| `OutsideExecution` | \{ `name`: `string` = 'caller'; `type`: `string` = 'felt' }[] | -| `OutsideCall` | \{ `name`: `string` = 'to'; `type`: `string` = 'felt' }[] | - -#### Defined in - -[src/types/outsideExecution.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L34) - ---- - -### OutsideExecutionTypesV2 - -• `Const` **OutsideExecutionTypesV2**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :----------------------------------------------------------------------- | -| `StarknetDomain` | \{ `name`: `string` = 'name'; `type`: `string` = 'shortstring' }[] | -| `OutsideExecution` | \{ `name`: `string` = 'Caller'; `type`: `string` = 'ContractAddress' }[] | -| `Call` | \{ `name`: `string` = 'To'; `type`: `string` = 'ContractAddress' }[] | - -#### Defined in - -[src/types/outsideExecution.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L56) - ---- - -### OutsideExecutionVersion - -• `Const` **OutsideExecutionVersion**: `Object` - -#### Type declaration - -| Name | Type | -| :------------ | :---- | -| `UNSUPPORTED` | `"0"` | -| `V1` | `"1"` | -| `V2` | `"2"` | - -#### Defined in - -[src/types/outsideExecution.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L78) - -[src/types/outsideExecution.ts:83](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L83) - -## Functions - -### isRPC08_FeeEstimate - -▸ **isRPC08_FeeEstimate**(`entry`): entry is FEE_ESTIMATE - -#### Parameters - -| Name | Type | -| :------ | :------------------------------------ | -| `entry` | [`FeeEstimate`](types.md#feeestimate) | - -#### Returns - -entry is FEE_ESTIMATE - -#### Defined in - -[src/provider/types/spec.type.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L135) - ---- - -### isRPC08_ResourceBounds - -▸ **isRPC08_ResourceBounds**(`entry`): entry is RESOURCE_BOUNDS_MAPPING - -#### Parameters - -| Name | Type | -| :------ | :------------------------------------------ | -| `entry` | [`ResourceBounds`](types.md#resourcebounds) | - -#### Returns - -entry is RESOURCE_BOUNDS_MAPPING - -#### Defined in - -[src/provider/types/spec.type.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/spec.type.ts#L144) diff --git a/www/versioned_docs/version-7.5.1/guides/L1message.md b/www/versioned_docs/version-7.5.1/guides/L1message.md deleted file mode 100644 index 283df3d1d..000000000 --- a/www/versioned_docs/version-7.5.1/guides/L1message.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -sidebar_position: 14 ---- - -# Messages with L1 network - -You can exchange messages between L1 & L2 networks: - -- L2 Starknet Mainnet ↔️ L1 Ethereum. -- L2 Starknet Testnet ↔️ L1 Sepolia ETH testnet. -- L2 local Starknet Devnet ↔️ L1 local ETH testnet (anvil, ...). - -You can find an explanation of the global mechanism [here](https://docs.starknet.io/architecture-and-concepts/network-architecture/messaging-mechanism/). - -Most of the code for this messaging process will be written in Cairo, but Starknet.js provides some functionalities for this subject. - -## L1 ➡️ L2 messages - -To send a message from L1 to L2, you need a solidity smart contract in the L1 network, calling the `SendMessageToL2` function of the Starknet core contract. -The interface of this function: - -```solidity -/** - Sends a message to an L2 contract. - This function is payable, the paid amount is the message fee. - Returns the hash of the message and the nonce of the message. -*/ -function sendMessageToL2( - uint256 toAddress, - uint256 selector, - uint256[] calldata payload -) external payable returns (bytes32, uint256); -``` - -You have to pay in the L1 an extra fee when invoking `sendMessageToL2` (of course paid with the L1 fee TOKEN), to pay the L2 part of the messaging mechanism. You can estimate this fee with this function: - -```typescript -import { RpcProvider, constants } from 'starknet'; -const provider = new RpcProvider({ nodeUrl: constants.NetworkName.SN_SEPOLIA }); // for testnet - -const responseEstimateMessageFee = await provider.estimateMessageFee({ - from_address: L1address, - to_address: L2address, - entry_point_selector: 'handle_l1_mess', - payload: ['1234567890123456789', '200'], // without from_address -}); -``` - -If the fee is paid in L1, the Cairo contract at `to_Address` is automatically executed, function `entry_point_selector` (the function shall have a decorator `#[l1_handler]` in the Cairo code, with a first parameter called `from_address: felt252`). The payload shall not include the `from_address` parameter. - -### L1 ➡️ L2 hashes - -Starknet.js proposes 3 functions to calculate hashes related to a L1 ➡️ L2 message : - -- The L1 ➡️ L2 message hash, from the L1 transaction: - - For a L1 tx requesting a message L1->L2, some data extracted from etherscan : https://sepolia.etherscan.io/tx/0xd82ce7dd9f3964d89d2eb9d555e1460fb7792be274950abe578d610f95cc40f5 - - ```typescript - const l1FromAddress = '0x0000000000000000000000008453fc6cd1bcfe8d4dfc069c400b433054d47bdc'; - const l2ToAddress = 2158142789748719025684046545159279785659305214176670733242887773692203401023n; - const l2Selector = 774397379524139446221206168840917193112228400237242521560346153613428128537n; - const payload = [ - 4543560n, - 829565602143178078434185452406102222830667255948n, - 3461886633118033953192540141609307739580461579986333346825796013261542798665n, - 9000000000000000n, - 0n, - ]; - const l1Nonce = 8288n; - const l1ToL2MessageHash = hash.getL2MessageHash( - l1FromAddress, - l2ToAddress, - l2Selector, - payload, - l1Nonce - ); - // l1ToL2MessageHash = '0x2e350fa9d830482605cb68be4fdb9f0cb3e1f95a0c51623ac1a5d1bd997c2090' - ``` - - Can be verified here: https://sepolia.starkscan.co/message/0x2e350fa9d830482605cb68be4fdb9f0cb3e1f95a0c51623ac1a5d1bd997c2090#messagelogs - -- The L1 ➡️ L2 message hash, from the L2 transaction hash: - - ```typescript - const l2TransactionHash = '0x28dfc05eb4f261b37ddad451ff22f1d08d4e3c24dc646af0ec69fa20e096819'; - const l1MessageHash = await provider.getL1MessageHash(l2TransactionHash); - // l1MessageHash = '0x55b3f8b6e607fffd9b4d843dfe8f9b5c05822cd94fcad8797deb01d77805532a' - ``` - - Can be verified here : https://sepolia.voyager.online/tx/0x28dfc05eb4f261b37ddad451ff22f1d08d4e3c24dc646af0ec69fa20e096819#messages - -- The L1 ➡️ L2 transaction hash, from the L1 transaction: - - ```typescript - const l1ToL2TransactionHash = hash.calculateL2MessageTxHash( - l1FromAddress, - l2ToAddress, - l2Selector, - payload, - constants.StarknetChainId.SN_SEPOLIA, - l1Nonce - ); - // l1ToL2TransactionHash = '0x67d959200d65d4ad293aa4b0da21bb050a1f669bce37d215c6edbf041269c07' - ``` - - Can be verified here : https://sepolia.starkscan.co/tx/0x067d959200d65d4ad293aa4b0da21bb050a1f669bce37d215c6edbf041269c07 - -## L2 ➡️ L1 messages - -To send a message to L1, you will just invoke a Cairo contract function, paying a fee that will pay for all the processes (in L1 & L2). - -If necessary, you can estimate this fee with the generic `estimateInvokeFee` function: - -```typescript -const { suggestedMaxFee } = await account0.estimateInvokeFee({ - contractAddress: testAddress, - entrypoint: 'withdraw_to_L1', - calldata: ['123456789', '30'], -}); -``` - -The result is in `suggestedMaxFee`. - -### L2 ➡️ L1 hash - -The L2 ➡️ L1 message hash, from the message content: - -```typescript -const fromL2Address = '0x04c5772d1914fe6ce891b64eb35bf3522aeae1315647314aac58b01137607f3f'; -const toL1Address = '0x8453fc6cd1bcfe8d4dfc069c400b433054d47bdc'; -const payloadMessage = [ - 0n, - 1270393329865452722422775477982592488490549769359n, - 4543560n, - 200000000000000, - 0n, -]; -const l2ToL1MessageHash = hash.getL1MessageHash(fromL2Address, toL1Address, payloadMessage); -// l2ToL1MessageHash = '0x2eace1d0ab5dbe354a93fb0a59c6b98f26e6a0fe7c33f87329f8fc9829058b8b' -``` - -Can be verified here : https://sepolia.voyager.online/message/0x2eace1d0ab5dbe354a93fb0a59c6b98f26e6a0fe7c33f87329f8fc9829058b8b diff --git a/www/versioned_docs/version-7.5.1/guides/automatic_cairo_ABI_parsing.md b/www/versioned_docs/version-7.5.1/guides/automatic_cairo_ABI_parsing.md deleted file mode 100644 index 11aebb085..000000000 --- a/www/versioned_docs/version-7.5.1/guides/automatic_cairo_ABI_parsing.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -sidebar_position: 18 ---- - -# Automatic TypeScript parsing of Cairo ABI-s - -Starknet.js has integrated [Abi-Wan-Kanabi](https://github.com/keep-starknet-strange/abi-wan-kanabi), the standalone TypeScript parser for Cairo smart contracts. - -It enables on-the-fly typechecking and autocompletion for contract calls directly in TypeScript. Developers can now catch typing mistakes early, prior to executing a call on-chain, thus enhancing the overall DAPP development experience. - -## Supported Cairo ABI-s - -Please take a look on the Abi-Wan [documentation](https://github.com/keep-starknet-strange/abi-wan-kanabi#cairo-versions) for a list of supported Cairo ABI-s. - -## Usage - -First, you need to wrap your ABI in an array and export it as a `const`. - -Example: - -```js -export const ABI = [ - { - type: 'function', - name: 'increase_balance', - inputs: [ - { - name: 'amount', - type: 'core::felt252', - }, - ], - outputs: [], - state_mutability: 'external', - }, -] as const; -``` - -Later on, to use it in our code: - -```js -import { Contract, RpcProvider, constants } from 'starknet'; - -const address = 'YOUR_ADDRESS_HERE'; -const provider = new RpcProvider({ nodeUrl: `${yourNodeUrl}` }); -const contract = new Contract(ABI, address, provider).typedv2(ABI); - -// Notice the autocompletion and typechecking in your editor -const result = await contract.increase_balance(100); -``` - -After that, you can use `contract` in your code as you would before, but with autocompletion and typechecking! - -### Generate `abi.ts` from the contract class - -If you have your contract class in a Json file, you can use the abiwan CLI to generate the `abi.ts` typescript file - -```bash -npx abi-wan-kanabi --input /path/to/contract_class.json --output /path/to/abi.ts -``` - -### Usage for deployed contracts - -Let's say you want to interact with the [Ekubo: Core](https://starkscan.co/contract/0x00000005dd3d2f4429af886cd1a3b08289dbcea99a294197e9eb43b0e0325b4b) contract - -You need to first get the **ABI** of the contract and export it in a typescript file, you can do so using one command combining both [`starkli`](https://github.com/xJonathanLEI/starkli) (tested with version 0.2.3) and `npx abi-wan-kanabi`: - -```bash -starkli class-at "0x00000005dd3d2f4429af886cd1a3b08289dbcea99a294197e9eb43b0e0325b4b" --network mainnet | npx abi-wan-kanabi --input /dev/stdin --output abi.ts -``` - -```typescript -import { Contract, RpcProvider, constants } from 'starknet'; -import { ABI } from './abi'; - -const address = '0x00000005dd3d2f4429af886cd1a3b08289dbcea99a294197e9eb43b0e0325b4b'; -const provider = new RpcProvider({ nodeUrl: constants.NetworkName.SN_MAIN }); -const contract = new Contract(ABI, address, provider).typedv2(ABI); - -// Notice the types inferred for the parameter and the returned value -const primary_interface_id = contract.get_primary_interface_id(); -const protocol_fees_collected = contract.get_protocol_fees_collected('0x1'); -``` diff --git a/www/versioned_docs/version-7.5.1/guides/cairo_enum.md b/www/versioned_docs/version-7.5.1/guides/cairo_enum.md deleted file mode 100644 index 20dfeec7e..000000000 --- a/www/versioned_docs/version-7.5.1/guides/cairo_enum.md +++ /dev/null @@ -1,285 +0,0 @@ ---- -sidebar_position: 17 ---- - -# Cairo Enums - -## Cairo Enums usage - -Cairo-lang v0.12.0 (includes Cairo v2.0.0) introduces a new type of data that can be exchanged with Starknet: the Enums. Not related to the TypeScript Enums, the Cairo Enums are identical to Rust Enums. -More information in the Cairo book [here](https://book.cairo-lang.org/ch08-01-generic-data-types.html?highlight=enum#enums). -In the following paragraphs, you will see how to send and receive Enums with the Starknet network. - -## Cairo Option - -The `Option` Enum is a core enum, and has 2 variants (`Some` and `None`). Only the `some` variant can contain data. - -### Receive Cairo Option - -An example of Cairo code that returns an Option enum: - -```rust -fn test(self: @ContractState, val1: u16) -> Option { - if val1 < 100 { - return Option::None(()); - } - Option::Some(Order { p1: 18, p2: val1 }) -} -``` - -In your code, the Starknet.js response will be an instance of the CairoOption class: - -```typescript -import { CairoOption } from 'starknet'; -type Order = { - p1: BigNumberish; - p2: BigNumberish; -}; -const res: CairoOption = await myTestContract.test(50); -const res2: CairoOption = await myTestContract.test(150); -``` - -In `CairoOption`, T is the type of the data related to the `Some` variant. -The `CairoOption` class has "Cairo like" methods: - -```typescript -const a = res.isSome(); // false -const a2 = res2.isSome(); // true -const b = res.isNone(); // true -const b2 = res2.isNone(); // false -const c = res.unwrap(); // undefined -const c2: Order = res2.unwrap(); // { p1: 18n, p2: 150n } -``` - -### Send Cairo Option - -An example of Cairo code that use an Option enum as input: - -```rust -fn test5(self: @ContractState, inp: Option) -> u16 { - match inp { - Option::Some(x) => { - return x.p2; - }, - Option::None(()) => { - return 17; - } - } -} -``` - -In your code, the Starknet.js request is an instance of the CairoOption class: - -```typescript -import { CairoOption, CairoOptionVariant } from 'starknet'; -type Order = { - p1: BigNumberish; - p2: BigNumberish; -}; -const res = (await myTestContract.call('test5', [ - new CairoOption(CairoOptionVariant.Some, { p1: 20, p2: 40 }), -])) as bigint; -const res2 = (await myTestContract.call('test5', [ - new CairoOption(CairoOptionVariant.None), -])) as bigint; -``` - -## Cairo Result - -Cairo v2.1.0 introduces another core Enum: `Result`. -This Enum has 2 variants (`Ok` and `Err`) and both variants can contain data. - -### Receive Cairo Result - -An example of Cairo code that returns a Result enum: - -```rust -fn test(self: @ContractState, val1: u16) -> Result { - if val1 < 100 { - return Result::Err(14); - } - Result::Ok(val1) -} -``` - -In your code, the Starknet.js response will be an instance of the CairoResult class: - -```typescript -import { CairoResult } from 'starknet'; - -const res: CairoResult = await myTestContract.test(90); -const res2 = (await myTestContract.call('test', [110])) as CairoResult; -``` - -In `CairoResult`, T is the type of the data related to the `Ok` variant, and U is the type of the data related to the `Err` variant. -The `CairoResult` class has "Cairo like" methods: - -```typescript -const a = res.isOk(); // false -const a2 = res2.isOk(); // true -const b = res.isErr(); // true -const b2 = res2.isErr(); // false -const c = res.unwrap(); // 14n -const c2 = res2.unwrap(); // 110n -``` - -### Send Cairo Result - -An example of Cairo code that uses a Result enum: - -```rust -fn test8(self: @ContractState, inp: Result) -> u16 { - match inp { - Result::Ok(x) => { - return x.p2; - }, - Result::Err(y) => { - return y; - } - } -} -``` - -In your code, the Starknet.js request is an instance of the CairoResult class: - -```typescript -import { CairoResult, CairoResultVariant } from 'starknet'; - -const res = (await myTestContract.call('test8', [ - new CairoResult(CairoResultVariant.Ok, { p1: 50, p2: 60 }), -])) as bigint; -const res2 = (await myTestContract.call('test8', [ - new CairoResult(CairoResultVariant.Err, 50), -])) as bigint; -``` - -## Cairo custom Enum - -In Cairo v2.0.0, you can also create your own customized Enum. - -### Receive Cairo custom Enum - -An example of Cairo code that returns the Result enum: - -```rust -#[derive(Drop, Serde, Append)] -enum MyEnum { - Response: Order, - Warning: felt252, - Error: (u16,u16), - Critical: Array, - Empty:(), -} -fn test(self: @ContractState, val1: u16) -> MyEnum { - if val1 < 100 { - return MyEnum::Error((3,4)); - } - if val1 == 100 { - return MyEnum::Warning('attention:100'); - } - if val1 < 150 { - let mut arr=ArrayTrait::new(); - arr.append(5); - arr.append(6); - return MyEnum::Critical(arr); - } - if val1<200 { - return MyEnum::Empty(()); - } - MyEnum::Response(Order { p1: 1, p2: val1 }) -} -``` - -This example Enum has 5 variants (`Response`, `Warning`, `Error`, `Critical` and `Empty`) and both variants can contain data. - -In your code, the Starknet.js response will be an instance of the CairoCustomEnum class: - -```typescript -import { CairoCustomEnum } from 'starknet'; - -const res: CairoCustomEnum = await myTestContract.test(10); -const res2: CairoCustomEnum = await myTestContract.test(100); -const res3: CairoCustomEnum = await myTestContract.test(120); -const res4: CairoCustomEnum = await myTestContract.test(190); -const res5: CairoCustomEnum = await myTestContract.test(220); -``` - -The `CairoCustomEnum` class has "Cairo like" methods: - -```typescript -const a = res.activeVariant(); // "Error" -const a2 = res2.activeVariant(); // "Warning" -const a3 = res3.activeVariant(); // "Critical" -const a4 = res4.activeVariant(); // "Response" -const a5 = res5.activeVariant(); // "Empty" -const c = res.unwrap(); // {"0": 3n, "1": 4n} -const c2: bigint = res2.unwrap(); // 7721172739414537047772488609840n -const c3: bigint[] = res3.unwrap(); // [5n, 6n] -const c4: Order = res4.unwrap(); // { p1: 1n, p2: 190n } -const c5: Object = res5.unwrap(); // {} -``` - -> In a `CairoCustomEnum` instance, you can also have a direct access to the content of a variant: - -```typescript -const d: Order = res4.variant.Response; // { p1: 1n, p2: 190n } -const e = res4.variant['Critical']; // undefined -``` - -### Send Cairo custom Enum - -An example of Cairo code that uses the Result enum: - -```rust -#[derive(Drop, Serde, Append)] -enum MyEnum { - Response: Order, - Warning: felt252, - Error: (u16,u16), - Critical: Array, - Empty:(), -} -fn test2a(self: @ContractState, customEnum:MyEnum ) -> u16{ - match customEnum{ - MyEnum::Response(my_order)=>{return my_order.p2;}, - MyEnum::Warning(val)=>{return 0x13_u16;}, - MyEnum::Error((a,b))=>{return b;}, - MyEnum::Critical(myArray)=>{return 0x3c_u16;}, - MyEnum::Empty(_)=>{return 0xab_u16;} - } -} -``` - -In your code, the Starknet.js request is an instance of the CairoCustomEnum class: - -```typescript -import { CairoCustomEnum } from 'starknet'; - -const orderToSend: Order = { p1: 8, p2: 10 }; -const myCustomEnum = new CairoCustomEnum({ Response: orderToSend }); -const res14 = (await myTestContract.call('test2a', [myCustomEnum])) as bigint; -const res14c = (await myTestContract.call('test2a', [ - new CairoCustomEnum({ Error: cairo.tuple(100, 110) }), -])) as bigint; -const res14d = (await myTestContract.call('test2a', [ - new CairoCustomEnum({ Critical: ['0x10', '0x11'] }), -])) as bigint; -const res14e = (await myTestContract.call('test2a', [ - new CairoCustomEnum({ Empty: {} }), -])) as bigint; -``` - -Take care that if you call a method that do not use the ABI (as `CallData.compile`), you have to list all the variants of the enum, like this: - -```typescript -const orderToSend: Order = { p1: 8, p2: 10 }; -const myCustomEnum = new CairoCustomEnum({ - Response: undefined, - Warning: undefined, - Error: cairo.tuple(100, 110), - Critical: undefined, - Empty: undefined, -}); -const myCalldata = CallData.compile(myCustomEnum); -const res = (await myTestContract.call('test2a', myCalldata)) as bigint; -``` diff --git a/www/versioned_docs/version-7.5.1/guides/connect_account.md b/www/versioned_docs/version-7.5.1/guides/connect_account.md deleted file mode 100644 index 62f1b33c2..000000000 --- a/www/versioned_docs/version-7.5.1/guides/connect_account.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -sidebar_position: 4 ---- - -# 🔌 Connect to an existing account - -Once your provider is initialized, you can connect an existing account. - -You need 2 pieces of data: - -- the address of the account -- the private key of this account - -```typescript -import { Account, RpcProvider } from 'starknet'; -``` - -## Connect to a pre-deployed account in Starknet Devnet - -When you launch `starknet-devnet`, 10 accounts are pre-deployed with 100 dummy ETH and STRK in each. - -Addresses and private keys are displayed on the console at initialization. - -> This data will change at each launch, so to freeze them, launch with: `cargo run --release -- --seed 0`. - -The result for `account #0`: - -```text -Address : 0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691 -Private key: 0x71d7bb07b9a64f6f78ac4c816aff4da9 -Public key : 0x7e52885445756b313ea16849145363ccb73fb4ab0440dbac333cf9d13de82b9 -``` - -Then you can use this code: - -```typescript -// initialize provider for Devnet v0.3.0 -const provider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); -// initialize existing account 0 pre-deployed on Devnet -const accountAddress = '0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691'; -const privateKey = '0x71d7bb07b9a64f6f78ac4c816aff4da9'; - -const account = new Account(provider, accountAddress, privateKey); -``` - -Your account is now connected, and you can use it. - -## 👛 Connect to an existing account (in any network) - -The code is the same, you just have to: - -- connect to the appropriate network. -- use the address of this account (public data). -- use the private key of this account (very sensitive data: your code MUST not disclose it). - -For example, to connect an existing account on testnet, with a private key stored in a .env non-archived file: - -```typescript -import * as dotenv from 'dotenv'; -dotenv.config(); - -// initialize RPC v0.8 provider -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); -// initialize existing account -const privateKey = process.env.OZ_NEW_ACCOUNT_PRIVKEY; -const accountAddress = '0x051158d244c7636dde39ec822873b29e6c9a758c6a9812d005b6287564908667'; - -const account = new Account(provider, accountAddress, privateKey); -``` - -:::tip -If you are connected to an RPC v0.7 node and you want to use ETH as fees for this account: - -```typescript -const myAccount = new Account( - provider, - accountAddress, - privateKey, - undefined, - ETransactionVersion.V2 -); -``` - -::: - -## Connect to an account that uses Ethereum signature - -Accounts that use Ethereum signatures are possible because of account abstraction. - -To connect to this type of account: - -```typescript -const myEthPrivateKey = '0x525bc68475c0955fae83869beec0996114d4bb27b28b781ed2a20ef23121b8de'; -const myEthAccountAddressInStarknet = - '0x65a822fbee1ae79e898688b5a4282dc79e0042cbed12f6169937fddb4c26641'; -const myEthSigner = new EthSigner(myEthPrivateKey); -const myEthAccount = new Account(provider, myEthAccountAddressInStarknet, myEthSigner); -``` diff --git a/www/versioned_docs/version-7.5.1/guides/connect_contract.md b/www/versioned_docs/version-7.5.1/guides/connect_contract.md deleted file mode 100644 index 606968330..000000000 --- a/www/versioned_docs/version-7.5.1/guides/connect_contract.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -sidebar_position: 5 ---- - -# 🔌 Connect a deployed contract - -Once your provider is initialized, you can connect a contract already deployed in the network. - -You need 2 pieces of data: - -- the address of the contract -- the ABI file of the contract (or the compiled/compressed contract file, that includes the ABI) - -> If you don't have the ABI file, the `provider.getClassAt()` and `provider.getClassByHash()` commands will recover the compressed contract file. As these methods generate a significant workload for the node, it's recommended to store the result on your computer to be able to reuse it later without using the provider each time: - -```typescript -import fs from 'fs'; - -const compressedContract = await provider.getClassAt(addrContract); -fs.writeFileSync('./myAbi.json', json.stringify(compressedContract.abi, undefined, 2)); -``` - -> When possible, prefer to read the compiled contract from a local Json file, as it's much more faster, using the `json.parse` util provided by Starknet.js, as shown below. - -## Get the ABI from a compiled/compressed file - -```typescript -import { RpcProvider, Contract, json } from 'starknet'; -``` - -If you have the compiled/compressed file of the contract, use this code to recover all data, including the ABI: - -```typescript -const compiledContract = json.parse( - fs.readFileSync('./compiledContracts/test.json').toString('ascii') -); -``` - -> Note the `json.parse` util provided by Starknet.js - -## Connect to the contract - -```typescript -// initialize provider -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); - -// initialize deployed contract -const testAddress = '0x7667469b8e93faa642573078b6bf8c790d3a6184b2a1bb39c5c923a732862e1'; -const compiledTest = json.parse(fs.readFileSync('./compiledContracts/test.json').toString('ascii')); - -// connect the contract -const myTestContract = new Contract(compiledTest.abi, testAddress, provider); -``` - -## Typechecking and autocompletion - -If you want to have typechecking and autocompletion for your contracts functions calls and catch typing errors early, you can use Abiwan! - -See [this guide](./automatic_cairo_ABI_parsing.md) for more details. diff --git a/www/versioned_docs/version-7.5.1/guides/connect_network.md b/www/versioned_docs/version-7.5.1/guides/connect_network.md deleted file mode 100644 index 64d69afd7..000000000 --- a/www/versioned_docs/version-7.5.1/guides/connect_network.md +++ /dev/null @@ -1,272 +0,0 @@ ---- -sidebar_position: 3 ---- - -# RpcProvider object 🔌 connect to the network - -The first thing to do is to define with which network you want to interact (Mainnet, Testnet, Devnet, ...). - -Then you need to select a node. A node is a safe way to connect with the Starknet blockchain. You can use: - -- a node supplied by a node provider - it can be free or not; it can have limitations or not; it can have WebSocket support or not. - > RPC node providers are for example Infura, Alchemy, Blast, Lava, Chainstack... -- your own node, located on your local computer or in your local network. - > you can spin up your own node with Pathfinder, Juno, Papyrus, Deoxys, ... -- a local development node, that simulates a Starknet network. Useful for devs to perform quick tests without spending precious fee token. - > Main development devnets are Starknet Devnet, Madara, ... - -Starknet.js communicates with nodes in accordance to a version of the RPC specification. Most nodes are able to use two RPC versions. -For example, this node is compatible with v0.7.1 and v0.8.0, using the following entry points: - -- "https://starknet-sepolia.public.blastapi.io/rpc/v0_7" -- "https://starknet-sepolia.public.blastapi.io/rpc/v0_8" - -From RPC v0.5.0, you can make a request to retrieve the RPC version that a node uses: - -```typescript -const resp = await myProvider.getSpecVersion(); -console.log('RPC version =', resp); -// result: RPC version = 0.8.0 -``` - -The Starknet.js version must align with the RPC version supported by the chosen node as shown below: - -| RPC spec version of your node | Starknet.js version to use | -| :---------------------------: | ----------------------------- | -| v0.4.0 | Starknet.js v5.21.1 | -| v0.5.0 | Starknet.js v5.23.0 | -| v0.5.1 | Starknet.js v5.29.0 or v6.1.0 | -| v0.6.0 | Starknet.js v6.24.1 | -| v0.7.1 | Starknet.js v6.24.1 or v7.0.1 | -| v0.8.0 | Starknet.js v7.0.1 | - -:::note -From version 6.x.x, Starknet.js is compatible with two RPC spec versions. -::: - -With the `RpcProvider` class, you define the Starknet RPC node to use: - -```typescript -import { RpcProvider } from 'starknet'; -``` - -## Connect your DAPP to an RPC node provider - -### Available nodes - -**Mainnet network:** - -| Node | with public url | with API key | -| -----------------------: | :--------------: | :--------------: | -| Alchemy | No | v0_6, v0_7 | -| Infura | No | v0_7 | -| Blast | v0_6, v0_7, v0_8 | v0_6, v0_7, v0_8 | -| Lava | v0_6, v0_7, v0_8 | v0_8 | -| Local Pathfinder v0.16.2 | v0_6, v0_7, v0_8 | N/A | -| Local Juno v0.14.2 | v0_6, v0_7, v0_8 | N/A | - -**Sepolia Testnet network:** - -| Node | with public url | with API key | -| -----------------------: | :--------------: | :----------: | -| Alchemy | No | v0_6, v0_7 | -| Infura | No | v0_7 | -| Blast | v0_6, v0_7, v0_8 | No | -| Lava | v0_6, v0_7, v0_8 | No | -| Local Pathfinder v0.16.2 | v0_6, v0_7, v0_8 | N/A | -| Local Juno v0.14.2 | v0_6, v0_7, v0_8 | N/A | - -**Local Starknet Devnet network:** - -| Node | with public url | with API key | -| ---------------------: | :-------------: | :----------: | -| starknet-devnet v0.2.4 | v0_7 | N/A | -| starknet-devnet v0.3.0 | v0_8 | N/A | - -:::note -This status has been verified 02/apr/2025. -::: - -### Default RPC node - -If you don't want to use a specific node or to handle an API key, you can use one of the defaults (using RPC spec v0.8.0): - -```typescript -const myProvider = new RpcProvider({ nodeUrl: constants.NetworkName.SN_SEPOLIA }); -const myProvider = new RpcProvider({ nodeUrl: constants.NetworkName.SN_MAIN }); -// or -const myProvider = new RpcProvider(); // Sepolia -``` - -> When using this syntax, a random public node will be selected. - -Using a specific `nodeUrl` is the better approach, as such nodes will have fewer limitations, their software will be more up to date, and they will be less congested. - -Some examples of `RpcProvider` instantiation to connect to RPC node providers: - -### Mainnet - -```typescript -// Infura node RPC 0.7.0 for Mainnet: -const providerInfuraMainnet = new RpcProvider({ - nodeUrl: 'https://starknet-mainnet.infura.io/v3/' + infuraKey, - specVersion: '0.7.1', -}); -// Blast node RPC 0.8.0 for Mainnet (0.6 & 0_7 also available): -const providerBlastMainnet = new RpcProvider({ - nodeUrl: 'https://starknet-mainnet.blastapi.io/' + blastKey + '/rpc/v0_8', -}); -// Lava node RPC 0.8.0 for Mainnet: -const providerMainnetLava = new RpcProvider({ - nodeUrl: 'https://g.w.lavanet.xyz:443/gateway/strk/rpc-http/' + lavaMainnetKey, -}); -// Alchemy node RPC 0.7.0 for Mainnet (0_6 also available): -const providerAlchemyMainnet = new RpcProvider({ - nodeUrl: 'https://starknet-mainnet.g.alchemy.com/starknet/version/rpc/v0_7/' + alchemyKey, - specVersion: '0.7.1', -}); -// Public Blast node RPC 0.8.0 for Mainnet (0.6 & 0_7 also available): -const providerBlastMainnet = new RpcProvider({ - nodeUrl: 'https://starknet-mainnet.public.blastapi.io/rpc/v0_8', -}); -// Public Lava node RPC 0.8.0 for Mainnet (0.6 & 0_7 also available): -const providerLavaMainnet = new RpcProvider({ - nodeUrl: 'https://rpc.starknet.lava.build/rpc/v0_8', -}); -``` - -> Take care to safely manage your API key. It's a confidential item! - -:::tip -If the RPC version of the node is 0.7, the `specVersion` parameter must be set: - -```typescript -const myProvider = new RpcProvider({ - nodeUrl: `${myNodeUrl}`, - specVersion: '0.7.1', -}); -``` - -If you are not sure about the RPC version (0.7 or 0.8), use: - -```typescript -const myProvider = await RpcProvider.create({ nodeUrl: `${myNodeUrl}` }); -``` - -Note that this approach is slower, it performs a request to the node. -::: - -### Goerli Testnet - -:::info -The Goerli Testnet is no longer in service. -::: - -### Sepolia Testnet - -```typescript -// Infura node RPC 0.7.0 for Sepolia Testnet : -const providerInfuraSepoliaTestnet = new RpcProvider({ - nodeUrl: 'https://starknet-sepolia.infura.io/v3/' + infuraKey, - specVersion: '0.7.1', -}); -// Public Blast node RPC 0.8.0 for Sepolia Testnet (0_6 & 0_7 also available) : -const providerSepoliaTestnetBlastPublic = new RpcProvider({ - nodeUrl: 'https://starknet-sepolia.public.blastapi.io/rpc/v0_8', -}); -// Public Lava node RPC 0.8.0 for Sepolia Testnet (0_6 & 0_7 also available) : -const providerSepoliaTestnetBlastPublic = new RpcProvider({ - nodeUrl: 'https://rpc.starknet-testnet.lava.build/rpc/v0_8', -}); -``` - -## Connect to your own node - -### Pathfinder - -For a local [Pathfinder](https://github.com/eqlabs/pathfinder) node: - -```typescript -const provider = new RpcProvider({ nodeUrl: '127.0.0.1:9545/rpc/v0_8' }); -``` - -Your node can be located in your local network (example: Pathfinder node running on a computer in your network, launched with this additional option: `--http-rpc 0.0.0.0:9545`). -You can connect with: - -```typescript -const provider = new RpcProvider({ nodeUrl: '192.168.1.99:9545/rpc/v0_8' }); -``` - -### Juno - -For a local [Juno](https://github.com/NethermindEth/juno) node initialize the provider with: - -```typescript -const provider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:6060/v0_8' }); -``` - -> If Juno is running on a separate computer in your local network, don't forget to add the option `--http-host 0.0.0.0` when launching Juno. - -## Devnet - -Example of a connection to a local development node (RPC 0.8.0), with starknet-devnet v0.3.0: - -```typescript -const provider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); -``` - -> If you customized the host or port during starknet-devnet initialization, adapt the script accordingly. - -## Batch JSON-RPC - -The BatchClient class allows requests to be batched together in a single HTTP request, either by the interval amount or at the end of the callback queue if the batch is set to 0. By batching requests, we can reduce the overhead associated with handling individual requests. - -#### Example of usage with RpcProvider - -```typescript -const myBatchProvider = new RpcProvider({ - batch: 0, -}); - -const [getBlockResponse, blockHashAndNumber, txCount] = await Promise.all([ - myBatchProvider.getBlock(), - myBatchProvider.getBlockLatestAccepted(), - myBatchProvider.getBlockTransactionCount('latest'), -]); - -// ... usage of getBlockResponse, blockHashAndNumber, txCount -``` - -#### Example of direct usage of underlying BatchClient class - -```typescript -const provider = new RpcProvider(); - -const batchClient = new BatchClient({ - nodeUrl: provider.channel.nodeUrl, - headers: provider.channel.headers, - interval: 0, -}); - -const [getBlockResponse, blockHashAndNumber, txCount] = await Promise.all([ - batchClient.getBlock(), - batchClient.getBlockLatestAccepted(), - batchClient.getBlockTransactionCount('latest'), -]); - -// ... usage of getBlockResponse, blockHashAndNumber, txCount -``` - -## Error handling - -The [Starknet RPC specification](https://github.com/starkware-libs/starknet-specs) defines a set of possible errors that the RPC endpoints could return for various scenarios. If such errors arise `starknet.js` represents them with the corresponding [RpcError](../API/classes/RpcError) class where the endpoint error response information is contained within the `baseError` property. Also of note is that the class has an `isType` convenience method that verifies the base error type as shown in the example below. - -#### Example - -```typescript -try { - ... -} catch (error) { - if (error instanceof RpcError && error.isType('UNEXPECTED_ERROR')) { ... } -} -``` diff --git a/www/versioned_docs/version-7.5.1/guides/create_account.md b/www/versioned_docs/version-7.5.1/guides/create_account.md deleted file mode 100644 index b547e80d5..000000000 --- a/www/versioned_docs/version-7.5.1/guides/create_account.md +++ /dev/null @@ -1,402 +0,0 @@ ---- -sidebar_position: 8 ---- - -# Create an account - -Since there are no Externally Owned Accounts (EOA) in Starknet, all Accounts in Starknet are contracts. - -Unlike in Ethereum where a wallet is created with a public and private key pair, Starknet Accounts are the only way to sign transactions and messages and verify signatures. Therefore an Account - Contract interface is needed. - -Account contracts on Starknet cannot be deployed without paying a fee. -Creating an account is a bit tricky; you have several steps: - -1. Decide on your account type (OpenZeppelin, ArgentX, Braavos, ...). -2. Compute the address of your future account. -3. Send funds to this pre-computed address. The funds will be used to pay for the account contract deployment and remains will fund the new account. -4. Actual deployment of the Account - -## Create an OZ (Open Zeppelin) account - -Here, we will create a wallet with the Open Zeppelin smart contract v0.17.0. The contract class is already implemented in Testnet. -This contract is coded in Cairo 1. - -```typescript -import { Account, constants, ec, json, stark, RpcProvider, hash, CallData } from 'starknet'; -``` - -### Compute address - -```typescript -// connect RPC 0.8 provider (Mainnet or Sepolia) -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); - -// new Open Zeppelin account v0.17.0 -// Generate public and private key pair. -const privateKey = stark.randomAddress(); -console.log('New OZ account:\nprivateKey=', privateKey); -const starkKeyPub = ec.starkCurve.getStarkKey(privateKey); -console.log('publicKey=', starkKeyPub); - -const OZaccountClassHash = '0x540d7f5ec7ecf317e68d48564934cb99259781b1ee3cedbbc37ec5337f8e688'; -// Calculate future address of the account -const OZaccountConstructorCallData = CallData.compile({ publicKey: starkKeyPub }); -const OZcontractAddress = hash.calculateContractAddressFromHash( - starkKeyPub, - OZaccountClassHash, - OZaccountConstructorCallData, - 0 -); -console.log('Precalculated account address=', OZcontractAddress); -``` - -If you want a specific private key, replace `stark.randomAddress()` with your choice. - -Then you have to fund this address! - -How to proceed is out of the scope of this guide, but you can for example: - -- Transfer STRK from another wallet. -- Bridge STRK to this Starknet address. -- Use a faucet. (https://starknet-faucet.vercel.app/) -- Mint STRK on starknet-devnet, like so: - -```bash -// STRK -curl -X POST http://127.0.0.1:5050/mint -d '{"address":"0x04a093c37ab61065d001550089b1089922212c60b34e662bb14f2f91faee2979","amount":50000000000000000000,"unit":"FRI"}' -H "Content-Type:application/json" -// ETH -curl -X POST http://127.0.0.1:5050/mint -d '{"address":"0x04a093c37ab61065d001550089b1089922212c60b34e662bb14f2f91faee2979","amount":50000000000000000000,"unit":"WEI"}' -H "Content-Type:application/json" -``` - -### Deployment of the new account - -If you have sent enough STRK to this new address, you can go forward to the final step: - -```typescript -const OZaccount = new Account(provider, OZcontractAddress, privateKey); - -const { transaction_hash, contract_address } = await OZaccount.deployAccount({ - classHash: OZaccountClassHash, - constructorCalldata: OZaccountConstructorCallData, - addressSalt: starkKeyPub, -}); - -await provider.waitForTransaction(transaction_hash); -console.log('✅ New OpenZeppelin account created.\n address =', contract_address); -``` - -## Create an Argent account - -Here, we will create a wallet with the Argent smart contract v0.4.0. The contract class is already implemented in the networks. - -:::caution -Smart ArgentX accounts can't be used outside of the ArgentX wallet. With Starknet.js, use only standard ArgentX accounts. -::: - -```typescript -import { - Account, - ec, - json, - stark, - RpcProvider, - hash, - CallData, - CairoOption, - CairoOptionVariant, - CairoCustomEnum, -} from 'starknet'; -``` - -### Compute address - -```typescript -// connect RPC 0.8 provider -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); - -//new Argent X account v0.4.0 -const argentXaccountClassHash = - '0x036078334509b514626504edc9fb252328d1a240e4e948bef8d0c08dff45927f'; - -// Generate public and private key pair. -const privateKeyAX = stark.randomAddress(); -console.log('AX_ACCOUNT_PRIVATE_KEY=', privateKeyAX); -const starkKeyPubAX = ec.starkCurve.getStarkKey(privateKeyAX); -console.log('AX_ACCOUNT_PUBLIC_KEY=', starkKeyPubAX); - -// Calculate future address of the ArgentX account -const axSigner = new CairoCustomEnum({ Starknet: { pubkey: starkKeyPubAX } }); -const axGuardian = new CairoOption(CairoOptionVariant.None); -const AXConstructorCallData = CallData.compile({ - owner: axSigner, - guardian: axGuardian, -}); -const AXcontractAddress = hash.calculateContractAddressFromHash( - starkKeyPubAX, - argentXaccountClassHash, - AXConstructorCallData, - 0 -); -console.log('Precalculated account address=', AXcontractAddress); -``` - -If you want a specific private key, replace `stark.randomAddress()` with a value of your choice. - -Then you have to fund this address. - -### Deployment of the new account - -If you have sent enough STRK to this new address, you can go forward to the final step: - -```typescript -const accountAX = new Account(provider, AXcontractAddress, privateKeyAX); - -const deployAccountPayload = { - classHash: argentXaccountClassHash, - constructorCalldata: AXConstructorCallData, - contractAddress: AXcontractAddress, - addressSalt: starkKeyPubAX, -}; - -const { transaction_hash: AXdAth, contract_address: AXcontractFinalAddress } = - await accountAX.deployAccount(deployAccountPayload); -console.log('✅ ArgentX wallet deployed at:', AXcontractFinalAddress); -``` - -## Create a Braavos account - -More complicated, a Braavos account needs a proxy and a specific signature. Starknet.js is handling only Starknet standard signatures; so we need extra code to handle this specific signature for account creation. These more than 200 lines of code are not displayed here but are available in a module [here](./doc_scripts/deployBraavos.ts). - -We will deploy hereunder a Braavos account in Devnet (use at least v0.3.0). So launch `starknet-devnet` with these parameters: - -```bash -starknet-devnet --seed 0 --fork-network 'https://starknet-sepolia.public.blastapi.io/rpc/v0_8' -``` - -Initialization: - -```typescript -import { RpcProvider, Account, num, stark } from 'starknet'; -import { - calculateAddressBraavos, - deployBraavosAccount, - estimateBraavosAccountDeployFee, -} from './deployBraavos'; -import axios from 'axios'; -``` - -If you want to create the private key, for example with a random number: - -```typescript -const privateKeyBraavos = stark.randomAddress(); -``` - -If you want to use a private key generated by your browser wallet, create a new account (without deploying it), then copy/paste the account private key (it's useless to copy the public key). - -```typescript -const privateKeyBraavos = '0x02e8....e12'; -``` - -### Compute address - -```typescript -// initialize provider -const providerDevnet = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); -// address -const BraavosProxyAddress = calculateAddressBraavos(privateKeyBraavos); -console.log('Calculated account address=', BraavosProxyAddress); -``` - -### Estimate fees - -```typescript -// estimate fees -const estimatedFee = await estimateBraavosAccountDeployFee(privateKeyBraavos, providerDevnet, { - version: ETransactionVersion.V3, -}); -console.log('calculated fees =', estimatedFee); -``` - -### Deploy account - -```typescript -// fund account address before account creation (easy in Devnet) -const { data: answer } = await axios.post( - 'http://127.0.0.1:5050/mint', - { - address: BraavosProxyAddress, - amount: 100_000_000_000_000_000_000, - unit: 'FRI', - }, - { headers: { 'Content-Type': 'application/json' } } -); -console.log('Answer mint =', answer); // 100 STRK - -// deploy Braavos account -const { transaction_hash, contract_address: BraavosAccountFinalAddress } = - await deployBraavosAccount(privateKeyBraavos, providerDevnet); -console.log('Transaction hash =', transaction_hash); -await providerDevnet.waitForTransaction(transaction_hash); -console.log('✅ Braavos account deployed at', BraavosAccountFinalAddress); -``` - -The computed address has been funded automatically by minting dummy STRK in Starknet Devnet! - -## Create an Ethereum account - -Thanks to account abstraction, you can create an account in Starknet that holds the cryptographic logic of an Ethereum account. This way, you can use Ethereum private and public keys! -OpenZeppelin has released an account contract for such an Ethereum account. - -Below is an example of account creation in Sepolia Testnet. - -### Compute address - -```typescript -const privateKeyETH = '0x45397ee6ca34cb49060f1c303c6cb7ee2d6123e617601ef3e31ccf7bf5bef1f9'; -const ethSigner = new EthSigner(privateKeyETH); -const ethFullPublicKey = await ethSigner.getPubKey(); -// OpenZeppelin v0.17.0: -const accountEthClassHash = '0x3940bc18abf1df6bc540cabadb1cad9486c6803b95801e57b6153ae21abfe06'; -const myCallData = new CallData(sierraContract.abi); -const accountETHconstructorCalldata = myCallData.compile('constructor', { - public_key: ethFullPublicKey, -}); -const salt = '0x12345'; // or lower felt of public key X part -const contractETHaddress = hash.calculateContractAddressFromHash( - salt, - accountEthClassHash, - accountETHconstructorCalldata, - 0 -); -console.log('Pre-calculated ETH account address =', contractETHaddress); -``` - -> If you need a random Ethereum private key: -> -> ```typescript -> const myPrivateKey = eth.ethRandomPrivateKey(); -> ``` - -Then you have to fund this address with some STRK. - -### Deployment of the new account - -If you have sent enough funds to this new address, you can go forward to the final step: - -```typescript -const ethAccount = new Account(provider, contractETHaddress, ethSigner); -const deployPayload = { - classHash: accountEthClassHash, - constructorCalldata: accountETHconstructorCalldata, - addressSalt: salt, -}; -const estimatedFees = await ethAccount.estimateAccountDeployFee(deployPayload, { - skipValidate: false, -}); -const { transaction_hash, contract_address } = await ethAccount.deployAccount(deployPayload, { - skipValidate: false, -}); -await provider.waitForTransaction(transaction_hash); -console.log('✅ New Ethereum account final address =', contract_address); -``` - -## Create your account abstraction - -You are not limited to these 3 contracts. You can create your own contract for the wallet. It's the concept of Account Abstraction. - -You can entirely customize the wallet - for example: - -- use a different concept of keys. - -- add a guardian to save your account. - -- have the possibility to transfer ownership of the wallet. - -- add some administrators or a super-administrator. - -- whitelist of addresses for transfer. - -- multisig. - -- delayed withdraw. - -The only limitation is your imagination... - -Here is an example of a customized wallet, including super administrator management, on a local starknet-devnet: - -> launch `cargo run --release -- --seed 0` before using this script - -```typescript -import { Account, ec, json, stark, RpcProvider, hash, CallData } from 'starknet'; -import fs from 'fs'; -import axios from 'axios'; -``` - -```typescript -// connect provider -const provider = new RpcProvider({ network: 'http://127.0.0.1:5050/rpc' }); - -// initialize existing pre-deployed account 0 of Devnet -const privateKey0 = '0x71d7bb07b9a64f6f78ac4c816aff4da9'; -const accountAddress0 = '0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691'; -const account0 = new Account(provider, accountAddress0, privateKey0); - -// new account abstraction -// Generate public and private key pair. -const AAprivateKey = stark.randomAddress(); -console.log('New account:\nprivateKey=', AAprivateKey); -const AAstarkKeyPub = ec.starkCurve.getStarkKey(AAprivateKey); -console.log('publicKey=', AAstarkKeyPub); - -// declare the contract -const compiledAAaccount = json.parse( - fs - .readFileSync('./__mocks__/cairo/myAccountAbstraction/myAccountAbstraction.json') - .toString('ascii') -); -const { transaction_hash: declTH, class_hash: decCH } = await account0.declare({ - contract: compiledAAaccount, -}); -console.log('Customized account class hash =', decCH); -await provider.waitForTransaction(declTH); - -// Calculate future address of the account -const AAaccountConstructorCallData = CallData.compile({ - super_admin_address: account0.address, - publicKey: AAstarkKeyPub, -}); -const AAcontractAddress = hash.calculateContractAddressFromHash( - AAstarkKeyPub, - AAaccountClassHash, - AAaccountConstructorCallData, - 0 -); -console.log('Precalculated account address=', AAcontractAddress); - -// fund account address before account creation -const { data: answer } = await axios.post( - 'http://127.0.0.1:5050/mint', - { - address: AAcontractAddress, - amount: 50_000_000_000_000_000_000, - unit: 'FRI', - }, - { headers: { 'Content-Type': 'application/json' } } -); -console.log('Answer mint =', answer); - -// deploy account -const AAaccount = new Account(provider, AAcontractAddress, AAprivateKey); -const { transaction_hash, contract_address } = await AAaccount.deployAccount({ - classHash: AAaccountClassHash, - constructorCalldata: AAaccountConstructorCallData, - addressSalt: AAstarkKeyPub, -}); -await provider.waitForTransaction(transaction_hash); -console.log('✅ New customized account created.\n address =', contract_address); -``` - -## Account update - -For ArgentX and Braavos wallets, if you have created the private key inside the browser wallet, necessary upgrades will be automatically managed in the wallet. -However, if you have created the private key by yourself, it becomes your responsibility to update the account implementation class when it's necessary. It can be done with the `upgrade` function of the implementation class. diff --git a/www/versioned_docs/version-7.5.1/guides/create_contract.md b/www/versioned_docs/version-7.5.1/guides/create_contract.md deleted file mode 100644 index f8ad6b263..000000000 --- a/www/versioned_docs/version-7.5.1/guides/create_contract.md +++ /dev/null @@ -1,206 +0,0 @@ ---- -sidebar_position: 7 ---- - -# Create a new contract - -When you have compiled your new Cairo contract, you can deploy it in the network. - -In Starknet, a new contract has to be added in two phases: - -1. Create the contract class. -2. Deploy an instance of the contract. - -> You must first declare your contract class and only then deploy a new instance of it! - -![](./pictures/createContract.png) - -> Both declaration and deployment will cost fees. That's why these functions are methods of the `Account` object. The account should be funded enough to be able to process everything. - -- The contract class contains the logic of the contract. A contract class is identified by its Class Hash. -- The contract instance contains the memory storage of this instance. A contract instance is identified by its contract address. You will interact with the contract instance by using this address. - -You will have only one Class Hash for one contract code, but you can have as many contract instances as you need. - -Other users of the network can use your declared contract. It means that if somebody has already declared a contract class (and paid this declaration), and if you would like to have your own instance of this contract, you have only to deploy (and pay) a new instance. - -Example: if you want an ERC20 contract, and somebody has already declared an ERC20 contract that conforms to your needs, you have just to deploy a new instance of this contract class. - -```typescript -import { RpcProvider, Account, Contract, json, stark, uint256, shortString } from 'starknet'; -``` - -## `declareAndDeploy()` your new contract - -Starknet.js proposes a function to perform both operations in one step: `declareAndDeploy()`. - -Here, to declare & deploy a `Test.cairo` smart contract, in Devnet: - -```typescript -// connect provider -const provider = new RpcProvider({ baseUrl: 'http://127.0.0.1:5050/rpc' }); -// connect your account. To adapt to your own account: -const privateKey0 = process.env.OZ_ACCOUNT_PRIVATE_KEY; -const account0Address: string = '0x123....789'; -const account0 = new Account(provider, account0Address, privateKey0); - -// Declare & deploy Test contract in Devnet -const compiledTestSierra = json.parse( - fs.readFileSync('./compiledContracts/test.contract_class.json').toString('ascii') -); -const compiledTestCasm = json.parse( - fs.readFileSync('./compiledContracts/test.compiled_contract_class.json').toString('ascii') -); -const deployResponse = await account0.declareAndDeploy({ - contract: compiledTestSierra, - casm: compiledTestCasm, -}); - -// Connect the new contract instance: -const myTestContract = new Contract( - compiledTestSierra.abi, - deployResponse.deploy.contract_address, - provider -); -console.log('Test Contract Class Hash =', deployResponse.declare.class_hash); -console.log('✅ Test Contract connected at =', myTestContract.address); -``` - -## `deployContract()` for a new instance - -If the contract class is already declared, it's faster and cheaper: just use `deployContract()`. - -```typescript -// connect provider -const provider = new RpcProvider({ baseUrl: 'http://127.0.0.1:5050/rpc' }); -// connect your account. To adapt to your own account: -const privateKey0 = process.env.OZ_ACCOUNT_PRIVATE_KEY; -const account0Address: string = '0x123....789'; - -const account0 = new Account(provider, account0Address, privateKey0); - -// Deploy Test contract in Devnet -// ClassHash of the already declared contract -const testClassHash = '0xff0378becffa6ad51c67ac968948dbbd110b8a8550397cf17866afebc6c17d'; - -const deployResponse = await account0.deployContract({ classHash: testClassHash }); -await provider.waitForTransaction(deployResponse.transaction_hash); - -// read the ABI of the Test contract -const { abi: testAbi } = await provider.getClassByHash(testClassHash); -if (testAbi === undefined) { - throw new Error('no abi.'); -} - -// Connect the new contract instance: -const myTestContract = new Contract(testAbi, deployResponse.contract_address, provider); -console.log('✅ Test Contract connected at =', myTestContract.address); -``` - -## Construct the constructor - -If your contract has a constructor with inputs, you have to provide these inputs in the `deployContract` or `declareAndDeploy` commands. -For example, with this contract constructor: - -```json - "name": "constructor", - "inputs": [ - { - "name": "text", - "type": "core::felt252" - }, - { - "name": "longText", - "type": "core::array::Array::" - }, - { - "name": "array1", - "type": "core::array::Array::" - } - ], -``` - -You have several ways to define these inputs: - -### myCalldata.compile - -This is the recommended way to proceed: - -```typescript -const myArray1: RawCalldata = ['0x0a', 24, 36n]; -const contractCallData: CallData = new CallData(compiledContractSierra.abi); -const contractConstructor: Calldata = contractCallData.compile('constructor', { - text: 'niceToken', - longText: 'http://addressOfMyERC721pictures/image1.jpg', - array1: myArray1, -}); -const deployResponse = await account0.deployContract({ - classHash: contractClassHash, - constructorCalldata: contractConstructor, -}); -``` - -Starknet.js will perform a full verification of conformity with the abi. Properties can be unordered. Do not use properties for array_len, it will be handled automatically by Starknet.js. - -### CallData.compile - -For very simple constructors, you can use `CallData.compile`: - -```typescript -const myArray1: RawCalldata = ['0x0a', 24, 36n]; -const contractConstructor: Calldata = CallData.compile({ - text: 'niceToken', - longText: 'http://addressOfMyERC721pictures/image1.jpg', // for Cairo v2.4.0 onwards - array1: myArray1, -}); -// with older Cairo, use: longText: shortString.splitLongString("http://addressOfMyERC721pictures/image1.jpg"), -const deployResponse = await account0.deployContract({ - classHash: contractClassHash, - constructorCalldata: contractConstructor, -}); -``` - -Properties have to be ordered in conformity with the ABI. - -Even easier: - -```typescript -const contractConstructor: Calldata = CallData.compile([ - 'niceToken', - 'http://addressOfMyERC721pictures/image1.jpg', - myArray1, -]); // for Cairo v2.4.0 onwards -``` - -## `declare()` for a new class - -If you want only declare a new Contract Class, use `declare()`. - -```typescript -// connect provider -const provider = new RpcProvider({ baseUrl: 'http://127.0.0.1:5050/rpc' }); -// connect your account. To adapt to your own account: -const privateKey0 = process.env.OZ_ACCOUNT_PRIVATE_KEY; -const account0Address: string = '0x123....789'; - -const account0 = new Account(provider, account0Address, privateKey0); - -// Declare Test contract in Devnet -const compiledTestSierra = json.parse( - fs.readFileSync('./compiledContracts/test.sierra').toString('ascii') -); -const compiledTestCasm = json.parse( - fs.readFileSync('./compiledContracts/test.casm').toString('ascii') -); -const declareResponse = await account0.declare({ - contract: compiledTestSierra, - casm: compiledTestCasm, -}); -console.log('Test Contract declared with classHash =', declareResponse.class_hash); -await provider.waitForTransaction(declareResponse.transaction_hash); -console.log('✅ Test Completed.'); -``` - -:::tip -If the class is already declared, `declare()` will fail. You can also use `declareIfNot()` to not fail in this case. -::: diff --git a/www/versioned_docs/version-7.5.1/guides/events.md b/www/versioned_docs/version-7.5.1/guides/events.md deleted file mode 100644 index e2e61ac91..000000000 --- a/www/versioned_docs/version-7.5.1/guides/events.md +++ /dev/null @@ -1,217 +0,0 @@ ---- -sidebar_position: 13 ---- - -# Events - -A contract may emit events throughout its execution. Each event contains the following fields: - -- from_address: address of the contract emitting the events -- keys: a list of field elements -- data: a list of field elements - -The keys can be used for indexing the events, while the data may contain any information that we wish to log. - -The events are recorded in the blocks of the blockchain. - -Example of Cairo code for an event: - -```rust -#[derive(Drop, starknet::Event)] - struct EventPanic { - #[key] - errorType: u8, - errorDescription: felt252, - } -``` - -Here we have an event called `EventPanic`, with an u8 stored in keys, and a felt252 (text) in data. - -## Why events ? - -Events are a useful tool for logging and notifying external entities about specific occurrences within a contract, with a timestamp (the block number). They emit data that can be accessed by everybody. - -Some cases: - -- When a specific value is reached in a contract, an event can be created to store the fact that this value has been reached at a specific block number. -- When the L1 network has triggered the execution of a L2 contract, you can store in the event some results and when it occurs. - -An event can also be useful when you invoke a contract. When you invoke a Cairo function (meaning to write in the network), the API does not authorize any response (only call functions can provide an answer). To generate an event in the code is a way to provide a response (for example for the creation of an account, an event is generated to return the account address). - -## With the Transaction hash - -If you use Starknet.js to invoke a Cairo function that will trigger a new event, you will receive the transaction hash as a response. Preserve it so it can be used to easily retrieve the event data. - -Example of invocation: - -```typescript -const transactionHash = myContract.invoke('emitEventPanic', [8, 'Mega Panic.']); -``` - -Then get the transaction receipt: - -```typescript -const txReceipt = await provider.waitForTransaction(transactionHash); -``` - -### Raw response - -You can recover all the events related to this transaction hash: - -```typescript -if (txReceipt.isSuccess()) { - const listEvents = txReceipt.value.events; -} -``` - -The result is an array of events (here only one event): - -```typescript -[ - { - from_address: '0x47cb13bf174043adde61f7bea49ab2d9ebc575b0431f85bcbfa113a6f93fc4', - keys: ['0x3ba972537cb2f8e811809bba7623a2119f4f1133ac9e955a53d5a605af72bf2', '0x8'], - data: ['0x4d6567612050616e69632e'], - }, -]; -``` - -The first parameter in the `keys` array is a hash of the name of the event, calculated this way: - -```typescript -const nameHash = num.toHex(hash.starknetKeccak('EventPanic')); -``` - -:::info -In some cases (when an event is coded in a Cairo component, without the `#[flat]` flag), this hash is handled in several numbers. -::: - -The second parameter is the `errorType` variable content (stored in keys array because of the `#[key]` flag in the Cairo code). - -The `data` array contains the `errorDescription` variable content (`'0x4d6567612050616e69632e'` corresponds to the encoded value of "Mega Panic.") - -You can decode it with: - -```typescript -const ErrorMessage = shortString.decodeShortString('0x4d6567612050616e69632e'); -``` - -### Parsed response - -Once you have the transaction receipt, you can parse the events to have something easier to process. -We will perform parsing this way: - -```typescript -const events = myTestContract.parseEvents(txReceipt); -``` - -The result is an array of parsed events (here only one event): - -```typescript -events = [ - { - EventPanic: { errorType: 8n, errorDescription: 93566154138418073030976302n }, - }, -]; -``` - -Easier to read and process, isn't it? - -## Without transaction hash - -If you don't have the transaction Hash of the contract execution that created the event, it will be necessary to search inside the blocks of the Starknet blockchain. - -In this example, if you want to read the events recorded in the last 10 blocks, you need to use a method available from an RPC node. The class `RpcProvider` is available for this case: - -```typescript -import { RpcProvider } from 'starknet'; -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); -const lastBlock = await provider.getBlock('latest'); -const keyFilter = [[num.toHex(hash.starknetKeccak('EventPanic')), '0x8']]; -const eventsList = await provider.getEvents({ - address: myContractAddress, - from_block: { block_number: lastBlock.block_number - 9 }, - to_block: { block_number: lastBlock.block_number }, - keys: keyFilter, - chunk_size: 10, -}); -``` - -:::info -`address, from_block, to_block, keys` are all optional parameters. -::: - -:::tip -If you don't want to filter by key, you can either remove the `keys` parameter, or affect it this way: `[[]]` . -::: - -:::warning CAUTION -An event can be nested in a Cairo component (See the Cairo code of the contract to verify). In this case, the array of keys will start with additional hashes, and you will have to adapt your code in consequence; in this example, we have to skip one hash : - -```typescript -const keyFilter = [[], [num.toHex(hash.starknetKeccak('EventPanic'))]]; -``` - -::: - -Here we have only one event. You can easily read this event: - -```typescript -const event = eventsList.events[0]; -console.log('data length =', event.data.length, 'key length =', event.keys.length, ':'); -console.log('\nkeys =', event.keys, 'data =', event.data); -``` - -To limit the workload of the node, the parameter `chunk_size` defines a size of chunk to read. If the request needs an additional chunk, the response includes a key `continuation_token` containing a string to use in the next request. -Hereunder a code to read all the chunks of a request: - -```typescript -const keyFilter = [num.toHex(hash.starknetKeccak('EventPanic')), '0x8']; -let block = await provider.getBlock('latest'); -console.log('bloc #', block.block_number); - -let continuationToken: string | undefined = '0'; -let chunkNum: number = 1; -while (continuationToken) { - const eventsRes = await providerRPC.getEvents({ - from_block: { - block_number: block.block_number - 30, - }, - to_block: { - block_number: block.block_number, - }, - address: myContractAddress, - keys: [keyFilter], - chunk_size: 5, - continuation_token: continuationToken === '0' ? undefined : continuationToken, - }); - const nbEvents = eventsRes.events.length; - continuationToken = eventsRes.continuation_token; - console.log('chunk nb =', chunkNum, '.', nbEvents, 'events recovered.'); - console.log('continuation_token =', continuationToken); - for (let i = 0; i < nbEvents; i++) { - const event = eventsRes.events[i]; - console.log( - 'event #', - i, - 'data length =', - event.data.length, - 'key length =', - event.keys.length, - ':' - ); - console.log('\nkeys =', event.keys, 'data =', event.data); - } - chunkNum++; -} -``` - -If you want to parse an array of events of the same contract (abi of the contract available) : - -```typescript -const abiEvents = events.getAbiEvents(abi); -const abiStructs = CallData.getAbiStruct(abi); -const abiEnums = CallData.getAbiEnum(abi); -const parsed = events.parseEvents(eventsRes.events, abiEvents, abiStructs, abiEnums); -console.log('parsed events=', parsed); -``` diff --git a/www/versioned_docs/version-7.5.1/guides/interact.md b/www/versioned_docs/version-7.5.1/guides/interact.md deleted file mode 100644 index ac3d904f1..000000000 --- a/www/versioned_docs/version-7.5.1/guides/interact.md +++ /dev/null @@ -1,243 +0,0 @@ ---- -sidebar_position: 6 ---- - -# Interact with your contract - -Once your provider, contract, and account are connected, you can interact with the contract: - -- you can read the memory of the contract, without fees. -- you can write to memory, but you have to pay fees. - - On Mainnet, you have to pay fees with bridged STRK or ETH token. - - On Testnet, you have to pay with bridged Sepolia STRK or Sepolia ETH token. - - On Devnet, you have to pay with dummy STRK or ETH token. - -Your account should be funded enough to pay fees (20 STRK should be enough to start). - -![](./pictures/Interact_contract.png) - -Here we will interact with a `test.cairo` contract (Cairo 1) already deployed in Sepolia Testnet at the address: - -- [0x02d2a4804f83c34227314dba41d5c2f8a546a500d34e30bb5078fd36b5af2d77](https://sepolia.starkscan.co/contract/0x02d2a4804f83c34227314dba41d5c2f8a546a500d34e30bb5078fd36b5af2d77) - -This contract contains a storage variable called `balance`. - -- It can be read with the `fn get_balance(self: @TContractState) -> felt252;` -- Balance can be modified with `fn increase_balance(ref self: TContractState, amount: felt252);` - -```typescript -import { RpcProvider, Contract, Account, ec, json } from 'starknet'; -``` - -## 🔍 Read from contract memory, with meta-class - -To read the balance, you need to connect an RpcProvider and a Contract. -You have to call Starknet, with the use of the meta-class method: `contract.function_name(params)` (here `params` is not necessary, because there are no parameters for the `get_balance` function). - -```typescript -//initialize provider with a Sepolia Testnet node -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); -// Connect the deployed Test contract in Sepolia Testnet -const testAddress = '0x02d2a4804f83c34227314dba41d5c2f8a546a500d34e30bb5078fd36b5af2d77'; - -// read the ABI of the Test contract -const { abi: testAbi } = await provider.getClassAt(testAddress); -if (testAbi === undefined) { - throw new Error('no abi.'); -} -const myTestContract = new Contract(testAbi, testAddress, provider); - -// Interaction with the contract with call -const bal1 = await myTestContract.get_balance(); -console.log('Initial balance =', bal1); // Cairo 1 contract -// With Cairo 0 contract, `bal1.res.toString()` because the return value is called 'res' in the Cairo 0 contract. -// With Cairo 1 contract, the result value is in `bal1`, as bigint. -``` - -## ✍️ Write to contract memory, with meta-class - -To increase the balance, you need in addition a connected and funded Account. - -You have to invoke Starknet, with the use of the meta-class method: `contract.function_name(params)` - -> After the invoke, you have to wait the incorporation of the modification of Balance in the network, with `await provider.waitForTransaction(transaction_hash)` - -:::note -By default, you are executing transactions that use the STRK token to pay the fees. -::: - -Here is an example of how to increase and check the balance: - -```typescript -//initialize provider with a Sepolia Testnet node -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); -// connect your account. To adapt to your own account: -const privateKey0 = process.env.OZ_ACCOUNT_PRIVATE_KEY; -const account0Address = '0x123....789'; - -const account0 = new Account(provider, account0Address, privateKey0); - -// Connect the deployed Test contract in Testnet -const testAddress = '0x02d2a4804f83c34227314dba41d5c2f8a546a500d34e30bb5078fd36b5af2d77'; - -// read the ABI of the Test contract -const { abi: testAbi } = await provider.getClassAt(testAddress); -if (testAbi === undefined) { - throw new Error('no abi.'); -} -const myTestContract = new Contract(testAbi, testAddress, provider); - -// Connect account with the contract -myTestContract.connect(account0); - -// Interactions with the contract with meta-class -const bal1 = await myTestContract.get_balance(); -console.log('Initial balance =', bal1); // Cairo 1 contract -const myCall = myTestContract.populate('increase_balance', [10]); -const res = await myTestContract.increase_balance(myCall.calldata); -await provider.waitForTransaction(res.transaction_hash); - -const bal2 = await myTestContract.get_balance(); -console.log('Final balance =', bal2); -``` - -`Contract.populate()` is the recommended method to define the parameters to call/invoke the Cairo functions. - -## ✍️ Send a transaction, paying fees with ETH - -You need to be connected to a node using RPC 0.7: - -- Define `specVersion: '0.7.1'` when instantiating an RpcProvider -- Use `config.set('legacyMode', true)` to enable **V1** transactions (ETH fees) -- Use `logger.setLogLevel('ERROR')` if you want to remove the warnings when processing **V1** transactions - -```typescript -import { RpcProvider, Account, config, logger, ETransactionVersion } from 'starknet'; - -const myProvider = new RpcProvider({ - nodeUrl: 'https://starknet-sepolia.public.blastapi.io/rpc/v0_7', - specVersion: '0.7.1', -}); - -config.set('legacyMode', true); - -logger.setLogLevel('ERROR'); -``` - -With the above settings the code still uses **V3** transactions (STRK fees) with RPC **0.7** by default. To utilize **V1** transactions (ETH fees) there are two approaches: - -- either configure it at the `Account` instance level by setting the appropriate constructor parameter: - -```typescript -const account0 = new Account( - myProvider, - accountAddress0, - privateKey0, - undefined, - ETransactionVersion.V2 -); -``` - -- or configure it for individual method invocations by setting the corresponding options parameter property: - -```typescript -const res = await account0.execute(myCall, { version: 1 }); -``` - -## Sending sequential transactions - -If you intend to send sequential transactions through the contract object, like so: - -```typescript -const tx = await cairo1Contract.array2d_ex(data); -const tx1 = await cairo1Contract.array2d_ex(data); -``` - -Be sure to use `waitForTransaction` between the calls, because you may experience issues with the nonce not incrementing: - -```typescript -const tx = await cairo1Contract.array2d_ex(data); -await provider.waitForTransaction(tx.transaction_hash); -const tx1 = await cairo1Contract.array2d_ex(data); -await provider.waitForTransaction(tx1.transaction_hash); -``` - -## Write several operations, with Account.execute - -In a Starknet transaction, you can include several invoke operations. It will be performed with `account.execute`. - -We will later see this case in more detail in this dedicated [guide](multiCall.md), but in summary, you use this command with the following parameters: - -- address of the contract to invoke -- name of the function to invoke -- and an array of parameters for this function - -```typescript -const result = await account.execute({ - contractAddress: myContractAddress, - entrypoint: 'transfer', - calldata: CallData.compile({ - recipient: receiverAddress, - amount: cairo.uint256(100000n), - }), -}); -await provider.waitForTransaction(result.transaction_hash); -``` - -## Other existing methods - -Some other useful methods to interact with Starknet: - -### Function name defined in the code - -If you want to call a function with its name contained in a variable: - -```typescript -const listFn = ['calc-sum', 'calc-hash', 'calc-proof']; -// fnChoice is a number defined during execution -const res = await myTestContract[listFn[fnChoice]](200, 234567897n, 865423); -``` - -### Light and fast call - -If you want to have a very fast execution, with minimum resource usage: - -```typescript -const specialParameters: Calldata = ['2036735872918048433518', '5130580', '18']; -const getResponse = await myAccount.call('get_bal', specialParameters, { parseRequest: false }); -``` - -You provide the low-level numbers expected by Starknet, without any parsing or checking. See more details [here](define_call_message.md#parse-configuration). - -## Transaction receipt response - -You can interpret the transaction receipt response to check whether it succeeded or not. - -```typescript -const result = await account.execute(myCall); -const txR = await provider.waitForTransaction(result.transaction_hash); - -console.log(txR.statusReceipt, txR.value); -console.log(txR.isSuccess(), txR.isReverted(), txR.isError()); - -txR.match({ - success: () => { - console.log('Success'); - }, - _: () => { - console.log('Unsuccess'); - }, -}); - -txR.match({ - success: (txR: SuccessfulTransactionReceiptResponse) => { - console.log('Success =', txR); - }, - reverted: (txR: RevertedTransactionReceiptResponse) => { - console.log('Reverted =', txR); - }, - error: (err: Error) => { - console.log('An error occured =', err); - }, -}); -``` diff --git a/www/versioned_docs/version-7.5.1/guides/multiCall.md b/www/versioned_docs/version-7.5.1/guides/multiCall.md deleted file mode 100644 index 15e098554..000000000 --- a/www/versioned_docs/version-7.5.1/guides/multiCall.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -sidebar_position: 16 ---- - -# Interact with more than one contract within one transaction - -Interacting with more than one contract with one transaction is one of Starknet's features. To use this feature, two contracts are required. - -## Setup - -Set up basic stuff before multicall. - -```javascript -// Devnet private key from Account #0 if generated with --seed 0 -const privateKey = '0xe3e70682c2094cac629f6fbed82c07cd'; -const accountAddress = '0x7e00d496e324876bbc8531f2d9a82bf154d1a04a50218ee74cdd372f75a551a'; - -// Ether token contract address -const contractAddress_1 = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7'; - -// contract address which requires ether -const contractAddress_2 = '0x078f36c1d59dd29e00a0bb60aa2a9409856f4f9841c47f165aba5bab4225aa6b'; - -const account = new Account(provider, accountAddress, privateKey); -``` - -## Interact with contracts - -Interact with more than one contract by using `account.execute([calls])`. The example is as follows. - -```javascript -const multiCall = await account.execute([ - // Calling the first contract - { - contractAddress: contractAddress_1, - entrypoint: 'approve', - // approve 1 wei for bridge - calldata: CallData.compile({ - spender: contractAddress_2, - amount: cairo.uint256(1), - }), - }, - // Calling the second contract - { - contractAddress: contractAddress_2, - entrypoint: 'transfer_ether', - // transfer 1 wei to the contract address - calldata: CallData.compile({ - amount: cairo.uint256(1), - }), - }, -]); -await provider.waitForTransaction(multiCall.transaction_hash); -``` diff --git a/www/versioned_docs/version-7.5.1/guides/outsideExecution.md b/www/versioned_docs/version-7.5.1/guides/outsideExecution.md deleted file mode 100644 index 4c51cc200..000000000 --- a/www/versioned_docs/version-7.5.1/guides/outsideExecution.md +++ /dev/null @@ -1,297 +0,0 @@ ---- -sidebar_position: 19 ---- - -# Outside Execution (SNIP-9) - -Outside Execution, also known as meta-transactions, allows a protocol to submit transactions on behalf of a user account, as long as they have the relevant signatures. This feature is implemented according to [SNIP-9](https://github.com/starknet-io/SNIPs/blob/main/SNIPS/snip-9.md). - -## Why Use Outside Execution? - -Outside Execution provides several benefits: - -1. **Delayed Orders**: Protocols can have more atomic control over transaction execution, useful for scenarios like matching limit orders. -2. **Fee Subsidy**: The sender of the transaction pays gas fees, allowing accounts without gas tokens to still execute transactions. - -## Using Outside Execution - -### Check SNIP-9 Support - -The account that will sign the outside transaction has to be compatible with SNIP-9 (V1 or V2). -At early-2025: - -| account | compatibility | -| :-----------------: | :-----------: | -| ArgentX v0.3.0 | v1 | -| ArgentX v0.4.0 | v2 | -| Braavos v1.1.0 | v2 | -| OpenZeppelin v1.0.0 | v2 (\*) | - -> (\*): only OpenZeppelin accounts including the `src9` component. Examples for v0.17.0: -> Starknet account: class = [0x540d7f5ec7ecf317e68d48564934cb99259781b1ee3cedbbc37ec5337f8e688](https://voyager.online/class/0x0540d7f5ec7ecf317e68d48564934cb99259781b1ee3cedbbc37ec5337f8e688) -> ETH account: class = [0x3940bc18abf1df6bc540cabadb1cad9486c6803b95801e57b6153ae21abfe06](https://voyager.online/class/0x3940bc18abf1df6bc540cabadb1cad9486c6803b95801e57b6153ae21abfe06) - -Before using Outside Execution, check if the account that will sign the transaction supports SNIP-9: - -```typescript -const signerAccount = new Account(myProvider, accountAddress, privateKey); -const version = await signerAccount.getSnip9Version(); -if (version === OutsideExecutionVersion.UNSUPPORTED) { - throw new Error('This account is not SNIP-9 compatible.'); -} -``` - -:::info -The account that will sign the transaction needs to be compatible with SNIP-9. -Nevertheless, the account that will execute the transaction do not needs to be SNIP-9 compatible ; it just needs to have enough fees to pay the transaction. -::: - -### Create an `OutsideTransaction` Object - -To create an OutsideExecution object, you need first to prepare the call: - -```typescript -const call1: Call = { - contractAddress: erc20Address, - entrypoint: 'transfer', - calldata: { - recipient: recipientAddress, - amount: cairo.uint256(3n * 10n ** 16n), - }, -}; -``` - -Then, you have to initialize some parameters : - -- The `caller` is the address of the account that will execute the outside transaction. -- The transaction can be executed in a time frame that is defined in `execute_after` and `execute_before`, using Unix timestamp. - -```typescript -const callOptions: OutsideExecutionOptions = { - caller: executorAccount.address, - execute_after: Math.floor(Date.now() / 1000) - 3600, // 1 hour ago - execute_before: Math.floor(Date.now() / 1000) + 3600, // 1 hour from now -}; -``` - -:::warning -You can use the string `"ANY_CALLER"` as content of the `caller` property. To use with care, as anybody that get your `OutsideTransaction` object and execute it. -::: - -To create the `OutsideTransaction` object, you just have to use: - -```typescript -const outsideTransaction1: OutsideTransaction = await signerAccount.getOutsideTransaction( - callOptions, - call1 -); -``` - -:::note -In the same `OutsideTransaction` object, you can include several transactions. So, with only one signature of the signer Account, you can generate an `OutsideTransaction` object that performs many things: - -```typescript -const callOptions: OutsideExecutionOptions = { - caller: executorAccount.address, - execute_after: 100, - execute_before: 200, -}; -const call1 = { - contractAddress: ethAddress, - entrypoint: 'approve', - calldata: { - spender: account2.address, - amount: cairo.uint256(2n * 10n ** 16n), - }, -}; -const call2 = { - contractAddress: ethAddress, - entrypoint: 'transfer', - calldata: { - recipient: account1.address, - amount: cairo.uint256(1n * 10n ** 16n), - }, -}; -const outsideTransaction1: OutsideTransaction = await signerAccount.getOutsideTransaction( - callOptions, - [call1, call2] -); -``` - -::: - -### Process the Outside Execution - -Finally, if you are in the time frame, you can perform the Outside Execution, using the executor Account : - -```typescript -const executorAccount = new Account(provider, executorAddress, executorPrivateKey); -const response = await executorAccount.executeFromOutside(outsideTransaction1); -await provider.waitForTransaction(response.transaction_hash); -``` - -:::info -If you have created several `OutsideTransaction` objects using the same signer account, you can execute them in any order (no nonce problems). -::: - -:::note -In the same command, you can use several `OutsideTransaction` objects created by several signer accounts, even if they are not compatible with the same version of SNIP-9 (V1 or V2): - -```typescript -const outsideTransaction1: OutsideTransaction = await accountAX3.getOutsideTransaction( - callOptions, - call1 -); // V1 compatible -const outsideTransaction2: OutsideTransaction = await accountAX4.getOutsideTransaction( - callOptions, - call2 -); // V2 compatible -const res = await executorAccount.executeFromOutside([outsideTransaction1, outsideTransaction2]); -``` - -::: - -## Example of Outside Execution using a Ledger Nano - -In this example, we want to sign, with a Ledger Nano X, several transactions at 6PM. Then a code is automatically launched each hour until the next day at 8AM, verifying if some conditions are reached. The code will then trigger the execution of some of the transactions signed earlier with the Ledger Nano. -By this way, you can pre-sign some transactions with the Ledger, and if during the night something occurs, a backend can execute automatically some of these transactions, **in any order**. -In this process, **the private key of the Ledger account is never exposed**. - -First, create a Ledger account in Devnet. You will find some documentation [here](./signature.md#signing-with-a-ledger-hardware-wallet), and an example [here](https://github.com/PhilippeR26/starknet.js-workshop-typescript/blob/main/src/scripts/ledgerNano/4.deployLedgerAccount.ts). - -The initial balances are: - -| account | ETH balance | -| ----------------------: | ----------- | -| Ledger Account | 20.0 | -| Backend executorAccount | 999.9902013 | -| Account1 | 1000.0 | -| Account2 | 1000.0 | - -Now, we can ask the user to sign on its Ledger some outside transactions: - -```typescript -const callOptions: OutsideExecutionOptions = { - caller: executorAccount.address, - execute_after: Math.floor(Date.now() / 1000) - 3600, // 1 hour ago - execute_before: Math.floor(Date.now() / 1000) + 3600 * 14, // 14 hours from now -}; -const call1 = { - contractAddress: ethAddress, - entrypoint: 'transfer', - calldata: { - recipient: account1.address, - amount: cairo.uint256(1n * 10n ** 18n), - }, -}; -const call2 = { - contractAddress: ethAddress, - entrypoint: 'transfer', - calldata: { - recipient: account2.address, - amount: cairo.uint256(2n * 10n ** 18n), - }, -}; -const call3 = { - contractAddress: ethAddress, - entrypoint: 'transfer', - calldata: { - recipient: account1.address, - amount: cairo.uint256(3n * 10n ** 18n), - }, -}; -const call4 = { - contractAddress: ethAddress, - entrypoint: 'transfer', - calldata: { - recipient: account2.address, - amount: cairo.uint256(4n * 10n ** 18n), - }, -}; -console.log("It's 6PM. Before night, we will now pre-sign 3 outside transactions:"); -console.log( - 'Sign now on the Ledger Nano for :\n- Transfer 1 ETH to account1.\n- Transfer 2 ETH to account2.' -); -const outsideTransaction1: OutsideTransaction = await ledgerAccount.getOutsideTransaction( - callOptions, - [call1, call2] -); - -console.log('Sign now on the Ledger Nano for :\n- Transfer 3 ETH to account1.'); -const outsideTransaction2: OutsideTransaction = await ledgerAccount.getOutsideTransaction( - callOptions, - call3 -); - -console.log('Sign now on the Ledger Nano for :\n- Transfer 4 ETH to account1.'); -const outsideTransaction3: OutsideTransaction = await ledgerAccount.getOutsideTransaction( - callOptions, - call4 -); -``` - -Transfer these 3 `OutsideTransaction` objects to the backend. - -Imagine we are 5 hours later, the backend has decided to execute a transaction: - -```typescript -console.log('The backend has detected a situation that execute Transaction 2.'); -const res0 = await executorAccount.executeFromOutside(outsideTransaction2); -await myProvider.waitForTransaction(res0.transaction_hash); -``` - -The balances are now : - -| account | ETH balance | -| ----------------------: | ----------- | -| Ledger Account | 17.0 | -| Backend executorAccount | 999.9901592 | -| Account1 | 1003.0 | -| Account2 | 1000.0 | - -2 hours later, the backend has decided to execute several transactions: - -```typescript -console.log('The backend has detected a situation that execute simultaneously Transactions 1 & 3.'); -const res1 = await executorAccount.executeFromOutside([outsideTransaction1, outsideTransaction3]); -await myProvider.waitForTransaction(res1.transaction_hash); -``` - -The balances are finally : - -| account | ETH balance | -| ----------------------: | ----------- | -| Ledger Account | 10.0 | -| Backend executorAccount | 999.9901005 | -| Account1 | 1004.0 | -| Account2 | 1006.0 | - -:::info -The complete code of this example is available [here](https://github.com/PhilippeR26/starknet.js-workshop-typescript/blob/main/src/scripts/Starknet131/Starknet131-devnet/17.outsideExecuteLedger.ts). -::: - -## Estimate fees for an outside execution: - -On executor side, if you want to estimate how many fees you will pay: - -```typescript -const outsideExecutionCall: Call[] = - outsideExecution.buildExecuteFromOutsideCall(outsideTransaction1); -const estimateFee = await executorAccount.estimateFee(outsideExecutionCall); -``` - -## Simulate an outside execution: - -On executor side, if you want to simulate the transaction: - -```typescript -const outsideExecutionCall: Call[] = - outsideExecution.buildExecuteFromOutsideCall(outsideTransaction1); -const invocations: Invocations = [ - { - type: TransactionType.INVOKE, - payload: outsideExecutionCall, - }, -]; -const responseSimulate = await executorAccount.simulateTransaction(invocations); -``` diff --git a/www/versioned_docs/version-7.5.1/guides/pictures/Interact_contract.png b/www/versioned_docs/version-7.5.1/guides/pictures/Interact_contract.png deleted file mode 100644 index 440567883..000000000 Binary files a/www/versioned_docs/version-7.5.1/guides/pictures/Interact_contract.png and /dev/null differ diff --git a/www/versioned_docs/version-7.5.1/guides/pictures/createContract.png b/www/versioned_docs/version-7.5.1/guides/pictures/createContract.png deleted file mode 100644 index 976b809b5..000000000 Binary files a/www/versioned_docs/version-7.5.1/guides/pictures/createContract.png and /dev/null differ diff --git a/www/versioned_docs/version-7.5.1/guides/pictures/starknet-js-chart.png b/www/versioned_docs/version-7.5.1/guides/pictures/starknet-js-chart.png deleted file mode 100644 index 383a8377e..000000000 Binary files a/www/versioned_docs/version-7.5.1/guides/pictures/starknet-js-chart.png and /dev/null differ diff --git a/www/versioned_docs/version-7.5.1/guides/signature.md b/www/versioned_docs/version-7.5.1/guides/signature.md deleted file mode 100644 index 83ded72c1..000000000 --- a/www/versioned_docs/version-7.5.1/guides/signature.md +++ /dev/null @@ -1,281 +0,0 @@ ---- -sidebar_position: 15 ---- - -# Signature - -You can use Starknet.js to sign a message outside of the network, using the standard methods of hash and sign of Starknet. In this way, in some cases, you can avoid paying fees to store data in-chain; you transfer the signed message off-chain, and the recipient can verify (without fee) on-chain the validity of the message. - -## Sign and send a message - -Your message has to be an array of `BigNumberish`. First, calculate the hash of this message, then calculate the signature. - -> If the message does not respect some safety rules of composition, this method could be a way of attack of your smart contract. If you have any doubt, prefer the [EIP712 like method](#sign-and-verify-following-eip712), which is safe, but is also more complicated. - -```typescript -import { ec, hash, type BigNumberish, type WeierstrassSignatureType } from 'starknet'; - -const privateKey = '0x1234567890987654321'; -const starknetPublicKey = ec.starkCurve.getStarkKey(privateKey); -const fullPublicKey = stark.getFullPublicKey(privateKey); -const message: BigNumberish[] = [1, 128, 18, 14]; - -const msgHash = hash.computeHashOnElements(message); -const signature: WeierstrassSignatureType = ec.starkCurve.sign(msgHash, privateKey); -``` - -Then you can send, by any means, to the recipient of the message: - -- the message. -- the signature. -- the full public key (or an account address using this private key). - -## Receive and verify a message - -On the receiver side, you can verify that: - -- the message has not been modified, -- the sender of this message owns the private key corresponding to the public key. - -2 ways to perform this verification: - -- off-chain, using the full public key (very fast, but only for standard Starknet hash & sign). -- on-chain, using the account address (slow, adds workload to the node, but can manage exotic account abstraction about hash or sign). - -### Verify outside of Starknet: - -The sender provides the message, the signature, and the full public key. Verification: - -```typescript -const msgHash1 = hash.computeHashOnElements(message); -const isValid1 = typedData.verifyMessage(msgHash1, signature, fullPublicKey); -console.log('Result (boolean) =', isValid1); - -// with a low level function (take care of Types limitations) : -const isValid2 = ec.starkCurve.verify(signature1, msgHash, fullPublicKey); -``` - -> The sender can also provide their account address. Then you can check that this full public key is linked to this account. The public Key that you can read in the account contract is part (part X) of the full public Key (parts X & Y): - -Read the Public Key of the account: - -```typescript -const provider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); //devnet -const compiledAccount = json.parse( - fs.readFileSync('./__mocks__/cairo/account/accountOZ080.json').toString('ascii') -); -const accountAddress = '0x....'; // account of sender -const contractAccount = new Contract(compiledAccount.abi, accountAddress, provider); -const pubKey3 = await contractAccount.call('getPublicKey'); -``` - -Check that the Public Key of the account is part of the full public Key: - -```typescript -const isFullPubKeyRelatedToAccount: boolean = - pubKey3 == BigInt(encode.addHexPrefix(fullPublicKey.slice(4, 68))); -console.log('Result (boolean) =', isFullPubKeyRelatedToAccount); -``` - -### Verify in the Starknet network, with the account: - -The sender can provide an account address, despite a full public key. - -```typescript -const myProvider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); //devnet -const accountAddress = '0x...'; // account of sender - -const msgHash2 = hash.computeHashOnElements(message); -const result2: Boolean = rpcProvider.verifyMessageInStarknet(msgHash2, signature, accountAddress); -console.log('Result (boolean) =', result2); -``` - -## Sign and verify following EIP712 - -Previous examples are valid for an array of numbers. In the case of a more complex structure, you have to work in the spirit of [EIP 712](https://eips.ethereum.org/EIPS/eip-712). This JSON structure has 4 mandatory items: `types`, `primaryType`, `domain`, and `message`. -These items are designed to be able to be an interface with a browser wallet. At sign request, the wallet will display: - -- the `message` at the bottom of the wallet window, showing clearly (not in hex) the message to sign. Its structure has to be in accordance with the type listed in `primaryType`, defined in `types`. -- the `domain` above the message. Its structure has to be in accordance with `StarknetDomain`. - -The types than can be used are defined in [SNIP-12](https://github.com/starknet-io/SNIPs/blob/main/SNIPS/snip-12.md). An example of simple message: - -```typescript -const myTypedData: TypedData = { - domain: { - name: 'DappLand', - chainId: constants.StarknetChainId.SN_SEPOLIA, - version: '1.0.2', - revision: TypedDataRevision.ACTIVE, - }, - message: { - name: 'MonKeyCollection', - value: 2312, - // do not use BigInt type if message sent to a web browser - }, - primaryType: 'Simple', - types: { - Simple: [ - { - name: 'name', - type: 'shortstring', - }, - { - name: 'value', - type: 'u128', - }, - ], - StarknetDomain: [ - { - name: 'name', - type: 'shortstring', - }, - { - name: 'chainId', - type: 'shortstring', - }, - { - name: 'version', - type: 'shortstring', - }, - ], - }, -}; - -const account0 = new Account(myProvider, address, privateKey); -const fullPublicKey = stark.getFullPublicKey(privateKey); - -const msgHash = await account0.hashMessage(myTypedData); -const signature: Signature = (await account0.signMessage(myTypedData)) as WeierstrassSignatureType; -``` - -:::note -A message can be more complex, with nested types. See an example [here](https://github.com/PhilippeR26/starknet.js-workshop-typescript/blob/main/src/scripts/signature/4c.signSnip12vActive.ts). -::: - -### Verify TypedData outside Starknet - -On the receiver side, you receive the message, the signature, the full public key and the account address. -To verify the message: - -```typescript -const isValid = typedData.verifyMessage(myTypedData, signature, fullPublicKey, account0Address); -``` - -A verification is also possible if you have the message hash, the signature and the full public key. - -```typescript -const isValid2 = typedData.verifyMessage(msgHash, signature, fullPublicKey); - -// with a low level function (take care of Types limitations) : -const isValid3 = ec.starkCurve.verify(signature, msgHash, fullPublicKey); -``` - -### Verify TypedData in Starknet - -On the receiver side, you receive the message, the signature, and the account address. -To verify the message: - -```typescript -const isValid4 = await myProvider.verifyMessageInStarknet( - myTypedData, - signature2, - account0.address -); -``` - -A verification is also possible if you have the message hash, the signature and the account address: - -```typescript -const isValid5 = await myProvider.verifyMessageInStarknet(msgHash, signature2, account0.address); -``` - -## Signing with an Ethereum signer - -All the previous examples are using the standard Starknet signature process, but you can also use the Ethereum one. - -```typescript -const myEthPrivateKey = '0x525bc68475c0955fae83869beec0996114d4bb27b28b781ed2a20ef23121b8de'; -const myEthAccountAddressInStarknet = - '0x65a822fbee1ae79e898688b5a4282dc79e0042cbed12f6169937fddb4c26641'; -const myEthSigner = new EthSigner(myEthPrivateKey); -console.log('Complete public key =', await myEthSigner.getPubKey()); -const sig0 = await myEthSigner.signMessage(message, myEthAccountAddressInStarknet); -console.log('signature message =', sig0); -``` - -## Signing with a Ledger hardware wallet - -![](./pictures/LedgerTitle.png) - -Starknet.js has a support for Ledger Nano S+ or X, to sign your Starknet transactions. -You have to use a transporter to interact with the Ledger Nano. Depending if you use an USB or a Bluetooth connection, depending on your framework (Node, Web, Mobile), you have to use the appropriate library to create your transporter. - -The Ledger documentation lists all the available cases : -![](./pictures/LedgerConnectivity.png) - -The libs available are : - -```typescript -import TransportNodeHid from '@ledgerhq/hw-transport-node-hid'; -import TransportWebHid from '@ledgerhq/hw-transport-webhid'; -import TransportWebBluetooth from '@ledgerhq/hw-transport-web-ble'; -import TransportHID from '@ledgerhq/react-native-hid'; -import TransportBLE from '@ledgerhq/react-native-hw-transport-ble'; -import type Transport from '@ledgerhq/hw-transport'; // type for the transporter -``` - -In a Web DAPP, take care that some browsers are not compatible (FireFox, ...), and that the Bluetooth is not working in all cases and in all operating systems. - -:::note -The last version of the Ledger Starknet APP (v2.3.1) supports explained V1 (ETH, Rpc 0.7) & V3 (STRK, Rpc 0.7 & 0.8) transactions & deploy accounts. For a class declaration or a message, you will have to blind sign a hash ; sign only hashes from a code that you trust. Do not forget to enable `Blind signing` in the APP settings. -::: - -For example, for a Node script: - -```typescript -import TransportNodeHid from '@ledgerhq/hw-transport-node-hid'; -const myLedgerTransport: Transport = await TransportNodeHid.create(); -const myLedgerSigner = new LedgerSigner231(myLedgerTransport, 0); -const pubK = await myLedgerSigner.getPubKey(); -const fullPubK = await myLedgerSigner.getFullPubKey(); -// ... -// deploy here an account related to this public key -// ... -const ledgerAccount = new Account(myProvider, ledger0addr, myLedgerSigner); -``` - -:::warning important - -- The Ledger shall be connected, unlocked, with the Starknet internal APP activated, before launch of the script. -- The Ledger Starknet APP is not handling the signature of Class declaration. -- The transactions are detailed in the Nano screen only for a single transaction of STRK, ETH or USDC. All other cases are blind signing. - -::: - -Some complete examples : -A Node script : [here](https://github.com/PhilippeR26/starknet.js-workshop-typescript/blob/main/src/scripts/ledgerNano/10.testLedger231-rpc08.ts). -A test Web DAPP, to use in devnet-rs network : [here](https://github.com/PhilippeR26/Starknet-Ledger-Wallet). - -If you want to read the version of the Ledger Starknet APP: - -```typescript -const resp = await myLedgerTransport.send(Number('0x5a'), 0, 0, 0); -const appVersion = resp[0] + '.' + resp[1] + '.' + resp[2]; -console.log('version=', appVersion); -``` - -:::note -You also have in Starknet.js a signer for the old v1.1.1 Ledger Starknet APP. - -```typescript -const myLedgerSigner = new LedgerSigner111(myLedgerTransport, 0); -``` - -If you want to use the accounts created with the v1.1.1, using the v2.3.1 signer : - -```typescript -const myLedgerSigner = new LedgerSigner231(myLedgerTransport, 0, undefined, getLedgerPathBuffer111); -``` - -::: diff --git a/www/versioned_docs/version-7.5.1/guides/use_ERC20.md b/www/versioned_docs/version-7.5.1/guides/use_ERC20.md deleted file mode 100644 index 1598d2ab5..000000000 --- a/www/versioned_docs/version-7.5.1/guides/use_ERC20.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -sidebar_position: 12 ---- - -# Work with ERC20 tokens - -Based on what has been seen in the previous pages of this guide, we will use an ERC20 contract. - -## What's an ERC20 - -As in Ethereum, a token has an ERC20 contract to manage it. This contract contains a table, that lists the quantity of tokens owned by each involved account: -![](./pictures/ERC20.png) - -For example, Account address 2 owns 100 tokens of this ERC20 contract. - -Users have the feeling that their tokens are stored in their wallets, but it's absolutely false. You have no list of assets stored in your account contract. In fact, a token has its own ERC20 contract, and the amount of token owned by your account address is stored in this contract. - -If you want to have your balance of a token, ask for its ERC20 contract, with the function `ERC20contract.balanceOf(accountAddress)`. - -When you want to transfer some tokens in your possession, you have to use the ERC20 contract function `transfer`, through the `account.execute` function (or meta-class methods). In this way, Starknet.js will send to the account contract a message signed with the private key. - -This message contains the name of the function to call in the ERC20 contract, with its optional parameters. - -The account contract will use the public key to check that you have the private key, then will ask the ERC20 contract to execute the requested function. - -This way, the ERC20 contract is absolutely sure that the caller of the transfer function knows the private key of this account. - -## STRK token is an ERC20 in Starknet - -Unlike Ethereum, the ETH and STRK fee tokens are both ERC20 in Starknet, just like all other tokens. In all networks, their ERC20 contract addresses are: - -```typescript -const addrSTRK = '0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d'; -const addrETH = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7'; -``` - -## Deploy an ERC20 - -Let's dive down the rabbit hole! - -This example works with an ERC20, that we will deploy on Devnet RPC 0.8 (launched with `cargo run --release -- --seed 0`). - -First, let's initialize an existing account: - -```typescript -// initialize provider -const provider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); -// initialize existing pre-deployed account 0 of Devnet -const privateKey = '0x71d7bb07b9a64f6f78ac4c816aff4da9'; -const accountAddress = '0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691'; - -const account0 = new Account(provider, accountAddress, privateKey); -``` - -Declaration and deployment of the ERC20 contract: - -```typescript -// Deploy an ERC20 contract -console.log('Deployment Tx - ERC20 Contract to Starknet...'); -const compiledSierra = json.parse( - fs.readFileSync('./__mocks__/cairo/ERC20-241/ERC20OZ081.sierra.json').toString('ascii') -); -const compiledCasm = json.parse( - fs.readFileSync('./__mocks__/cairo/ERC20-241/ERC20OZ081.casm.json').toString('ascii') -); -const initialTk: Uint256 = cairo.uint256(20n * 10n ** 18n); // 20 NIT -const erc20CallData: CallData = new CallData(compiledSierra.abi); -const ERC20ConstructorCallData: Calldata = erc20CallData.compile('constructor', { - name: 'niceToken', - symbol: 'NIT', - fixed_supply: initialTk, - recipient: account0.address, -}); - -console.log('constructor=', ERC20ConstructorCallData); -const deployERC20Response = await account0.declareAndDeploy({ - contract: compiledSierra, - casm: compiledCasm, - constructorCalldata: ERC20ConstructorCallData, -}); -console.log('ERC20 declared hash: ', deployERC20Response.declare.class_hash); -console.log('ERC20 deployed at address: ', deployERC20Response.deploy.contract_address); - -// Get the erc20 contract address -const erc20Address = deployERC20Response.deploy.contract_address; -// Create a new erc20 contract object -const erc20 = new Contract(compiledSierra.abi, erc20Address, provider); -erc20.connect(account0); -``` - -## Interact with an ERC20 - -Here we will read the balance and transfer tokens: - -```typescript -// Check balance - should be 20 NIT -console.log(`Calling Starknet for account balance...`); -const balanceInitial = await erc20.balanceOf(account0.address); -console.log('account0 has a balance of:', balanceInitial); - -// Execute tx transfer of 1 tokens to account 1 -console.log(`Invoke Tx - Transfer 1 tokens to erc20 contract...`); -const toTransferTk: Uint256 = cairo.uint256(1 * 10 ** 18); -const transferCall: Call = erc20.populate('transfer', { - recipient: '0x78662e7352d062084b0010068b99288486c2d8b914f6e2a55ce945f8792c8b1', - amount: 1n * 10n ** 18n, -}); -const { transaction_hash: transferTxHash } = await account0.execute(transferCall); -// Wait for the invoke transaction to be accepted on Starknet -console.log(`Waiting for Tx to be Accepted on Starknet - Transfer...`); -await provider.waitForTransaction(transferTxHash); - -// Check balance after transfer - should be 19 NIT -console.log(`Calling Starknet for account balance...`); -const balanceAfterTransfer = await erc20.balanceOf(account0.address); -console.log('account0 has a balance of:', balanceAfterTransfer); -console.log('✅ Script completed.'); -``` diff --git a/www/versioned_docs/version-7.5.1/guides/walletAccount.md b/www/versioned_docs/version-7.5.1/guides/walletAccount.md deleted file mode 100644 index c10558554..000000000 --- a/www/versioned_docs/version-7.5.1/guides/walletAccount.md +++ /dev/null @@ -1,203 +0,0 @@ ---- -sidebar_position: 9 ---- - -# WalletAccount - -**Use wallets to sign transactions in your DAPP.** - -The [`WalletAccount`](../API/classes/WalletAccount) class is similar to the regular [`Account`](../API/classes/Account) class, with the added ability to ask a browser wallet to sign and send transactions. Some other cool functionalities will be detailed hereunder. - -The private key of a `WalletAccount` is held in a browser wallet (such as ArgentX, Braavos, etc.), and any signature is managed by the wallet. With this approach DAPPs don't need to manage the security for any private key. - -:::caution -This class functions only within the scope of a DAPP. It can't be used in a Node.js script. -::: - -## Architecture - -![](./pictures/WalletAccountArchitecture.png) - -When retrieving information from Starknet, a `WalletAccount` instance will read directly from the blockchain. That is why at the initialization of a `WalletAccount` a [`Provider`](../API/classes/Provider) instance is a required parameter, it will be used for all reading activities. - -If you want to write to Starknet the `WalletAccount` will ask the browser wallet to sign and send the transaction using the Starknet Wallet API to communicate. - -As several wallets can be installed in your browser, the `WalletAccount` needs the ID of one of the available wallets. You can ask `get-starknet` to display a list of available wallets and to provide as a response the identifier of the selected wallet, called a `Starknet Windows Object` (referred to as SWO in the rest of this guide). - -## Select a Wallet - -You can ask the `get-starknet` v4 library to display a list of wallets, then it will ask you to make a choice. It will return the SWO of the wallet the user selected. - -Using the `get-starknet-core` v4 library you can create your own UI and logic to select the wallet. An example of DAPP using a custom UI: [**here**](https://github.com/PhilippeR26/Starknet-WalletAccount/blob/main/src/app/components/client/WalletHandle/SelectWallet.tsx), in the example you can select only the wallets compatible with the Starknet Wallet API. -![](./pictures/SelectWallet.png) - -Instantiating a new `WalletAccount`: - -```typescript -import { connect } from '@starknet-io/get-starknet'; // v4.0.3 min -import { WalletAccount, wallet } from 'starknet'; // v7.0.1 min -const myFrontendProviderUrl = 'https://starknet-sepolia.public.blastapi.io/rpc/v0_8'; -// standard UI to select a wallet: -const selectedWalletSWO = await connect({ modalMode: 'alwaysAsk', modalTheme: 'light' }); -const myWalletAccount = await WalletAccount.connect( - { nodeUrl: myFrontendProviderUrl }, - selectedWalletSWO -); -``` - -The wallet is connected to this blockchain to write in Starknet: - -```typescript -const writeChainId = await wallet.requestChainId(myWalletAccount.walletProvider); -``` - -and to this blockchain to read Starknet: - -```typescript -const readChainId = await myWalletAccount.getChainId(); -``` - -## Use as an Account - -Once a new `WalletAccount` is created, you can use all the power of Starknet.js, exactly as a with a normal `Account` instance, for example `myWalletAccount.execute(call)` or `myWalletAccount.signMessage(typedMessage)`: - -```typescript -const claimCall = airdropContract.populate('claim_airdrop', { - amount: amount, - proof: proof, -}); -const resp = await myWalletAccount.execute(claimCall); -``` - -![](./pictures/executeTx.png) - -## Use in a Contract instance - -You can connect a `WalletAccount` with a [`Contract`](../API/classes/Contract) instance. All reading actions are performed by the provider of the `WalletAccount`, and all writing actions (that need a signature) are performed by the browser wallet. - -```typescript -const lendContract = new Contract(contract.abi, contractAddress, myWalletAccount); -const qty = await lendContract.get_available_asset(addr); // use of the WalletAccount provider -const resp = await lendContract.process_lend_asset(addr); // use of the browser wallet -``` - -## Use as a Provider - -Your `WalletAccount` instance can be used as a provider: - -```typescript -const bl = await myWalletAccount.getBlockNumber(); -// bl = 2374543 -``` - -You can use all the methods of the `Provider` class. Under the hood, the `WalletAccount` will use the RPC node that you indicated at its instantiation. - -## Subscription to events - -You can subscribe to 2 events: - -- `accountsChanged`: Triggered each time you change the current account in the wallet. -- `networkChanged`: Triggered each time you change the current network in the wallet. - -At each change of the network, both account and network events are emitted. -At each change of the account, only the account event is emitted. - -### Subscribe - -#### accountsChanged - -```typescript -const handleAccount: AccountChangeEventHandler = (accounts: string[] | undefined) => { - if (accounts?.length) { - const textAddr = accounts[0]; // hex string - setChangedAccount(textAddr); // from a React useState - } -}; -selectedWalletSWO.on('accountsChanged', handleAccount); -``` - -#### networkChanged - -```typescript -const handleNetwork: NetworkChangeEventHandler = (chainId?: string, accounts?: string[]) => { - if (!!chainId) { - setChangedNetwork(chainId); - } // from a React useState -}; -selectedWalletSWO.on('networkChanged', handleNetwork); -``` - -### Unsubscribe - -Similar to subscription, by using the `.off` method. - -```typescript -selectedWalletSWO.off('accountsChanged', handleAccount); -selectedWalletSWO.off('networkChanged', handleNetwork); -``` - -:::info -You can subscribe both with the SWO or with a `WalletAccount` instance. -The above examples are using the SWO, because it is the simpler way to process. -::: - -## Direct access to the wallet API entry points - -The `WalletAccount` class is able to interact with all the entrypoints of the Starknet Wallet API, including some functionalities that do not exists in the `Account` class. - -A full description of this API can be found [**here**](https://github.com/starknet-io/get-starknet/blob/master/packages/core/documentation/walletAPIdocumentation.md). - -Some examples: - -### Request to change the wallet network - -Using your `WalletAccount`, you can ask the wallet to change its current network: - -```typescript -useEffect( - () => { - if (!isValidNetwork()) { - const tryChangeNetwork = async () => { - await myWalletAccount.switchStarknetChain(constants.StarknetChainId.SN_SEPOLIA); - }; - tryChangeNetwork().catch(console.error); - } - }, - [chainId] // from a networkChanged event -); -``` - -![](./pictures/switchNetwork.png) - -### Request to display a token in the wallet - -Using your `WalletAccount`, you can ask the wallet to display a new token: - -```typescript -useEffect( - () => { - const fetchAddToken = async () => { - const resp = await myWalletAccount.watchAsset({ - type: 'ERC20', - options: { - address: erc20Address, - }, - }); - }; - if (isAirdropSuccess) { - fetchAddToken().catch(console.error); - } - }, - [isAirdropSuccess] // from a React useState -); -``` - -![](./pictures/addToken.png) - -## Changing the network or account - -When you change the network or the account address a `WalletAccount` instance is automatically updated, however, this can lead to unexpected behavior if one is not careful (reads and writes targeting different networks, problems with Cairo versions of the accounts, ...). - -:::warning RECOMMENDATION -It is strongly recommended to create a new `WalletAccount` instance each time the network or the account address is changed. -::: diff --git a/www/versioned_docs/version-7.5.1/guides/what_s_starknet.js.md b/www/versioned_docs/version-7.5.1/guides/what_s_starknet.js.md deleted file mode 100644 index 1a214e776..000000000 --- a/www/versioned_docs/version-7.5.1/guides/what_s_starknet.js.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -sidebar_position: 2 ---- - -# What is Starknet.js ? - -Starknet.js is a library that helps connect your website or your Decentralized Application (DAPP) to the blockchain-based Starknet network, using JavaScript / TypeScript. - -## Overview - -![](./pictures/starknet-js-chart.png) - -Some important topics that have to be understood: - -- You can connect your DAPP to several networks: - - - [Starknet Mainnet](https://starkscan.co) (Layer 2 of [Ethereum network](https://etherscan.io/) ). - - [Starknet Testnet](https://sepolia.starkscan.co/) (Layer 2 of [Sepolia network](https://sepolia.etherscan.io/) (testnet of Ethereum)). - - [Starknet Devnet](https://github.com/0xSpaceShard/starknet-devnet) (your local Starknet network, for developers). - - and also to some more specific solutions: - - - private customized version of Starknet. - - local Starknet node (connected to mainnet or testnet). - -> Understanding what Starknet is and how it works is necessary. Then, you can learn how to interact with it using Starknet.js. So, at this stage, you should be aware of the content of the [Starknet official doc](https://docs.starknet.io/documentation/) and [the Cairo Book](https://book.cairo-lang.org/). - -- The `RpcChannel` and `RpcProvider` classes and their methods are used for low-level communication with an RPC node. -- Your DAPP will mainly interact with `Account` and `Contract` class instances; they use underlying `RpcProvider` connections to provide high-level methods for interacting with their Starknet namesakes, accounts and contracts. -- `Signer` and `Utils` objects contain many useful functions for interaction with Starknet.js. -- The `Contract` object is mainly used to read the memory of a blockchain contract. -- The `Account` object is the most useful: - - as a wallet, to store your tokens. - - as a way to pay the fees to the network, and to be able to write in its memory. diff --git a/www/versioned_docs/version-7.6.2/API/_category_.yml b/www/versioned_docs/version-7.6.2/API/_category_.yml deleted file mode 100644 index 3c0dfeba4..000000000 --- a/www/versioned_docs/version-7.6.2/API/_category_.yml +++ /dev/null @@ -1 +0,0 @@ -label: 'API' diff --git a/www/versioned_docs/version-7.6.2/API/classes/AccountInterface.md b/www/versioned_docs/version-7.6.2/API/classes/AccountInterface.md deleted file mode 100644 index 57df0a281..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/AccountInterface.md +++ /dev/null @@ -1,1322 +0,0 @@ ---- -id: 'AccountInterface' -title: 'Class: AccountInterface' -sidebar_label: 'AccountInterface' -sidebar_position: 0 -custom_edit_url: null ---- - -## Hierarchy - -- [`ProviderInterface`](ProviderInterface.md) - - ↳ **`AccountInterface`** - -## Implemented by - -- [`Account`](Account.md) -- [`WalletAccount`](WalletAccount.md) - -## Constructors - -### constructor - -• **new AccountInterface**(): [`AccountInterface`](AccountInterface.md) - -#### Returns - -[`AccountInterface`](AccountInterface.md) - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[constructor](ProviderInterface.md#constructor) - -## Properties - -### address - -• `Abstract` **address**: `string` - -#### Defined in - -[src/account/interface.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L37) - ---- - -### signer - -• `Abstract` **signer**: [`SignerInterface`](SignerInterface.md) - -#### Defined in - -[src/account/interface.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L39) - ---- - -### cairoVersion - -• `Abstract` **cairoVersion**: [`CairoVersion`](../namespaces/types.md#cairoversion) - -#### Defined in - -[src/account/interface.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L41) - ---- - -### channel - -• `Abstract` **channel**: [`RpcChannel`](RPC07.RpcChannel.md) \| [`RpcChannel`](RPC08.RpcChannel.md) - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[channel](ProviderInterface.md#channel) - -#### Defined in - -[src/provider/interface.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L37) - -## Methods - -### estimateInvokeFee - -▸ **estimateInvokeFee**(`calls`, `estimateFeeDetails?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimate Fee for executing an INVOKE transaction on starknet - -#### Parameters - -| Name | Type | Description | -| :-------------------- | :---------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `calls` | [`AllowArray`](../namespaces/types.md#allowarray)<[`Call`](../namespaces/types.md#call)\> | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata? - (defaults to []) the calldata | -| `estimateFeeDetails?` | [`EstimateFeeDetails`](../interfaces/types.EstimateFeeDetails.md) | blockIdentifier? - nonce? = 0 - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -response from estimate_fee - -#### Defined in - -[src/account/interface.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L64) - ---- - -### estimateDeclareFee - -▸ **estimateDeclareFee**(`contractPayload`, `estimateFeeDetails?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimate Fee for executing a DECLARE transaction on starknet - -#### Parameters - -| Name | Type | Description | -| :-------------------- | :------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractPayload` | [`DeclareContractPayload`](../namespaces/types.md#declarecontractpayload) | the payload object containing: - contract - the compiled contract to be declared - casm? - compiled cairo assembly. Cairo1(casm or compiledClassHash are required) - classHash? - the class hash of the compiled contract. Precalculate for faster execution. - compiledClassHash?: class hash of the cairo assembly. Cairo1(casm or compiledClassHash are required) | -| `estimateFeeDetails?` | [`EstimateFeeDetails`](../interfaces/types.EstimateFeeDetails.md) | blockIdentifier? - nonce? = 0 - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -response from estimate_fee - -#### Defined in - -[src/account/interface.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L91) - ---- - -### estimateAccountDeployFee - -▸ **estimateAccountDeployFee**(`contractPayload`, `estimateFeeDetails?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimate Fee for executing a DEPLOY_ACCOUNT transaction on starknet - -#### Parameters - -| Name | Type | Description | -| :-------------------- | :------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractPayload` | [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload) | classHash - the class hash of the compiled contract. - constructorCalldata? - constructor data; - contractAddress? - future account contract address. Precalculate for faster execution. - addressSalt? - salt used for calculation of the contractAddress. Required if contractAddress is provided. | -| `estimateFeeDetails?` | [`EstimateFeeDetails`](../interfaces/types.EstimateFeeDetails.md) | blockIdentifier? - nonce? = 0 - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -response from estimate_fee - -#### Defined in - -[src/account/interface.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L117) - ---- - -### estimateDeployFee - -▸ **estimateDeployFee**(`deployContractPayload`, `estimateFeeDetails?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimate Fee for executing a UDC DEPLOY transaction on starknet -This is different from the normal DEPLOY transaction as it goes through the Universal Deployer Contract (UDC) - -#### Parameters - -| Name | Type | Description | -| :---------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `deployContractPayload` | [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload) \| [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload)[] | array or singular - classHash: computed class hash of compiled contract - salt: address salt - unique: bool if true ensure unique salt - constructorCalldata: constructor calldata | -| `estimateFeeDetails?` | [`EstimateFeeDetails`](../interfaces/types.EstimateFeeDetails.md) | blockIdentifier? - nonce? - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -#### Defined in - -[src/account/interface.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L143) - ---- - -### estimateFeeBulk - -▸ **estimateFeeBulk**(`invocations`, `details?`): `Promise`<[`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk)\> - -Estimate Fee for executing a list of transactions on starknet -Contract must be deployed for fee estimation to be possible - -#### Parameters - -| Name | Type | Description | -| :------------ | :---------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocations` | [`Invocations`](../namespaces/types.md#invocations) | array of transaction object containing : - type - the type of transaction : 'DECLARE' \| (multi)'DEPLOY' \| (multi)'INVOKE_FUNCTION' \| 'DEPLOY_ACCOUNT' - payload - the payload of the transaction | -| `details?` | [`EstimateFeeDetails`](../interfaces/types.EstimateFeeDetails.md) | blockIdentifier? - nonce? - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei | - -#### Returns - -`Promise`<[`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk)\> - -response from estimate_fee - -#### Defined in - -[src/account/interface.ts:169](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L169) - ---- - -### getSuggestedFee - -▸ **getSuggestedFee**(`estimateFeeAction`, `details`): `Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -Gets Suggested Max Fee based on the transaction type - -#### Parameters - -| Name | Type | -| :------------------ | :---------------------------------------------------------------- | -| `estimateFeeAction` | [`EstimateFeeAction`](../namespaces/types.md#estimatefeeaction) | -| `details` | [`EstimateFeeDetails`](../interfaces/types.EstimateFeeDetails.md) | - -#### Returns - -`Promise`<[`EstimateFee`](../interfaces/types.EstimateFee.md)\> - -EstimateFee (...response, resourceBounds, suggestedMaxFee) - -#### Defined in - -[src/account/interface.ts:181](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L181) - ---- - -### simulateTransaction - -▸ **simulateTransaction**(`invocations`, `details?`): `Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -Simulates an array of transaction and returns an array of transaction trace and estimated fee. - -#### Parameters - -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- | -| `invocations` | [`Invocations`](../namespaces/types.md#invocations) | Invocations containing: - type - transaction type: DECLARE, (multi)DEPLOY, DEPLOY_ACCOUNT, (multi)INVOKE_FUNCTION | -| `details?` | [`SimulateTransactionDetails`](../namespaces/types.md#simulatetransactiondetails) | SimulateTransactionDetails | - -#### Returns - -`Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -response from simulate_transaction - -#### Defined in - -[src/account/interface.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L195) - ---- - -### execute - -▸ **execute**(`transactions`, `transactionsDetail?`): `Promise`<\{ `transaction_hash`: `string` }\> - -Invoke execute function in account contract - -#### Parameters - -| Name | Type | Description | -| :-------------------- | :---------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `transactions` | [`AllowArray`](../namespaces/types.md#allowarray)<[`Call`](../namespaces/types.md#call)\> | the invocation object or an array of them, containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature | -| `transactionsDetail?` | [`InvocationsDetails`](../namespaces/types.md#invocationsdetails) | Additional optional parameters for the transaction | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -response from addTransaction - -#### Defined in - -[src/account/interface.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L212) - ---- - -### estimatePaymasterTransactionFee - -▸ **estimatePaymasterTransactionFee**(`calls`, `paymasterDetails`): `Promise`<[`PaymasterFeeEstimate`](../namespaces/types.md#paymasterfeeestimate)\> - -Estimate Fee for executing a paymaster transaction on starknet - -#### Parameters - -| Name | Type | Description | -| :----------------- | :------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `calls` | [`Call`](../namespaces/types.md#call)[] | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata | -| `paymasterDetails` | [`PaymasterDetails`](../interfaces/types.PaymasterDetails.md) | the paymaster details containing: - feeMode - the fee mode - deploymentData - the deployment data (optional) - timeBounds - the time bounds (optional) | - -#### Returns - -`Promise`<[`PaymasterFeeEstimate`](../namespaces/types.md#paymasterfeeestimate)\> - -response extracting fee from buildPaymasterTransaction - -#### Defined in - -[src/account/interface.ts:232](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L232) - ---- - -### buildPaymasterTransaction - -▸ **buildPaymasterTransaction**(`calls`, `paymasterDetails`): `Promise`<[`PreparedTransaction`](../namespaces/types.md#preparedtransaction)\> - -Build a paymaster transaction - -#### Parameters - -| Name | Type | Description | -| :----------------- | :------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `calls` | [`Call`](../namespaces/types.md#call)[] | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata | -| `paymasterDetails` | [`PaymasterDetails`](../interfaces/types.PaymasterDetails.md) | the paymaster details containing: - feeMode - the fee mode - deploymentData - the deployment data (optional) - timeBounds - the time bounds (optional) | - -#### Returns - -`Promise`<[`PreparedTransaction`](../namespaces/types.md#preparedtransaction)\> - -the prepared transaction - -#### Defined in - -[src/account/interface.ts:252](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L252) - ---- - -### executePaymasterTransaction - -▸ **executePaymasterTransaction**(`calls`, `paymasterDetails`, `maxFeeInGasToken?`): `Promise`<\{ `transaction_hash`: `string` }\> - -Execute a paymaster transaction - -Assert that the gas token value is equal to the provided gas fees -Assert that the calls are strictly equal to the returned calls. -Assert that the gas token (in gas token) price is not too high, if provided. -Assert that typedData to signed is strictly equal to the provided typedData. - -#### Parameters - -| Name | Type | Description | -| :------------------ | :------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `calls` | [`Call`](../namespaces/types.md#call)[] | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata | -| `paymasterDetails` | [`PaymasterDetails`](../interfaces/types.PaymasterDetails.md) | the paymaster details containing: - feeMode - the fee mode (sponsored or default) - deploymentData - the deployment data (optional) - timeBounds - the time bounds when the transaction is valid (optional) - executeAfter and executeBefore expected to be in seconds (BLOCK_TIMESTAMP) | -| `maxFeeInGasToken?` | [`BigNumberish`](../namespaces/types.md#bignumberish) | the max fee acceptable to pay in gas token (optional) | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -the tarnsaction hash if successful, otherwise an error is thrown - -#### Defined in - -[src/account/interface.ts:279](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L279) - ---- - -### declare - -▸ **declare**(`contractPayload`, `transactionsDetail?`): `Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -Declares a given compiled contract (json) to starknet - -#### Parameters - -| Name | Type | Description | -| :-------------------- | :------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractPayload` | [`DeclareContractPayload`](../namespaces/types.md#declarecontractpayload) | transaction payload to be deployed containing: - contract: compiled contract code - (optional) classHash: computed class hash of compiled contract. Pre-compute it for faster execution. - (required for Cairo1 without compiledClassHash) casm: CompiledContract \| string; - (optional for Cairo1 with casm) compiledClassHash: compiled class hash from casm. Pre-compute it for faster execution. | -| `transactionsDetail?` | [`InvocationsDetails`](../namespaces/types.md#invocationsdetails) | InvocationsDetails | - -#### Returns - -`Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -a confirmation of sending a transaction on the starknet contract - -#### Defined in - -[src/account/interface.ts:297](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L297) - ---- - -### deploy - -▸ **deploy**(`payload`, `details?`): `Promise`<[`MultiDeployContractResponse`](../namespaces/types.md#multideploycontractresponse)\> - -Deploys a declared contract to starknet - using Universal Deployer Contract (UDC) -support multicall - -#### Parameters - -| Name | Type | Description | -| :--------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload) \| [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload)[] | classHash: computed class hash of compiled contract - [constructorCalldata] contract constructor calldata - [salt=pseudorandom] deploy address salt - [unique=true] ensure unique salt | -| `details?` | [`InvocationsDetails`](../namespaces/types.md#invocationsdetails) | InvocationsDetails | - -#### Returns - -`Promise`<[`MultiDeployContractResponse`](../namespaces/types.md#multideploycontractresponse)\> - -- contract_address[] -- transaction_hash - -#### Defined in - -[src/account/interface.ts:317](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L317) - ---- - -### deployContract - -▸ **deployContract**(`payload`, `details?`): `Promise`<[`DeployContractUDCResponse`](../namespaces/types.md#deploycontractudcresponse)\> - -Simplify deploy simulating old DeployContract with same response + UDC specific response -Internal wait for L2 transaction, support multicall - -#### Parameters - -| Name | Type | Description | -| :--------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload) \| [`UniversalDeployerContractPayload`](../namespaces/types.md#universaldeployercontractpayload)[] | classHash: computed class hash of compiled contract - [constructorCalldata] contract constructor calldata - [salt=pseudorandom] deploy address salt - [unique=true] ensure unique salt | -| `details?` | [`InvocationsDetails`](../namespaces/types.md#invocationsdetails) | InvocationsDetails | - -#### Returns - -`Promise`<[`DeployContractUDCResponse`](../namespaces/types.md#deploycontractudcresponse)\> - -- contract_address -- transaction_hash -- address -- deployer -- unique -- classHash -- calldata_len -- calldata -- salt - -#### Defined in - -[src/account/interface.ts:344](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L344) - ---- - -### declareAndDeploy - -▸ **declareAndDeploy**(`payload`, `details?`): `Promise`<[`DeclareDeployUDCResponse`](../namespaces/types.md#declaredeployudcresponse)\> - -Declares and Deploy a given compiled contract (json) to starknet using UDC -Internal wait for L2 transaction, do not support multicall -Method will pass even if contract is already declared (internal using DeclareIfNot) - -#### Parameters - -| Name | Type | Description | -| :--------- | :------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payload` | [`DeclareAndDeployContractPayload`](../namespaces/types.md#declareanddeploycontractpayload) | contract: compiled contract code - [casm=cairo1]: CairoAssembly \| undefined; - [compiledClassHash]: string \| undefined; - [classHash]: computed class hash of compiled contract - [constructorCalldata] contract constructor calldata - [salt=pseudorandom] deploy address salt - [unique=true] ensure unique salt | -| `details?` | [`InvocationsDetails`](../namespaces/types.md#invocationsdetails) | InvocationsDetails | - -#### Returns - -`Promise`<[`DeclareDeployUDCResponse`](../namespaces/types.md#declaredeployudcresponse)\> - -- declare - - transaction_hash -- deploy - - contract_address - - transaction_hash - - address - - deployer - - unique - - classHash - - calldata_len - - calldata - - salt - -#### Defined in - -[src/account/interface.ts:378](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L378) - ---- - -### deployAccount - -▸ **deployAccount**(`contractPayload`, `transactionsDetail?`): `Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -Deploy the account on Starknet - -#### Parameters - -| Name | Type | Description | -| :-------------------- | :------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractPayload` | [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload) | transaction payload to be deployed containing: - classHash: computed class hash of compiled contract - optional constructor calldata - optional address salt - optional contractAddress | -| `transactionsDetail?` | [`InvocationsDetails`](../namespaces/types.md#invocationsdetails) | InvocationsDetails | - -#### Returns - -`Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -a confirmation of sending a transaction on the starknet contract - -#### Defined in - -[src/account/interface.ts:395](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L395) - ---- - -### signMessage - -▸ **signMessage**(`typedData`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs a TypedData object for off-chain usage with the Starknet private key and returns the signature -This adds a message prefix so it can't be interchanged with transactions - -#### Parameters - -| Name | Type | Description | -| :---------- | :----------------------------------------------------------------------- | :---------------------------- | -| `typedData` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | TypedData object to be signed | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the TypedData object - -**`Throws`** - -if typedData is not a valid TypedData - -#### Defined in - -[src/account/interface.ts:408](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L408) - ---- - -### hashMessage - -▸ **hashMessage**(`typedData`): `Promise`<`string`\> - -Hash a TypedData object with Pedersen hash and return the hash -This adds a message prefix so it can't be interchanged with transactions - -#### Parameters - -| Name | Type | Description | -| :---------- | :----------------------------------------------------------------------- | :---------------------------- | -| `typedData` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | TypedData object to be hashed | - -#### Returns - -`Promise`<`string`\> - -the hash of the TypedData object - -**`Throws`** - -if typedData is not a valid TypedData - -#### Defined in - -[src/account/interface.ts:418](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L418) - ---- - -### getNonce - -▸ **getNonce**(`blockIdentifier?`): `Promise`<`string`\> - -Gets the nonce of the account with respect to a specific block - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :---------------------------------------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | optional blockIdentifier. Defaults to 'pending' | - -#### Returns - -`Promise`<`string`\> - -nonce of the account - -#### Defined in - -[src/account/interface.ts:426](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/interface.ts#L426) - ---- - -### getChainId - -▸ **getChainId**(): `Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -Gets the Starknet chain Id - -#### Returns - -`Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -the chain Id - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getChainId](ProviderInterface.md#getchainid) - -#### Defined in - -[src/provider/interface.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L44) - ---- - -### callContract - -▸ **callContract**(`call`, `blockIdentifier?`): `Promise`<[`CallContractResponse`](../namespaces/types.md#callcontractresponse)\> - -Calls a function on the Starknet contract. - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :----------------------- | -| `call` | [`Call`](../namespaces/types.md#call) | transaction to be called | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<[`CallContractResponse`](../namespaces/types.md#callcontractresponse)\> - -the result of the function on the smart contract. - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[callContract](ProviderInterface.md#callcontract) - -#### Defined in - -[src/provider/interface.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L53) - ---- - -### getBlock - -▸ **getBlock**(`blockIdentifier?`): `Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -Gets the block information - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------- | :--------------- | -| `blockIdentifier?` | `"pending"` | block identifier | - -#### Returns - -`Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> - -the block object - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getBlock](ProviderInterface.md#getblock) - -#### Defined in - -[src/provider/interface.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L64) - -▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> - -#### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `blockIdentifier` | `"latest"` | - -#### Returns - -`Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getBlock](ProviderInterface.md#getblock) - -#### Defined in - -[src/provider/interface.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L65) - -▸ **getBlock**(`blockIdentifier`): `Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getBlock](ProviderInterface.md#getblock) - -#### Defined in - -[src/provider/interface.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L66) - ---- - -### getClassAt - -▸ **getClassAt**(`contractAddress`, `blockIdentifier?`): `Promise`<[`ContractClassResponse`](../namespaces/types.md#contractclassresponse)\> - -Gets the contract class of the deployed contract. - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `contractAddress` | `string` | contract address | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<[`ContractClassResponse`](../namespaces/types.md#contractclassresponse)\> - -Contract class of compiled contract - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getClassAt](ProviderInterface.md#getclassat) - -#### Defined in - -[src/provider/interface.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L75) - ---- - -### getL1GasPrice - -▸ **getL1GasPrice**(`blockIdentifier`): `Promise`<`string`\> - -Gets the price of l1 gas in the block - -#### Parameters - -| Name | Type | Description | -| :---------------- | :---------------------------------------------------------- | :--------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`\> - -gas price of the block - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getL1GasPrice](ProviderInterface.md#getl1gasprice) - -#### Defined in - -[src/provider/interface.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L86) - ---- - -### getL1MessageHash - -▸ **getL1MessageHash**(`l2TxHash`): `Promise`<`string`\> - -Get L1 message hash from L2 transaction hash - -#### Parameters - -| Name | Type | Description | -| :--------- | :---------------------------------------------------- | :------------------ | -| `l2TxHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | L2 transaction hash | - -#### Returns - -`Promise`<`string`\> - -Hex string of L1 message hash - -**`Example`** - -In Sepolia Testnet : - -```typescript -const result = provider.getL1MessageHash( - '0x28dfc05eb4f261b37ddad451ff22f1d08d4e3c24dc646af0ec69fa20e096819' -); -// result = '0x55b3f8b6e607fffd9b4d843dfe8f9b5c05822cd94fcad8797deb01d77805532a' -``` - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getL1MessageHash](ProviderInterface.md#getl1messagehash) - -#### Defined in - -[src/provider/interface.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L99) - ---- - -### getClassHashAt - -▸ **getClassHashAt**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -Returns the contract class hash in the given block for the contract deployed at the given address - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `contractAddress` | `string` | contract address | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`\> - -Class hash - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getClassHashAt](ProviderInterface.md#getclasshashat) - -#### Defined in - -[src/provider/interface.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L108) - ---- - -### getClassByHash - -▸ **getClassByHash**(`classHash`): `Promise`<[`ContractClassResponse`](../namespaces/types.md#contractclassresponse)\> - -Returns the contract class deployed under the given class hash. - -#### Parameters - -| Name | Type | Description | -| :---------- | :------- | :---------- | -| `classHash` | `string` | class hash | - -#### Returns - -`Promise`<[`ContractClassResponse`](../namespaces/types.md#contractclassresponse)\> - -Contract class of compiled contract - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getClassByHash](ProviderInterface.md#getclassbyhash) - -#### Defined in - -[src/provider/interface.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L119) - ---- - -### getNonceForAddress - -▸ **getNonceForAddress**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -Returns the nonce associated with the given address in the given block - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `contractAddress` | `string` | contract address | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - | - -#### Returns - -`Promise`<`string`\> - -the hex nonce - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getNonceForAddress](ProviderInterface.md#getnonceforaddress) - -#### Defined in - -[src/provider/interface.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L127) - ---- - -### getStorageAt - -▸ **getStorageAt**(`contractAddress`, `key`, `blockIdentifier?`): `Promise`<`string`\> - -Get the value of the storage (contract's variable) at the given address and key - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------------------------------------------------- | -| `contractAddress` | `string` | | -| `key` | [`BigNumberish`](../namespaces/types.md#bignumberish) | from getStorageVarAddress('') (WIP) | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<`string`\> - -the value of the storage variable - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getStorageAt](ProviderInterface.md#getstorageat) - -#### Defined in - -[src/provider/interface.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L140) - ---- - -### getTransaction - -▸ **getTransaction**(`transactionHash`): `Promise`<[`TransactionWithHash`](../namespaces/types.md#transactionwithhash)\> - -Gets the transaction information from a tx id. - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------- | -| `transactionHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TransactionWithHash`](../namespaces/types.md#transactionwithhash)\> - -the transaction object { transaction_id, status, transaction, block_number?, block_number?, transaction_index?, transaction_failure_reason? } - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getTransaction](ProviderInterface.md#gettransaction) - -#### Defined in - -[src/provider/interface.ts:152](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L152) - ---- - -### getTransactionReceipt - -▸ **getTransactionReceipt**(`transactionHash`): `Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -Gets the transaction receipt from a tx hash. - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------- | -| `transactionHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -the transaction receipt object - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getTransactionReceipt](ProviderInterface.md#gettransactionreceipt) - -#### Defined in - -[src/provider/interface.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L160) - ---- - -### deployAccountContract - -▸ **deployAccountContract**(`payload`, `details`): `Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -Deploys a given compiled Account contract (json) to starknet - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------ | -| `payload` | [`DeployAccountContractPayload`](../namespaces/types.md#deployaccountcontractpayload) | payload to be deployed containing: - compiled contract code - constructor calldata - address salt | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | - | - -#### Returns - -`Promise`<[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md)\> - -a confirmation of sending a transaction on the starknet contract - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[deployAccountContract](ProviderInterface.md#deployaccountcontract) - -#### Defined in - -[src/provider/interface.ts:173](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L173) - ---- - -### invokeFunction - -▸ **invokeFunction**(`invocation`, `details`): `Promise`<\{ `transaction_hash`: `string` }\> - -Invokes a function on starknet - -#### Parameters - -| Name | Type | Description | -| :----------- | :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocation` | [`Invocation`](../namespaces/types.md#invocation) | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - optional nonce - version - optional version - maxFee - optional maxFee | - -#### Returns - -`Promise`<\{ `transaction_hash`: `string` }\> - -response from addTransaction - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[invokeFunction](ProviderInterface.md#invokefunction) - -#### Defined in - -[src/provider/interface.ts:192](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L192) - ---- - -### declareContract - -▸ **declareContract**(`transaction`, `details`): `Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -Declares a given compiled contract (json) to starknet - -#### Parameters - -| Name | Type | Description | -| :------------ | :---------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- | -| `transaction` | [`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction) | transaction payload to be deployed containing: - compiled contract code - sender address - signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | Invocation Details containing: - nonce - optional version - optional maxFee | - -#### Returns - -`Promise`<\{ `class_hash`: `string` ; `transaction_hash`: `string` }\> - -a confirmation of sending a transaction on the starknet contract - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[declareContract](ProviderInterface.md#declarecontract) - -#### Defined in - -[src/provider/interface.ts:209](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L209) - ---- - -### getInvokeEstimateFee - -▸ **getInvokeEstimateFee**(`invocation`, `details`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates the fee for a given INVOKE transaction - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocation` | [`Invocation`](../namespaces/types.md#invocation) | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - optional nonce - version - optional version | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | (optional) block identifier | -| `skipValidate?` | `boolean` | (optional) skip cairo **validate** method | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -the estimated fee - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getInvokeEstimateFee](ProviderInterface.md#getinvokeestimatefee) - -#### Defined in - -[src/provider/interface.ts:229](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L229) - ---- - -### getDeclareEstimateFee - -▸ **getDeclareEstimateFee**(`transaction`, `details`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates the fee for a given DECLARE transaction - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ | -| `transaction` | [`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction) | transaction payload to be declared containing: - compiled contract code - sender address - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - version - optional version - optional maxFee | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | (optional) block identifier | -| `skipValidate?` | `boolean` | (optional) skip cairo **validate** method | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -the estimated fee - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getDeclareEstimateFee](ProviderInterface.md#getdeclareestimatefee) - -#### Defined in - -[src/provider/interface.ts:251](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L251) - ---- - -### getDeployAccountEstimateFee - -▸ **getDeployAccountEstimateFee**(`transaction`, `details`, `blockIdentifier?`, `skipValidate?`): `Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -Estimates the fee for a given DEPLOY_ACCOUNT transaction - -#### Parameters - -| Name | Type | Description | -| :----------------- | :-------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ | -| `transaction` | [`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction) | transaction payload to be deployed containing: - classHash - constructorCalldata - addressSalt - signature - (defaults to []) the signature | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | optional details containing: - nonce - version - optional version - optional maxFee | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | (optional) block identifier | -| `skipValidate?` | `boolean` | (optional) skip cairo **validate** method | - -#### Returns - -`Promise`<[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse)\> - -the estimated fee - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getDeployAccountEstimateFee](ProviderInterface.md#getdeployaccountestimatefee) - -#### Defined in - -[src/provider/interface.ts:274](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L274) - ---- - -### getEstimateFeeBulk - -▸ **getEstimateFeeBulk**(`invocations`, `options?`): `Promise`<[`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk)\> - -Estimates the fee for a list of INVOKE transaction - -#### Parameters - -| Name | Type | Description | -| :------------ | :------------------------------------------------------------------------------ | :----------------------------------------------------------------------- | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | AccountInvocations - Complete invocations array with account details | -| `options?` | [`getEstimateFeeBulkOptions`](../namespaces/types.md#getestimatefeebulkoptions) | getEstimateFeeBulkOptions - (optional) blockIdentifier - BlockIdentifier | - -#### Returns - -`Promise`<[`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk)\> - -the estimated fee - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getEstimateFeeBulk](ProviderInterface.md#getestimatefeebulk) - -#### Defined in - -[src/provider/interface.ts:289](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L289) - ---- - -### waitForTransaction - -▸ **waitForTransaction**(`txHash`, `options?`): `Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -Wait for the transaction to be accepted - -#### Parameters - -| Name | Type | Description | -| :--------- | :------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | transaction hash | -| `options?` | [`waitForTransactionOptions`](../namespaces/types.md#waitfortransactionoptions) | waitForTransactionOptions - (optional) retryInterval: number \| undefined; - (optional) successStates: TransactionStatus[] \| undefined; | - -#### Returns - -`Promise`<[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse)\> - -GetTransactionReceiptResponse - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[waitForTransaction](ProviderInterface.md#waitfortransaction) - -#### Defined in - -[src/provider/interface.ts:302](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L302) - ---- - -### getSimulateTransaction - -▸ **getSimulateTransaction**(`invocations`, `options?`): `Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -Simulates the transaction and returns the transaction trace and estimated fee. - -#### Parameters - -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | AccountInvocations - Complete invocations array with account details | -| `options?` | [`getSimulateTransactionOptions`](../namespaces/types.md#getsimulatetransactionoptions) | getSimulateTransactionOptions - (optional) blockIdentifier - block identifier - (optional) skipValidate - skip cairo **validate** method - (optional) skipExecute - skip cairo **execute** method | - -#### Returns - -`Promise`<[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse)\> - -an array of transaction trace and estimated fee - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getSimulateTransaction](ProviderInterface.md#getsimulatetransaction) - -#### Defined in - -[src/provider/interface.ts:317](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L317) - ---- - -### getStateUpdate - -▸ **getStateUpdate**(`blockIdentifier?`): `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -Gets the state changes in a specific block (result of executing the requested block) - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------- | :--------------- | -| `blockIdentifier?` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | block identifier | - -#### Returns - -`Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> - -StateUpdateResponse - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getStateUpdate](ProviderInterface.md#getstateupdate) - -#### Defined in - -[src/provider/interface.ts:328](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L328) - ---- - -### getContractVersion - -▸ **getContractVersion**(`contractAddress`, `classHash?`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -Gets the contract version from the provided address - -#### Parameters - -| Name | Type | Description | -| :---------------- | :------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractAddress` | `string` | string | -| `classHash?` | `undefined` | undefined | -| `options?` | [`getContractVersionOptions`](../namespaces/types.md#getcontractversionoptions) | getContractVersionOptions - (optional) compiler - (default true) extract compiler version using type tactic from abi - (optional) blockIdentifier - block identifier | - -#### Returns - -`Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getContractVersion](ProviderInterface.md#getcontractversion) - -#### Defined in - -[src/provider/interface.ts:338](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L338) - -▸ **getContractVersion**(`contractAddress`, `classHash`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -Gets the contract version from the provided address - -#### Parameters - -| Name | Type | Description | -| :---------------- | :------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractAddress` | `undefined` | undefined | -| `classHash` | `string` | | -| `options?` | [`getContractVersionOptions`](../namespaces/types.md#getcontractversionoptions) | getContractVersionOptions - (optional) compiler - (default true) extract compiler version using type tactic from abi - (optional) blockIdentifier - block identifier | - -#### Returns - -`Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> - -#### Inherited from - -[ProviderInterface](ProviderInterface.md).[getContractVersion](ProviderInterface.md#getcontractversion) - -#### Defined in - -[src/provider/interface.ts:352](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L352) diff --git a/www/versioned_docs/version-7.6.2/API/classes/BatchClient.md b/www/versioned_docs/version-7.6.2/API/classes/BatchClient.md deleted file mode 100644 index 146aa58e5..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/BatchClient.md +++ /dev/null @@ -1,245 +0,0 @@ ---- -id: 'BatchClient' -title: 'Class: BatchClient' -sidebar_label: 'BatchClient' -sidebar_position: 0 -custom_edit_url: null ---- - -## Constructors - -### constructor - -• **new BatchClient**(`options`): [`BatchClient`](BatchClient.md) - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------------------- | -| `options` | [`BatchClientOptions`](../modules.md#batchclientoptions) | - -#### Returns - -[`BatchClient`](BatchClient.md) - -#### Defined in - -[src/utils/batch/index.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L33) - -## Properties - -### nodeUrl - -• **nodeUrl**: `string` - -#### Defined in - -[src/utils/batch/index.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L13) - ---- - -### headers - -• **headers**: `object` - -#### Defined in - -[src/utils/batch/index.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L15) - ---- - -### interval - -• **interval**: `number` - -#### Defined in - -[src/utils/batch/index.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L17) - ---- - -### requestId - -• **requestId**: `number` = `0` - -#### Defined in - -[src/utils/batch/index.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L19) - ---- - -### pendingRequests - -• `Private` **pendingRequests**: `Record`<`string` \| `number`, [`RequestBody`](../namespaces/types.RPC.JRPC.md#requestbody)\> = `{}` - -#### Defined in - -[src/utils/batch/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L21) - ---- - -### batchPromises - -• `Private` **batchPromises**: `Record`<`string` \| `number`, `Promise`<[`ResponseBody`](../namespaces/types.RPC.JRPC.md#responsebody)[]\>\> = `{}` - -#### Defined in - -[src/utils/batch/index.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L23) - ---- - -### delayTimer - -• `Private` `Optional` **delayTimer**: `Timeout` - -#### Defined in - -[src/utils/batch/index.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L25) - ---- - -### delayPromise - -• `Private` `Optional` **delayPromise**: `Promise`<`void`\> - -#### Defined in - -[src/utils/batch/index.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L27) - ---- - -### delayPromiseResolve - -• `Private` `Optional` **delayPromiseResolve**: () => `void` - -#### Type declaration - -▸ (): `void` - -##### Returns - -`void` - -#### Defined in - -[src/utils/batch/index.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L29) - ---- - -### baseFetch - -• `Private` **baseFetch**: (`input`: `RequestInfo` \| `URL`, `init?`: `RequestInit`) => `Promise`<`Response`\> - -#### Type declaration - -▸ (`input`, `init?`): `Promise`<`Response`\> - -##### Parameters - -| Name | Type | -| :------ | :--------------------- | -| `input` | `RequestInfo` \| `URL` | -| `init?` | `RequestInit` | - -##### Returns - -`Promise`<`Response`\> - -#### Defined in - -[src/utils/batch/index.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L31) - -## Methods - -### wait - -▸ **wait**(): `Promise`<`void`\> - -#### Returns - -`Promise`<`void`\> - -#### Defined in - -[src/utils/batch/index.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L40) - ---- - -### addPendingRequest - -▸ **addPendingRequest**<`T`\>(`method`, `params?`, `id?`): `string` \| `number` - -#### Type parameters - -| Name | Type | -| :--- | :-------------------------------------------------------------------------- | -| `T` | extends keyof `ReadMethods` \| keyof `WriteMethods` \| keyof `TraceMethods` | - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------------------------------------------- | -| `method` | `T` | -| `params?` | [`Methods`](../namespaces/types.RPC.RPCSPEC08.API.md#methods)[`T`][``"params"``] | -| `id?` | `string` \| `number` | - -#### Returns - -`string` \| `number` - -#### Defined in - -[src/utils/batch/index.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L66) - ---- - -### sendBatch - -▸ **sendBatch**(`requests`): `Promise`<`any`\> - -#### Parameters - -| Name | Type | -| :--------- | :------------------------------------------------------------- | -| `requests` | [`RequestBody`](../namespaces/types.RPC.JRPC.md#requestbody)[] | - -#### Returns - -`Promise`<`any`\> - -#### Defined in - -[src/utils/batch/index.ts:83](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L83) - ---- - -### fetch - -▸ **fetch**<`T`, `TResponse`\>(`method`, `params?`, `id?`): `Promise`<`TResponse`\> - -Automatically batches and fetches JSON-RPC calls in a single request. - -#### Type parameters - -| Name | Type | -| :---------- | :-------------------------------------------------------------------------- | -| `T` | extends keyof `ReadMethods` \| keyof `WriteMethods` \| keyof `TraceMethods` | -| `TResponse` | extends `Object` | - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------------------------------------- | :------------------ | -| `method` | `T` | Method to call | -| `params?` | [`Methods`](../namespaces/types.RPC.RPCSPEC08.API.md#methods)[`T`][``"params"``] | Method parameters | -| `id?` | `string` \| `number` | JSON-RPC Request ID | - -#### Returns - -`Promise`<`TResponse`\> - -JSON-RPC Response - -#### Defined in - -[src/utils/batch/index.ts:100](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L100) diff --git a/www/versioned_docs/version-7.6.2/API/classes/CairoCustomEnum.md b/www/versioned_docs/version-7.6.2/API/classes/CairoCustomEnum.md deleted file mode 100644 index 139501cdf..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/CairoCustomEnum.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -id: 'CairoCustomEnum' -title: 'Class: CairoCustomEnum' -sidebar_label: 'CairoCustomEnum' -sidebar_position: 0 -custom_edit_url: null ---- - -Class to handle Cairo custom Enum - -**`Param`** - -object containing the variants and its content. Example : -{Success: 234, Warning: undefined, Error: undefined}. -Only one variant with a value, object, array. - -**`Example`** - -```typescript -const myCairoEnum = new CairoCustomEnum({ - Success: undefined, - Warning: '0x7f32ea', - Error: undefined, -}); -``` - -## Constructors - -### constructor - -• **new CairoCustomEnum**(`enumContent`): [`CairoCustomEnum`](CairoCustomEnum.md) - -#### Parameters - -| Name | Type | Description | -| :------------ | :------------------------------------------- | :----------------------------------------------------------------------------------------------- | -| `enumContent` | [`CairoEnumRaw`](../modules.md#cairoenumraw) | an object with the variants as keys and the content as value. Only one content shall be defined. | - -#### Returns - -[`CairoCustomEnum`](CairoCustomEnum.md) - -#### Defined in - -[src/utils/calldata/enum/CairoCustomEnum.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoCustomEnum.ts#L29) - -## Properties - -### variant - -• `Readonly` **variant**: [`CairoEnumRaw`](../modules.md#cairoenumraw) - -direct readonly access to variants of the Cairo Custom Enum. - -**`Example`** - -```typescript -const successValue = myCairoEnum.variant.Success; - -#### Defined in - -[src/utils/calldata/enum/CairoCustomEnum.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoCustomEnum.ts#L24) - -## Methods - -### unwrap - -▸ **unwrap**(): `any` - -#### Returns - -`any` - -the content of the valid variant of a Cairo custom Enum. - -#### Defined in - -[src/utils/calldata/enum/CairoCustomEnum.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoCustomEnum.ts#L45) - -___ - -### activeVariant - -▸ **activeVariant**(): `string` - -#### Returns - -`string` - -the name of the valid variant of a Cairo custom Enum. - -#### Defined in - -[src/utils/calldata/enum/CairoCustomEnum.ts:54](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoCustomEnum.ts#L54) -``` diff --git a/www/versioned_docs/version-7.6.2/API/classes/CairoFixedArray.md b/www/versioned_docs/version-7.6.2/API/classes/CairoFixedArray.md deleted file mode 100644 index b9e0d4328..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/CairoFixedArray.md +++ /dev/null @@ -1,256 +0,0 @@ ---- -id: 'CairoFixedArray' -title: 'Class: CairoFixedArray' -sidebar_label: 'CairoFixedArray' -sidebar_position: 0 -custom_edit_url: null ---- - -## Constructors - -### constructor - -• **new CairoFixedArray**(`content`, `arrayType`): [`CairoFixedArray`](CairoFixedArray.md) - -Create an instance representing a Cairo fixed Array. - -#### Parameters - -| Name | Type | Description | -| :---------- | :------- | :----------------------------------------- | -| `content` | `any`[] | JS array representing a Cairo fixed array. | -| `arrayType` | `string` | Cairo fixed array type. | - -#### Returns - -[`CairoFixedArray`](CairoFixedArray.md) - -#### Defined in - -[src/utils/cairoDataTypes/fixedArray.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/fixedArray.ts#L19) - -## Properties - -### content - -• `Readonly` **content**: `any`[] - -JS array representing a Cairo fixed array. - -#### Defined in - -[src/utils/cairoDataTypes/fixedArray.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/fixedArray.ts#L7) - ---- - -### arrayType - -• `Readonly` **arrayType**: `string` - -Cairo fixed array type. - -#### Defined in - -[src/utils/cairoDataTypes/fixedArray.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/fixedArray.ts#L12) - -## Methods - -### getFixedArraySize - -▸ **getFixedArraySize**(`type`): `number` - -Retrieves the array size from the given type string representing a Cairo fixed array. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :-------------------------- | -| `type` | `string` | The Cairo fixed array type. | - -#### Returns - -`number` - -The array size. - -**`Example`** - -```typescript -const result = CairoFixedArray.getFixedArraySize('[core::integer::u32; 8]'); -// result = 8 -``` - -#### Defined in - -[src/utils/cairoDataTypes/fixedArray.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/fixedArray.ts#L56) - ---- - -### getFixedArrayType - -▸ **getFixedArrayType**(`type`): `string` - -Retrieve the Cairo content type from a Cairo fixed array type. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :--------------- | -| `type` | `string` | The type string. | - -#### Returns - -`string` - -The fixed-array type. - -**`Example`** - -```typescript -const result = CairoFixedArray.getFixedArrayType('[core::integer::u32; 8]'); -// result = "core::integer::u32" -``` - -#### Defined in - -[src/utils/cairoDataTypes/fixedArray.ts:87](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/fixedArray.ts#L87) - ---- - -### compile - -▸ **compile**(`input`): `Object` - -Create an object from a Cairo fixed array. -Be sure to have an array length conform to the ABI. -To be used with CallData.compile(). - -#### Parameters - -| Name | Type | Description | -| :------ | :------ | :----------------------------------------- | -| `input` | `any`[] | JS array representing a Cairo fixed array. | - -#### Returns - -`Object` - -a specific struct representing a fixed Array. - -**`Example`** - -```typescript -const result = CairoFixedArray.compile([10, 20, 30]); -// result = { '0': 10, '1': 20, '2': 30 } -``` - -#### Defined in - -[src/utils/cairoDataTypes/fixedArray.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/fixedArray.ts#L120) - ---- - -### isTypeFixedArray - -▸ **isTypeFixedArray**(`type`): `boolean` - -Checks if the given Cairo type is a fixed-array type. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :----------------- | -| `type` | `string` | The type to check. | - -#### Returns - -`boolean` - -- `true` if the type is a fixed array type, `false` otherwise. - -````typescript -const result = CairoFixedArray.isTypeFixedArray("[core::integer::u32; 8]"); -// result = true - -#### Defined in - -[src/utils/cairoDataTypes/fixedArray.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/fixedArray.ts#L151) - -___ - -### getFixedArraySize - -▸ **getFixedArraySize**(): `number` - -Retrieves the Cairo fixed array size from the CairoFixedArray instance. - -#### Returns - -`number` - -The fixed array size. - -**`Example`** - -```typescript -const fArray = new CairoFixedArray([10,20,30], "[core::integer::u32; 3]"); -const result = fArray.getFixedArraySize(); -// result = 3 -```` - -#### Defined in - -[src/utils/cairoDataTypes/fixedArray.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/fixedArray.ts#L73) - ---- - -### getFixedArrayType - -▸ **getFixedArrayType**(): `string` - -Retrieve the Cairo content type of the Cairo fixed array. - -#### Returns - -`string` - -The fixed-array content type. - -**`Example`** - -```typescript -const fArray = new CairoFixedArray([10, 20, 30], '[core::integer::u32; 3]'); -const result = fArray.getFixedArrayType(); -// result = "core::integer::u32" -``` - -#### Defined in - -[src/utils/cairoDataTypes/fixedArray.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/fixedArray.ts#L104) - ---- - -### compile - -▸ **compile**(): `Object` - -Generate an object from the Cairo fixed array instance. -To be used with CallData.compile(). - -#### Returns - -`Object` - -a specific struct representing a fixed array. - -**`Example`** - -```typescript -const fArray = new CairoFixedArray([10, 20, 30], '[core::integer::u32; 3]'); -const result = fArray.compile(); -// result = { '0': 10, '1': 20, '2': 30 } -``` - -#### Defined in - -[src/utils/cairoDataTypes/fixedArray.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/fixedArray.ts#L138) diff --git a/www/versioned_docs/version-7.6.2/API/classes/CairoUint256.md b/www/versioned_docs/version-7.6.2/API/classes/CairoUint256.md deleted file mode 100644 index 6f25eb8f5..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/CairoUint256.md +++ /dev/null @@ -1,266 +0,0 @@ ---- -id: 'CairoUint256' -title: 'Class: CairoUint256' -sidebar_label: 'CairoUint256' -sidebar_position: 0 -custom_edit_url: null ---- - -## Constructors - -### constructor - -• **new CairoUint256**(`bigNumberish`): [`CairoUint256`](CairoUint256.md) - -Default constructor (Lib usage) - -#### Parameters - -| Name | Type | Description | -| :------------- | :---------------------------------------------------- | :------------------------------------- | -| `bigNumberish` | [`BigNumberish`](../namespaces/types.md#bignumberish) | BigNumberish value representing uin256 | - -#### Returns - -[`CairoUint256`](CairoUint256.md) - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L29) - -• **new CairoUint256**(`low`, `high`): [`CairoUint256`](CairoUint256.md) - -Direct props initialization (Api response) - -#### Parameters - -| Name | Type | -| :----- | :---------------------------------------------------- | -| `low` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `high` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -[`CairoUint256`](CairoUint256.md) - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L33) - -• **new CairoUint256**(`uint256`): [`CairoUint256`](CairoUint256.md) - -Initialization from Uint256 object - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------ | -| `uint256` | [`Uint256`](../interfaces/types.Uint256.md) | - -#### Returns - -[`CairoUint256`](CairoUint256.md) - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L37) - -## Properties - -### abiSelector - -▪ `Static` **abiSelector**: `string` = `'core::integer::u256'` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L23) - ---- - -### low - -• **low**: `bigint` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L19) - ---- - -### high - -• **high**: `bigint` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L21) - -## Methods - -### validate - -▸ **validate**(`bigNumberish`): `bigint` - -Validate if BigNumberish can be represented as Unit256 - -#### Parameters - -| Name | Type | -| :------------- | :---------------------------------------------------- | -| `bigNumberish` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`bigint` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L60) - ---- - -### validateProps - -▸ **validateProps**(`low`, `high`): `Object` - -Validate if low and high can be represented as Unit256 - -#### Parameters - -| Name | Type | -| :----- | :---------------------------------------------------- | -| `low` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `high` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Object` - -| Name | Type | -| :----- | :------- | -| `low` | `bigint` | -| `high` | `bigint` | - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L70) - ---- - -### is - -▸ **is**(`bigNumberish`): `boolean` - -Check if BigNumberish can be represented as Unit256 - -#### Parameters - -| Name | Type | -| :------------- | :---------------------------------------------------- | -| `bigNumberish` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`boolean` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L85) - ---- - -### isAbiType - -▸ **isAbiType**(`abiType`): `boolean` - -Check if provided abi type is this data type - -#### Parameters - -| Name | Type | -| :-------- | :------- | -| `abiType` | `string` | - -#### Returns - -`boolean` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L97) - ---- - -### toBigInt - -▸ **toBigInt**(): `bigint` - -Return bigint representation - -#### Returns - -`bigint` - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L104) - ---- - -### toUint256HexString - -▸ **toUint256HexString**(): `Object` - -Return Uint256 structure with HexString props -{low: HexString, high: HexString} - -#### Returns - -`Object` - -| Name | Type | -| :----- | :------- | -| `low` | `string` | -| `high` | `string` | - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:112](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L112) - ---- - -### toUint256DecimalString - -▸ **toUint256DecimalString**(): `Object` - -Return Uint256 structure with DecimalString props -{low: DecString, high: DecString} - -#### Returns - -`Object` - -| Name | Type | -| :----- | :------- | -| `low` | `string` | -| `high` | `string` | - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:123](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L123) - ---- - -### toApiRequest - -▸ **toApiRequest**(): `string`[] - -Return api requests representation witch is felt array - -#### Returns - -`string`[] - -#### Defined in - -[src/utils/cairoDataTypes/uint256.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L133) diff --git a/www/versioned_docs/version-7.6.2/API/classes/CairoUint512.md b/www/versioned_docs/version-7.6.2/API/classes/CairoUint512.md deleted file mode 100644 index df11d19bd..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/CairoUint512.md +++ /dev/null @@ -1,296 +0,0 @@ ---- -id: 'CairoUint512' -title: 'Class: CairoUint512' -sidebar_label: 'CairoUint512' -sidebar_position: 0 -custom_edit_url: null ---- - -## Constructors - -### constructor - -• **new CairoUint512**(`bigNumberish`): [`CairoUint512`](CairoUint512.md) - -Default constructor (Lib usage) - -#### Parameters - -| Name | Type | Description | -| :------------- | :---------------------------------------------------- | :----------------------------------- | -| `bigNumberish` | [`BigNumberish`](../namespaces/types.md#bignumberish) | BigNumberish value representing u512 | - -#### Returns - -[`CairoUint512`](CairoUint512.md) - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L30) - -• **new CairoUint512**(`limb0`, `limb1`, `limb2`, `limb3`): [`CairoUint512`](CairoUint512.md) - -Direct props initialization (Api response) - -#### Parameters - -| Name | Type | -| :------ | :---------------------------------------------------- | -| `limb0` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `limb1` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `limb2` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `limb3` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -[`CairoUint512`](CairoUint512.md) - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L34) - -• **new CairoUint512**(`uint512`): [`CairoUint512`](CairoUint512.md) - -Initialization from Uint512 object - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------ | -| `uint512` | [`Uint512`](../interfaces/types.Uint512.md) | - -#### Returns - -[`CairoUint512`](CairoUint512.md) - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L43) - -## Properties - -### abiSelector - -▪ `Static` **abiSelector**: `string` = `'core::integer::u512'` - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L24) - ---- - -### limb0 - -• **limb0**: `bigint` - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L16) - ---- - -### limb1 - -• **limb1**: `bigint` - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L18) - ---- - -### limb2 - -• **limb2**: `bigint` - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:20](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L20) - ---- - -### limb3 - -• **limb3**: `bigint` - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L22) - -## Methods - -### validate - -▸ **validate**(`bigNumberish`): `bigint` - -Validate if BigNumberish can be represented as Uint512 - -#### Parameters - -| Name | Type | -| :------------- | :---------------------------------------------------- | -| `bigNumberish` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`bigint` - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L84) - ---- - -### validateProps - -▸ **validateProps**(`limb0`, `limb1`, `limb2`, `limb3`): `Object` - -Validate if limbs can be represented as Uint512 - -#### Parameters - -| Name | Type | -| :------ | :---------------------------------------------------- | -| `limb0` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `limb1` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `limb2` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `limb3` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Object` - -| Name | Type | -| :------ | :------- | -| `limb0` | `bigint` | -| `limb1` | `bigint` | -| `limb2` | `bigint` | -| `limb3` | `bigint` | - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:94](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L94) - ---- - -### is - -▸ **is**(`bigNumberish`): `boolean` - -Check if BigNumberish can be represented as Uint512 - -#### Parameters - -| Name | Type | -| :------------- | :---------------------------------------------------- | -| `bigNumberish` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`boolean` - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:115](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L115) - ---- - -### isAbiType - -▸ **isAbiType**(`abiType`): `boolean` - -Check if provided abi type is this data type - -#### Parameters - -| Name | Type | -| :-------- | :------- | -| `abiType` | `string` | - -#### Returns - -`boolean` - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L127) - ---- - -### toBigInt - -▸ **toBigInt**(): `bigint` - -Return bigint representation - -#### Returns - -`bigint` - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:134](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L134) - ---- - -### toUint512HexString - -▸ **toUint512HexString**(): `Object` - -Return Uint512 structure with HexString props -limbx: HexString - -#### Returns - -`Object` - -| Name | Type | -| :------ | :------- | -| `limb0` | `string` | -| `limb1` | `string` | -| `limb2` | `string` | -| `limb3` | `string` | - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:142](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L142) - ---- - -### toUint512DecimalString - -▸ **toUint512DecimalString**(): `Object` - -Return Uint512 structure with DecimalString props -limbx DecString - -#### Returns - -`Object` - -| Name | Type | -| :------ | :------- | -| `limb0` | `string` | -| `limb1` | `string` | -| `limb2` | `string` | -| `limb3` | `string` | - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:155](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L155) - ---- - -### toApiRequest - -▸ **toApiRequest**(): `string`[] - -Return api requests representation witch is felt array - -#### Returns - -`string`[] - -#### Defined in - -[src/utils/cairoDataTypes/uint512.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L167) diff --git a/www/versioned_docs/version-7.6.2/API/classes/EthSigner.md b/www/versioned_docs/version-7.6.2/API/classes/EthSigner.md deleted file mode 100644 index 1b14acbda..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/EthSigner.md +++ /dev/null @@ -1,301 +0,0 @@ ---- -id: 'EthSigner' -title: 'Class: EthSigner' -sidebar_label: 'EthSigner' -sidebar_position: 0 -custom_edit_url: null ---- - -Signer for accounts using Ethereum signature - -## Implements - -- [`SignerInterface`](SignerInterface.md) - -## Constructors - -### constructor - -• **new EthSigner**(`pk?`): [`EthSigner`](EthSigner.md) - -#### Parameters - -| Name | Type | -| :--- | :----------------------- | -| `pk` | `string` \| `Uint8Array` | - -#### Returns - -[`EthSigner`](EthSigner.md) - -#### Defined in - -[src/signer/ethSigner.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ethSigner.ts#L42) - -## Properties - -### pk - -• `Protected` **pk**: `string` - -#### Defined in - -[src/signer/ethSigner.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ethSigner.ts#L40) - -## Methods - -### getPubKey - -▸ **getPubKey**(): `Promise`<`string`\> - -provides the Ethereum full public key (without parity prefix) - -#### Returns - -`Promise`<`string`\> - -an hex string : 64 first characters are Point X coordinate. 64 last characters are Point Y coordinate. - -#### Implementation of - -[SignerInterface](SignerInterface.md).[getPubKey](SignerInterface.md#getpubkey) - -#### Defined in - -[src/signer/ethSigner.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ethSigner.ts#L53) - ---- - -### signMessage - -▸ **signMessage**(`typedData`, `accountAddress`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs a JSON object for off-chain usage with the private key and returns the signature. -This adds a message prefix so it can't be interchanged with transactions - -#### Parameters - -| Name | Type | Description | -| :--------------- | :----------------------------------------------------------------------- | :---------------------------------- | -| `typedData` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | JSON object to be signed | -| `accountAddress` | `string` | Hex string of the account's address | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the message - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const myTypedData: TypedData = { - domain: { name: 'Example DApp', chainId: constants.StarknetChainId.SN_SEPOLIA, version: '0.0.3' }, - types: { - StarkNetDomain: [ - { name: 'name', type: 'string' }, - { name: 'chainId', type: 'felt' }, - { name: 'version', type: 'string' }, - ], - Message: [{ name: 'message', type: 'felt' }], - }, - primaryType: 'Message', - message: { message: '1234' }, -}; -const result = await mySigner.signMessage( - myTypedData, - '0x5d08a4e9188429da4e993c9bf25aafe5cd491ee2b501505d4d059f0c938f82d' -); -// result = Signature {r: 684915484701699003335398790608214855489903651271362390249153620883122231253n, -// s: 1399150959912500412309102776989465580949387575375484933432871778355496929189n, recovery: 1} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signMessage](SignerInterface.md#signmessage) - -#### Defined in - -[src/signer/ethSigner.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ethSigner.ts#L59) - ---- - -### signTransaction - -▸ **signTransaction**(`transactions`, `details`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs transactions with the private key and returns the signature - -#### Parameters - -| Name | Type | Description | -| :------------- | :---------------------------------------------------------------------------- | :------------------------------ | -| `transactions` | [`Call`](../namespaces/types.md#call)[] | array of Call objects | -| `details` | [`InvocationsSignerDetails`](../namespaces/types.md#invocationssignerdetails) | InvocationsSignerDetails object | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the transaction - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const calls: Call[] = [ - { - contractAddress: '0x1234567890123456789012345678901234567890', - entrypoint: 'functionName', - calldata: [1, 2, 3], - }, -]; -const transactionsDetail: InvocationsSignerDetails = { - walletAddress: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e', - chainId: constants.StarknetChainId.SN_MAIN, - cairoVersion: '1', - maxFee: '0x1234567890abcdef', - version: '0x0', - nonce: 1, -}; -const result = await mySigner.signTransaction(calls, transactionsDetail); -// result = Signature {r: 304910226421970384958146916800275294114105560641204815169249090836676768876n, -// s: 1072798866000813654190523783606274062837012608648308896325315895472901074693n, recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signTransaction](SignerInterface.md#signtransaction) - -#### Defined in - -[src/signer/ethSigner.ts:68](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ethSigner.ts#L68) - ---- - -### signDeployAccountTransaction - -▸ **signDeployAccountTransaction**(`details`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs a DEPLOY_ACCOUNT transaction with the private key and returns the signature - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------------------- | :---------------------------- | -| `details` | [`DeployAccountSignerDetails`](../namespaces/types.md#deployaccountsignerdetails) | to deploy an account contract | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the transaction to deploy an account - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const myDeployAcc: DeployAccountSignerDetails = { - contractAddress: '0x65a822fbee1ae79e898688b5a4282dc79e0042cbed12f6169937fddb4c26641', - version: '0x2', - chainId: constants.StarknetChainId.SN_SEPOLIA, - classHash: '0x5f3614e8671257aff9ac38e929c74d65b02d460ae966cd826c9f04a7fa8e0d4', - constructorCalldata: [1, 2], - addressSalt: 1234, - nonce: 45, - maxFee: 10 ** 15, - tip: 0, - paymasterData: [], - accountDeploymentData: [], - nonceDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - resourceBounds: stark.estimateFeeToBounds(constants.ZERO), -}; -const result = await mySigner.signDeployAccountTransaction(myDeployAcc); -// result = Signature {r: 2871311234341436528393212130310036951068553852419934781736214693308640202748n, -// s: 1746271646048888422437132495446973163454853863041370993384284773665861377605n, recovery: 1} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signDeployAccountTransaction](SignerInterface.md#signdeployaccounttransaction) - -#### Defined in - -[src/signer/ethSigner.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ethSigner.ts#L104) - ---- - -### signDeclareTransaction - -▸ **signDeclareTransaction**(`details`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs a DECLARE transaction with the private key and returns the signature - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------- | :----------------- | -| `details` | [`DeclareSignerDetails`](../namespaces/types.md#declaresignerdetails) | to declare a class | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the transaction to declare a class - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const myDeclare: DeclareSignerDetails = { - version: '0x2', - chainId: constants.StarknetChainId.SN_SEPOLIA, - senderAddress: '0x65a822fbee1ae79e898688b5a4282dc79e0042cbed12f6169937fddb4c26641', - classHash: '0x5f3614e8671257aff9ac38e929c74d65b02d460ae966cd826c9f04a7fa8e0d4', - nonce: 45, - maxFee: 10 ** 15, - tip: 0, - paymasterData: [], - accountDeploymentData: [], - nonceDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - resourceBounds: stark.estimateFeeToBounds(constants.ZERO), -}; -const result = await mySigner.signDeclareTransaction(myDeclare); -// result = Signature {r: 2432056944313955951711774394836075930010416436707488863728289188289211995670n, -// s: 3407649393310177489888603098175002856596469926897298636282244411990343146307n, recovery: 1} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signDeclareTransaction](SignerInterface.md#signdeclaretransaction) - -#### Defined in - -[src/signer/ethSigner.ts:139](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ethSigner.ts#L139) - ---- - -### formatEthSignature - -▸ **formatEthSignature**(`ethSignature`): [`ArraySignatureType`](../namespaces/types.md#arraysignaturetype) - -Serialize the signature in conformity with starknet::eth_signature::Signature - -#### Parameters - -| Name | Type | Description | -| :------------- | :--------------------------------------------------------------------------------- | :-------------------------------------------- | -| `ethSignature` | [`RecoveredSignatureType`](../namespaces/ec.weierstrass.md#recoveredsignaturetype) | secp256k1 signature from Noble curves library | - -#### Returns - -[`ArraySignatureType`](../namespaces/types.md#arraysignaturetype) - -an array of felts, representing a Cairo Eth Signature. - -#### Defined in - -[src/signer/ethSigner.ts:175](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ethSigner.ts#L175) diff --git a/www/versioned_docs/version-7.6.2/API/classes/LedgerSigner111.md b/www/versioned_docs/version-7.6.2/API/classes/LedgerSigner111.md deleted file mode 100644 index d1ff456af..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/LedgerSigner111.md +++ /dev/null @@ -1,436 +0,0 @@ ---- -id: 'LedgerSigner111' -title: 'Class: LedgerSigner111' -sidebar_label: 'LedgerSigner111' -sidebar_position: 0 -custom_edit_url: null ---- - -Signer for accounts using a Ledger Nano S+/X signature (Starknet Ledger APP version 1.1.1) - -The Ledger has to be connected, unlocked and the Starknet APP has to be selected prior of use of this class. - -## Type parameters - -| Name | Type | -| :---------- | :-------------------------------------- | -| `Transport` | extends `Record`<`any`, `any`\> = `any` | - -## Hierarchy - -- **`LedgerSigner111`** - - ↳ [`LedgerSigner221`](LedgerSigner221.md) - -## Implements - -- [`SignerInterface`](SignerInterface.md) - -## Constructors - -### constructor - -• **new LedgerSigner111**<`Transport`\>(`transport`, `accountID`, `eip2645application?`, `pathFunction?`): [`LedgerSigner111`](LedgerSigner111.md)<`Transport`\> - -constructor of the LedgerSigner class. - -#### Type parameters - -| Name | Type | -| :---------- | :-------------------------------------- | -| `Transport` | extends `Record`<`any`, `any`\> = `any` | - -#### Parameters - -| Name | Type | Default value | Description | -| :-------------------- | :---------------------------------------------------------------------- | :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ | -| `transport` | `Transport` | `undefined` | 5 transports are available to handle USB, bluetooth, Node, Web, Mobile. See Guides for more details. | -| `accountID` | `number` | `undefined` | ID of Ledger Nano (can handle 2\*\*31 accounts). | -| `eip2645application?` | `string` | `'LedgerW'` | A wallet is defined by an ERC2645 derivation path (6 items), and one item is the `application` and can be customized. Default value is `LedgerW`. | -| `pathFunction?` | [`LedgerPathCalculation`](../namespaces/types.md#ledgerpathcalculation) | `getLedgerPathBuffer111` | defines the function that will calculate the path. By default `getLedgerPathBuffer111` is selected. | - -#### Returns - -[`LedgerSigner111`](LedgerSigner111.md)<`Transport`\> - -**`Example`** - -```typescript -import TransportNodeHid from '@ledgerhq/hw-transport-node-hid'; -const myNodeTransport = await TransportNodeHid.create(); -const myLedgerSigner = new LedgerSigner111(myNodeTransport, 0); -``` - -#### Defined in - -[src/signer/ledgerSigner111.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L80) - -## Properties - -### transporter - -• `Readonly` **transporter**: `Transport` - -#### Defined in - -[src/signer/ledgerSigner111.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L46) - ---- - -### \_transporter - -• `Protected` **\_transporter**: `any` - -#### Defined in - -[src/signer/ledgerSigner111.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L49) - ---- - -### accountID - -• `Readonly` **accountID**: `number` - -#### Defined in - -[src/signer/ledgerSigner111.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L51) - ---- - -### eip2645applicationName - -• `Readonly` **eip2645applicationName**: `string` - -#### Defined in - -[src/signer/ledgerSigner111.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L53) - ---- - -### pathBuffer - -• `Readonly` **pathBuffer**: `Uint8Array` - -#### Defined in - -[src/signer/ledgerSigner111.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L55) - ---- - -### appVersion - -• `Protected` **appVersion**: `string` - -#### Defined in - -[src/signer/ledgerSigner111.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L57) - ---- - -### pubKey - -• `Protected` **pubKey**: `string` - -#### Defined in - -[src/signer/ledgerSigner111.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L59) - ---- - -### fullPubKey - -• `Protected` **fullPubKey**: `string` - -#### Defined in - -[src/signer/ledgerSigner111.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L61) - -## Methods - -### getPubKey - -▸ **getPubKey**(): `Promise`<`string`\> - -provides the Starknet public key - -#### Returns - -`Promise`<`string`\> - -an hex string : 64 characters are Point X coordinate. - -**`Example`** - -```typescript -const result = await myLedgerSigner.getPubKey(); -// result= "0x03681417ba3e1f050dd3ccdceb8d22b5e44fa70ee7844d472c6a768bded5174e" -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[getPubKey](SignerInterface.md#getpubkey) - -#### Defined in - -[src/signer/ledgerSigner111.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L108) - ---- - -### getFullPubKey - -▸ **getFullPubKey**(): `Promise`<`string`\> - -provides the full public key (with parity prefix) - -#### Returns - -`Promise`<`string`\> - -an hex string : 2 first characters are the parity, the 64 following characters are Point X coordinate. 64 last characters are Point Y coordinate. - -**`Example`** - -```typescript -const result = await myLedgerSigner.getFullPubKey(); -// result= "0x0403681417ba3e1f050dd3ccdceb8d22b5e44fa70ee7844d472c6a768bded5174e03cbc86f805dcfcb0c1922dd4daf181afa289d86223a18bc856276615bcc7787" -``` - -#### Defined in - -[src/signer/ledgerSigner111.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L122) - ---- - -### getAppVersion - -▸ **getAppVersion**(): `Promise`<`string`\> - -Returns the version of the Starknet APP implemented in the Ledger. - -#### Returns - -`Promise`<`string`\> - -version. - -**`Example`** - -```typescript -const result = await myLedgerSigner.getAppVersion(); -// result= "1.1.1" -``` - -#### Defined in - -[src/signer/ledgerSigner111.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L136) - ---- - -### signMessage - -▸ **signMessage**(`typedDataToHash`, `accountAddress`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Sign a TypedData message (SNIP-12) in a Ledger. - -#### Parameters - -| Name | Type | Description | -| :---------------- | :----------------------------------------------------------------------- | :------------------------------------------- | -| `typedDataToHash` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | A TypedData message compatible with SNIP-12. | -| `accountAddress` | `string` | Signer account address (Hex or num string) | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -The signed message. - -**`Example`** - -```typescript -const result = myLedgerSigner.signMessage(snip12Message, account0.address); -// result = Signature { r: 611475243393396148729326917410546146405234155928298353899191529090923298688n, -// s: 798839819213540985856952481651392652149797817551686626114697493101433761982n, -// recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signMessage](SignerInterface.md#signmessage) - -#### Defined in - -[src/signer/ledgerSigner111.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L157) - ---- - -### signTransaction - -▸ **signTransaction**(`transactions`, `transactionsDetail`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Sign in a Ledger a V1 or a V3 transaction. This is a blind sign on the Ledger screen. - -#### Parameters - -| Name | Type | Description | -| :------------------- | :---------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | -| `transactions` | [`Call`](../namespaces/types.md#call)[] | An array of `Call` transactions (generated for example by `myContract.populate()`). | -| `transactionsDetail` | [`InvocationsSignerDetails`](../namespaces/types.md#invocationssignerdetails) | An object that includes all the necessary inputs to hash the transaction. Can be `V2InvocationsSignerDetails` or `V3InvocationsSignerDetails` type. | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -The signed transaction. - -**`Example`** - -```typescript -const txDetailsV3: V3InvocationsSignerDetails = { - chainId: constants.StarknetChainId.SN_MAIN, - nonce: '28', - accountDeploymentData: [], - paymasterData: [], - cairoVersion: '1', - feeDataAvailabilityMode: 'L1', - nonceDataAvailabilityMode: 'L1', - resourceBounds: { - l1_gas: { - max_amount: '0x2a00', - max_price_per_unit: '0x5c00000', - }, - l2_gas: { - max_amount: '0x00', - max_price_per_unit: '0x00', - }, - }, - tip: 0, - version: '0x3', - walletAddress: account0.address, -}; -const result = myLedgerSigner.signTransaction([call0, call1], txDetailsV3); -// result = Signature { r: 611475243393396148729326917410546146405234155928298353899191529090923298688n, -// s: 798839819213540985856952481651392652149797817551686626114697493101433761982n, -// recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signTransaction](SignerInterface.md#signtransaction) - -#### Defined in - -[src/signer/ledgerSigner111.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L197) - ---- - -### signDeployAccountTransaction - -▸ **signDeployAccountTransaction**(`details`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Sign in a Ledger the deployment of a new account. This is a blind sign on the Ledger screen. - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | -| `details` | [`DeployAccountSignerDetails`](../namespaces/types.md#deployaccountsignerdetails) | An object that includes all necessary data to calculate the Hash. It can be `V2DeployAccountSignerDetails` or `V3DeployAccountSignerDetails` types. | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -The deploy account signature. - -**`Example`** - -```typescript -const result = myLedgerSigner.signDeployAccountTransaction(details); -// result = Signature { r: 611475243393396148729326917410546146405234155928298353899191529090923298688n, -// s: 798839819213540985856952481651392652149797817551686626114697493101433761982n, -// recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signDeployAccountTransaction](SignerInterface.md#signdeployaccounttransaction) - -#### Defined in - -[src/signer/ledgerSigner111.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L242) - ---- - -### signDeclareTransaction - -▸ **signDeclareTransaction**(`details`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Sign in a Ledger the declaration of a new class. This is a blind sign on the Ledger screen. - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | -| `details` | [`DeclareSignerDetails`](../namespaces/types.md#declaresignerdetails) | An object that includes all necessary data to calculate the Hash. It can be `V3DeclareSignerDetails` or `V2DeclareSignerDetails` types. | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -The declare Signature. - -**`Example`** - -```typescript -const result = myLedgerSigner.signDeclareTransaction(details); -// result = Signature { r: 611475243393396148729326917410546146405234155928298353899191529090923298688n, -// s: 798839819213540985856952481651392652149797817551686626114697493101433761982n, -// recovery: 0} -``` - -#### Implementation of - -[SignerInterface](SignerInterface.md).[signDeclareTransaction](SignerInterface.md#signdeclaretransaction) - -#### Defined in - -[src/signer/ledgerSigner111.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L286) - ---- - -### signRaw - -▸ **signRaw**(`msgHash`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Internal function to sign a hash in a Ledger Nano. -This is a blind sign in the Ledger ; no display of what you are signing. - -#### Parameters - -| Name | Type | -| :-------- | :------- | -| `msgHash` | `string` | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -#### Defined in - -[src/signer/ledgerSigner111.ts:315](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L315) - ---- - -### getPublicKeys - -▸ **getPublicKeys**(): `Promise`<`void`\> - -internal function to get both the Starknet public key and the full public key - -#### Returns - -`Promise`<`void`\> - -#### Defined in - -[src/signer/ledgerSigner111.ts:334](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L334) diff --git a/www/versioned_docs/version-7.6.2/API/classes/RPC07.RpcChannel.md b/www/versioned_docs/version-7.6.2/API/classes/RPC07.RpcChannel.md deleted file mode 100644 index e2892fb2e..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/RPC07.RpcChannel.md +++ /dev/null @@ -1,952 +0,0 @@ ---- -id: 'RPC07.RpcChannel' -title: 'Class: RpcChannel' -sidebar_label: 'RpcChannel' -custom_edit_url: null ---- - -[RPC07](../namespaces/RPC07.md).RpcChannel - -## Constructors - -### constructor - -• **new RpcChannel**(`optionsOrProvider?`): [`RpcChannel`](RPC07.RpcChannel.md) - -#### Parameters - -| Name | Type | -| :------------------- | :---------------------------------------------------------------- | -| `optionsOrProvider?` | [`RpcProviderOptions`](../namespaces/types.md#rpcprovideroptions) | - -#### Returns - -[`RpcChannel`](RPC07.RpcChannel.md) - -#### Defined in - -[src/channel/rpc_0_7_1.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L82) - -## Properties - -### id - -• `Readonly` **id**: `"RPC071"` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L50) - ---- - -### channelSpecVersion - -• `Readonly` **channelSpecVersion**: `"0.7.1"` \| `"0.8.1"` = `SupportedRpcVersion.v0_7_1` - -RPC specification version this Channel class implements - -#### Defined in - -[src/channel/rpc_0_7_1.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L55) - ---- - -### nodeUrl - -• **nodeUrl**: `string` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L57) - ---- - -### headers - -• **headers**: `object` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L59) - ---- - -### requestId - -• **requestId**: `number` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L61) - ---- - -### blockIdentifier - -• `Readonly` **blockIdentifier**: [`BlockIdentifier`](../namespaces/types.md#blockidentifier) - -#### Defined in - -[src/channel/rpc_0_7_1.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L63) - ---- - -### retries - -• `Readonly` **retries**: `number` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L65) - ---- - -### waitMode - -• `Readonly` **waitMode**: `boolean` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L67) - ---- - -### chainId - -• `Private` `Optional` **chainId**: `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L69) - ---- - -### specVersion - -• `Private` `Optional` **specVersion**: `"0.7.1"` \| `"0.8.1"` - -RPC specification version of the connected node - -#### Defined in - -[src/channel/rpc_0_7_1.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L74) - ---- - -### transactionRetryIntervalFallback - -• `Private` `Optional` **transactionRetryIntervalFallback**: `number` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L76) - ---- - -### batchClient - -• `Private` `Optional` **batchClient**: [`BatchClient`](BatchClient.md) - -#### Defined in - -[src/channel/rpc_0_7_1.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L78) - ---- - -### baseFetch - -• `Private` **baseFetch**: (`input`: `RequestInfo` \| `URL`, `init?`: `RequestInit`) => `Promise`<`Response`\> - -#### Type declaration - -▸ (`input`, `init?`): `Promise`<`Response`\> - -##### Parameters - -| Name | Type | -| :------ | :--------------------- | -| `input` | `RequestInfo` \| `URL` | -| `init?` | `RequestInit` | - -##### Returns - -`Promise`<`Response`\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L80) - -## Accessors - -### transactionRetryIntervalDefault - -• `get` **transactionRetryIntervalDefault**(): `number` - -#### Returns - -`number` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L136) - -## Methods - -### readSpecVersion - -▸ **readSpecVersion**(): `undefined` \| `"0.7.1"` \| `"0.8.1"` - -#### Returns - -`undefined` \| `"0.7.1"` \| `"0.8.1"` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:132](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L132) - ---- - -### setChainId - -▸ **setChainId**(`chainId`): `void` - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------------- | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | - -#### Returns - -`void` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L140) - ---- - -### fetch - -▸ **fetch**(`method`, `params?`, `id?`): `Promise`<`Response`\> - -#### Parameters - -| Name | Type | Default value | -| :-------- | :------------------- | :------------ | -| `method` | `string` | `undefined` | -| `params?` | `object` | `undefined` | -| `id` | `string` \| `number` | `0` | - -#### Returns - -`Promise`<`Response`\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L144) - ---- - -### errorHandler - -▸ **errorHandler**(`method`, `params`, `rpcError?`, `otherError?`): `void` - -#### Parameters - -| Name | Type | -| :------------ | :----------------------------------------------- | -| `method` | `string` | -| `params` | `any` | -| `rpcError?` | [`Error`](../namespaces/types.RPC.JRPC.md#error) | -| `otherError?` | `any` | - -#### Returns - -`void` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:158](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L158) - ---- - -### fetchEndpoint - -▸ **fetchEndpoint**<`T`\>(`method`, `params?`): `Promise`<[`Methods`](../namespaces/types.RPC.RPCSPEC07.API.md#methods)[`T`][``"result"``]\> - -#### Type parameters - -| Name | Type | -| :--- | :-------------------------------------------------------------------------- | -| `T` | extends keyof `ReadMethods` \| keyof `WriteMethods` \| keyof `TraceMethods` | - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------------------------------------------- | -| `method` | `T` | -| `params?` | [`Methods`](../namespaces/types.RPC.RPCSPEC07.API.md#methods)[`T`][``"params"``] | - -#### Returns - -`Promise`<[`Methods`](../namespaces/types.RPC.RPCSPEC07.API.md#methods)[`T`][``"result"``]\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L170) - ---- - -### getChainId - -▸ **getChainId**(): `Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -#### Returns - -`Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L195) - ---- - -### getSpecVersion - -▸ **getSpecVersion**(): `Promise`<`string`\> - -fetch rpc node specVersion - -#### Returns - -`Promise`<`string`\> - -**`Example`** - -```ts -this.specVersion = '0.7.1'; -``` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:204](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L204) - ---- - -### setUpSpecVersion - -▸ **setUpSpecVersion**(): `Promise`<`"0.7.1"` \| `"0.8.1"`\> - -fetch if undefined test and set specVersion, else just return this.specVersion - -#### Returns - -`Promise`<`"0.7.1"` \| `"0.8.1"`\> - -**`Example`** - -```ts -this.specVersion = '0.7.1'; -``` - -#### Defined in - -[src/channel/rpc_0_7_1.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L212) - ---- - -### getNonceForAddress - -▸ **getNonceForAddress**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`string`\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:234](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L234) - ---- - -### getBlockLatestAccepted - -▸ **getBlockLatestAccepted**(): `Promise`<[`BlockHashAndNumber`](../namespaces/types.RPC.RPCSPEC07.API.md#blockhashandnumber)\> - -Get the most recent accepted block hash and number - -#### Returns - -`Promise`<[`BlockHashAndNumber`](../namespaces/types.RPC.RPCSPEC07.API.md#blockhashandnumber)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:249](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L249) - ---- - -### getBlockNumber - -▸ **getBlockNumber**(): `Promise`<`number`\> - -Get the most recent accepted block number -redundant use getBlockLatestAccepted(); - -#### Returns - -`Promise`<`number`\> - -Number of the latest block - -#### Defined in - -[src/channel/rpc_0_7_1.ts:258](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L258) - ---- - -### getBlockWithTxHashes - -▸ **getBlockWithTxHashes**(`blockIdentifier?`): `Promise`<[`BlockWithTxHashes`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxhashes)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockWithTxHashes`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxhashes)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:262](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L262) - ---- - -### getBlockWithTxs - -▸ **getBlockWithTxs**(`blockIdentifier?`): `Promise`<[`BlockWithTxs`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxs)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockWithTxs`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxs)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:267](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L267) - ---- - -### getBlockWithReceipts - -▸ **getBlockWithReceipts**(`blockIdentifier?`): `Promise`<[`BlockWithTxReceipts`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxreceipts)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockWithTxReceipts`](../namespaces/types.RPC.RPCSPEC07.API.md#blockwithtxreceipts)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L272) - ---- - -### getBlockStateUpdate - -▸ **getBlockStateUpdate**(`blockIdentifier?`): `Promise`<[`StateUpdate`](../namespaces/types.RPC.RPCSPEC07.API.md#stateupdate)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`StateUpdate`](../namespaces/types.RPC.RPCSPEC07.API.md#stateupdate)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:277](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L277) - ---- - -### getBlockTransactionsTraces - -▸ **getBlockTransactionsTraces**(`blockIdentifier?`): `Promise`<[`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC07.API.md#blocktransactionstraces)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC07.API.md#blocktransactionstraces)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L282) - ---- - -### getBlockTransactionCount - -▸ **getBlockTransactionCount**(`blockIdentifier?`): `Promise`<`number`\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`number`\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:287](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L287) - ---- - -### getTransactionByHash - -▸ **getTransactionByHash**(`txHash`): `Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:292](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L292) - ---- - -### getTransactionByBlockIdAndIndex - -▸ **getTransactionByBlockIdAndIndex**(`blockIdentifier`, `index`): `Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | -| `index` | `number` | - -#### Returns - -`Promise`<[`TransactionWithHash`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionwithhash)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:299](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L299) - ---- - -### getTransactionReceipt - -▸ **getTransactionReceipt**(`txHash`): `Promise`<[`TXN_RECEIPT_WITH_BLOCK_INFO`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#txn_receipt_with_block_info)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TXN_RECEIPT_WITH_BLOCK_INFO`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#txn_receipt_with_block_info)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:304](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L304) - ---- - -### getTransactionTrace - -▸ **getTransactionTrace**(`txHash`): `Promise`<[`TRANSACTION_TRACE`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#transaction_trace)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TRANSACTION_TRACE`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#transaction_trace)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:309](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L309) - ---- - -### getTransactionStatus - -▸ **getTransactionStatus**(`transactionHash`): `Promise`<[`TransactionStatus`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionstatus)\> - -Get the status of a transaction - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------- | -| `transactionHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TransactionStatus`](../namespaces/types.RPC.RPCSPEC07.API.md#transactionstatus)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:317](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L317) - ---- - -### simulateTransaction - -▸ **simulateTransaction**(`invocations`, `simulateTransactionOptions?`): `Promise`<[`SimulateTransactionResponse`](../namespaces/types.RPC.RPCSPEC07.API.md#simulatetransactionresponse)\> - -#### Parameters - -| Name | Type | Description | -| :--------------------------- | :-------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | AccountInvocations | -| `simulateTransactionOptions` | [`getSimulateTransactionOptions`](../namespaces/types.md#getsimulatetransactionoptions) | blockIdentifier and flags to skip validation and fee charge
- blockIdentifier
- skipValidate (default false)
- skipFeeCharge (default true)
| - -#### Returns - -`Promise`<[`SimulateTransactionResponse`](../namespaces/types.RPC.RPCSPEC07.API.md#simulatetransactionresponse)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:329](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L329) - ---- - -### waitForTransaction - -▸ **waitForTransaction**(`txHash`, `options?`): `Promise`<[`TXN_RECEIPT`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#txn_receipt)\> - -#### Parameters - -| Name | Type | -| :--------- | :------------------------------------------------------------------------------ | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `options?` | [`waitForTransactionOptions`](../namespaces/types.md#waitfortransactionoptions) | - -#### Returns - -`Promise`<[`TXN_RECEIPT`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#txn_receipt)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:350](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L350) - ---- - -### getStorageAt - -▸ **getStorageAt**(`contractAddress`, `key`, `blockIdentifier?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `key` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`string`\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:432](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L432) - ---- - -### getClassHashAt - -▸ **getClassHashAt**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`string`\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:447](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L447) - ---- - -### getClass - -▸ **getClass**(`classHash`, `blockIdentifier?`): `Promise`<[`ContractClass`](../namespaces/types.RPC.RPCSPEC07.API.md#contractclass)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`ContractClass`](../namespaces/types.RPC.RPCSPEC07.API.md#contractclass)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:459](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L459) - ---- - -### getClassAt - -▸ **getClassAt**(`contractAddress`, `blockIdentifier?`): `Promise`<[`ContractClass`](../namespaces/types.RPC.RPCSPEC07.API.md#contractclass)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`ContractClass`](../namespaces/types.RPC.RPCSPEC07.API.md#contractclass)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:471](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L471) - ---- - -### getEstimateFee - -▸ **getEstimateFee**(`invocations`, `«destructured»`): `Promise`<[`FEE_ESTIMATE`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#fee_estimate)[]\> - -#### Parameters - -| Name | Type | -| :--------------- | :------------------------------------------------------------------------------ | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | -| `«destructured»` | [`getEstimateFeeBulkOptions`](../namespaces/types.md#getestimatefeebulkoptions) | - -#### Returns - -`Promise`<[`FEE_ESTIMATE`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#fee_estimate)[]\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:483](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L483) - ---- - -### invoke - -▸ **invoke**(`functionInvocation`, `details`): `Promise`<[`InvokedTransaction`](../namespaces/types.RPC.RPCSPEC07.API.md#invokedtransaction)\> - -#### Parameters - -| Name | Type | -| :------------------- | :---------------------------------------------------------------------------------- | -| `functionInvocation` | [`Invocation`](../namespaces/types.md#invocation) | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | - -#### Returns - -`Promise`<[`InvokedTransaction`](../namespaces/types.RPC.RPCSPEC07.API.md#invokedtransaction)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L501) - ---- - -### declare - -▸ **declare**(`«destructured»`, `details`): `Promise`<[`TXN_RECEIPT`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#txn_receipt) \| [`DeclaredTransaction`](../namespaces/types.RPC.RPCSPEC07.API.md#declaredtransaction)\> - -#### Parameters - -| Name | Type | -| :--------------- | :---------------------------------------------------------------------------------- | -| `«destructured»` | [`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction) | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | - -#### Returns - -`Promise`<[`TXN_RECEIPT`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#txn_receipt) \| [`DeclaredTransaction`](../namespaces/types.RPC.RPCSPEC07.API.md#declaredtransaction)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:550](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L550) - ---- - -### deployAccount - -▸ **deployAccount**(`«destructured»`, `details`): `Promise`<[`TXN_RECEIPT`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#txn_receipt) \| [`DeployedAccountTransaction`](../namespaces/types.RPC.RPCSPEC07.API.md#deployedaccounttransaction)\> - -#### Parameters - -| Name | Type | -| :--------------- | :-------------------------------------------------------------------------------------------- | -| `«destructured»` | [`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction) | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | - -#### Returns - -`Promise`<[`TXN_RECEIPT`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#txn_receipt) \| [`DeployedAccountTransaction`](../namespaces/types.RPC.RPCSPEC07.API.md#deployedaccounttransaction)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:638](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L638) - ---- - -### callContract - -▸ **callContract**(`call`, `blockIdentifier?`): `Promise`<`string`[]\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `call` | [`Call`](../namespaces/types.md#call) | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`string`[]\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:691](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L691) - ---- - -### estimateMessageFee - -▸ **estimateMessageFee**(`message`, `blockIdentifier?`): `Promise`<[`FEE_ESTIMATE`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#fee_estimate)\> - -NEW: Estimate the fee for a message from L1 - -#### Parameters - -| Name | Type | Description | -| :---------------- | :------------------------------------------------------------------------- | :-------------- | -| `message` | [`MSG_FROM_L1`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#msg_from_l1) | Message From L1 | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - | - -#### Returns - -`Promise`<[`FEE_ESTIMATE`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#fee_estimate)\> - -#### Defined in - -[src/channel/rpc_0_7_1.ts:707](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L707) - ---- - -### getSyncingStats - -▸ **getSyncingStats**(): `Promise`<[`Syncing`](../namespaces/types.RPC.RPCSPEC07.API.md#syncing)\> - -Returns an object about the sync status, or false if the node is not synching - -#### Returns - -`Promise`<[`Syncing`](../namespaces/types.RPC.RPCSPEC07.API.md#syncing)\> - -Object with the stats data - -#### Defined in - -[src/channel/rpc_0_7_1.ts:730](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L730) - ---- - -### getEvents - -▸ **getEvents**(`eventFilter`): `Promise`<[`EVENTS_CHUNK`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#events_chunk)\> - -Returns all events matching the given filter - -#### Parameters - -| Name | Type | -| :------------ | :-------------------------------------------------------------------- | -| `eventFilter` | [`EventFilter`](../namespaces/types.RPC.RPCSPEC07.API.md#eventfilter) | - -#### Returns - -`Promise`<[`EVENTS_CHUNK`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#events_chunk)\> - -events and the pagination of the events - -#### Defined in - -[src/channel/rpc_0_7_1.ts:738](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L738) - ---- - -### buildTransaction - -▸ **buildTransaction**(`invocation`, `versionType?`): [`BROADCASTED_TXN`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#broadcasted_txn) - -#### Parameters - -| Name | Type | -| :------------- | :---------------------------------------------------------------------- | -| `invocation` | [`AccountInvocationItem`](../namespaces/types.md#accountinvocationitem) | -| `versionType?` | `"fee"` \| `"transaction"` | - -#### Returns - -[`BROADCASTED_TXN`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#broadcasted_txn) - -#### Defined in - -[src/channel/rpc_0_7_1.ts:742](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_7_1.ts#L742) diff --git a/www/versioned_docs/version-7.6.2/API/classes/RPC08.RpcChannel.md b/www/versioned_docs/version-7.6.2/API/classes/RPC08.RpcChannel.md deleted file mode 100644 index a558f38cf..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/RPC08.RpcChannel.md +++ /dev/null @@ -1,1017 +0,0 @@ ---- -id: 'RPC08.RpcChannel' -title: 'Class: RpcChannel' -sidebar_label: 'RpcChannel' -custom_edit_url: null ---- - -[RPC08](../namespaces/RPC08.md).RpcChannel - -## Constructors - -### constructor - -• **new RpcChannel**(`optionsOrProvider?`): [`RpcChannel`](RPC08.RpcChannel.md) - -#### Parameters - -| Name | Type | -| :------------------- | :---------------------------------------------------------------- | -| `optionsOrProvider?` | [`RpcProviderOptions`](../namespaces/types.md#rpcprovideroptions) | - -#### Returns - -[`RpcChannel`](RPC08.RpcChannel.md) - -#### Defined in - -[src/channel/rpc_0_8_1.ts:88](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L88) - -## Properties - -### id - -• `Readonly` **id**: `"RPC081"` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L56) - ---- - -### channelSpecVersion - -• `Readonly` **channelSpecVersion**: `"0.7.1"` \| `"0.8.1"` = `SupportedRpcVersion.v0_8_1` - -RPC specification version this Channel class implements - -#### Defined in - -[src/channel/rpc_0_8_1.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L61) - ---- - -### nodeUrl - -• **nodeUrl**: `string` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L63) - ---- - -### headers - -• **headers**: `object` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L65) - ---- - -### requestId - -• **requestId**: `number` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L67) - ---- - -### blockIdentifier - -• `Readonly` **blockIdentifier**: [`BlockIdentifier`](../namespaces/types.md#blockidentifier) - -#### Defined in - -[src/channel/rpc_0_8_1.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L69) - ---- - -### retries - -• `Readonly` **retries**: `number` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:71](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L71) - ---- - -### waitMode - -• `Readonly` **waitMode**: `boolean` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L73) - ---- - -### chainId - -• `Private` `Optional` **chainId**: `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L75) - ---- - -### specVersion - -• `Private` `Optional` **specVersion**: `"0.7.1"` \| `"0.8.1"` - -RPC specification version of the connected node - -#### Defined in - -[src/channel/rpc_0_8_1.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L80) - ---- - -### transactionRetryIntervalFallback - -• `Private` `Optional` **transactionRetryIntervalFallback**: `number` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L82) - ---- - -### batchClient - -• `Private` `Optional` **batchClient**: [`BatchClient`](BatchClient.md) - -#### Defined in - -[src/channel/rpc_0_8_1.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L84) - ---- - -### baseFetch - -• `Private` **baseFetch**: (`input`: `RequestInfo` \| `URL`, `init?`: `RequestInit`) => `Promise`<`Response`\> - -#### Type declaration - -▸ (`input`, `init?`): `Promise`<`Response`\> - -##### Parameters - -| Name | Type | -| :------ | :--------------------- | -| `input` | `RequestInfo` \| `URL` | -| `init?` | `RequestInit` | - -##### Returns - -`Promise`<`Response`\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L86) - -## Accessors - -### transactionRetryIntervalDefault - -• `get` **transactionRetryIntervalDefault**(): `number` - -#### Returns - -`number` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L143) - -## Methods - -### readSpecVersion - -▸ **readSpecVersion**(): `undefined` \| `"0.7.1"` \| `"0.8.1"` - -#### Returns - -`undefined` \| `"0.7.1"` \| `"0.8.1"` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:139](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L139) - ---- - -### setChainId - -▸ **setChainId**(`chainId`): `void` - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------------- | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | - -#### Returns - -`void` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:147](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L147) - ---- - -### fetch - -▸ **fetch**(`method`, `params?`, `id?`): `Promise`<`Response`\> - -#### Parameters - -| Name | Type | Default value | -| :-------- | :------------------- | :------------ | -| `method` | `string` | `undefined` | -| `params?` | `object` | `undefined` | -| `id` | `string` \| `number` | `0` | - -#### Returns - -`Promise`<`Response`\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L151) - ---- - -### errorHandler - -▸ **errorHandler**(`method`, `params`, `rpcError?`, `otherError?`): `void` - -#### Parameters - -| Name | Type | -| :------------ | :----------------------------------------------- | -| `method` | `string` | -| `params` | `any` | -| `rpcError?` | [`Error`](../namespaces/types.RPC.JRPC.md#error) | -| `otherError?` | `any` | - -#### Returns - -`void` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:165](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L165) - ---- - -### fetchEndpoint - -▸ **fetchEndpoint**<`T`\>(`method`, `params?`): `Promise`<[`Methods`](../namespaces/types.RPC.RPCSPEC08.API.md#methods)[`T`][``"result"``]\> - -#### Type parameters - -| Name | Type | -| :--- | :-------------------------------------------------------------------------- | -| `T` | extends keyof `ReadMethods` \| keyof `WriteMethods` \| keyof `TraceMethods` | - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------------------------------------------- | -| `method` | `T` | -| `params?` | [`Methods`](../namespaces/types.RPC.RPCSPEC08.API.md#methods)[`T`][``"params"``] | - -#### Returns - -`Promise`<[`Methods`](../namespaces/types.RPC.RPCSPEC08.API.md#methods)[`T`][``"result"``]\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:177](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L177) - ---- - -### getChainId - -▸ **getChainId**(): `Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -#### Returns - -`Promise`<`"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"`\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:202](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L202) - ---- - -### getSpecVersion - -▸ **getSpecVersion**(): `Promise`<`string`\> - -fetch rpc node specVersion - -#### Returns - -`Promise`<`string`\> - -**`Example`** - -```ts -this.specVersion = '0.7.1'; -``` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:211](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L211) - ---- - -### setUpSpecVersion - -▸ **setUpSpecVersion**(): `Promise`<`"0.7.1"` \| `"0.8.1"`\> - -fetch if undefined else just return this.specVersion - -#### Returns - -`Promise`<`"0.7.1"` \| `"0.8.1"`\> - -**`Example`** - -```ts -this.specVersion = '0.8.1'; -``` - -#### Defined in - -[src/channel/rpc_0_8_1.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L219) - ---- - -### getMessagesStatus - -▸ **getMessagesStatus**(`txHash`): `Promise`<[`L1L2MessagesStatus`](../namespaces/types.RPC.RPCSPEC08.API.md#l1l2messagesstatus)\> - -Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses for all L1 -> L2 messages sent by the l1 transaction, ordered by the l1 tx sending order - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`L1L2MessagesStatus`](../namespaces/types.RPC.RPCSPEC08.API.md#l1l2messagesstatus)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:245](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L245) - ---- - -### getStorageProof - -▸ **getStorageProof**(`classHashes?`, `contractAddresses?`, `contractsStorageKeys?`, `blockIdentifier?`): `Promise`<[`StorageProof`](../namespaces/types.RPC.RPCSPEC08.API.md#storageproof)\> - -#### Parameters - -| Name | Type | Default value | -| :--------------------- | :------------------------------------------------------------------------------------------ | :------------ | -| `classHashes` | [`BigNumberish`](../namespaces/types.md#bignumberish)[] | `[]` | -| `contractAddresses` | [`BigNumberish`](../namespaces/types.md#bignumberish)[] | `[]` | -| `contractsStorageKeys` | [`CONTRACT_STORAGE_KEYS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_storage_keys)[] | `[]` | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | `undefined` | - -#### Returns - -`Promise`<[`StorageProof`](../namespaces/types.RPC.RPCSPEC08.API.md#storageproof)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:253](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L253) - ---- - -### getCompiledCasm - -▸ **getCompiledCasm**(`classHash`): `Promise`<[`CASM_COMPILED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#casm_compiled_contract_class)\> - -#### Parameters - -| Name | Type | -| :---------- | :---------------------------------------------------- | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`CASM_COMPILED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#casm_compiled_contract_class)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L272) - ---- - -### getNonceForAddress - -▸ **getNonceForAddress**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`string`\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:280](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L280) - ---- - -### getBlockLatestAccepted - -▸ **getBlockLatestAccepted**(): `Promise`<[`BlockHashAndNumber`](../namespaces/types.RPC.RPCSPEC08.API.md#blockhashandnumber)\> - -Get the most recent accepted block hash and number - -#### Returns - -`Promise`<[`BlockHashAndNumber`](../namespaces/types.RPC.RPCSPEC08.API.md#blockhashandnumber)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:295](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L295) - ---- - -### getBlockNumber - -▸ **getBlockNumber**(): `Promise`<`number`\> - -Get the most recent accepted block number -redundant use getBlockLatestAccepted(); - -#### Returns - -`Promise`<`number`\> - -Number of the latest block - -#### Defined in - -[src/channel/rpc_0_8_1.ts:304](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L304) - ---- - -### getBlockWithTxHashes - -▸ **getBlockWithTxHashes**(`blockIdentifier?`): `Promise`<`OnlyFirst`<[`BLOCK_WITH_TX_HASHES`](../namespaces/types.RPC.RPCSPEC08.API.md#block_with_tx_hashes), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_TX_HASHES`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_tx_hashes) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| `OnlyFirst`<[`PENDING_BLOCK_WITH_TX_HASHES`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_with_tx_hashes), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_TX_HASHES`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_tx_hashes) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\>\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`OnlyFirst`<[`BLOCK_WITH_TX_HASHES`](../namespaces/types.RPC.RPCSPEC08.API.md#block_with_tx_hashes), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_TX_HASHES`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_tx_hashes) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| `OnlyFirst`<[`PENDING_BLOCK_WITH_TX_HASHES`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_with_tx_hashes), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_TX_HASHES`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_tx_hashes) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\>\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:308](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L308) - ---- - -### getBlockWithTxs - -▸ **getBlockWithTxs**(`blockIdentifier?`): `Promise`<`OnlyFirst`<[`BLOCK_WITH_TXS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_with_txs), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_TXS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_txs) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| `OnlyFirst`<[`PENDING_BLOCK_WITH_TXS`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_with_txs), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_TXS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_txs) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\>\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`OnlyFirst`<[`BLOCK_WITH_TXS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_with_txs), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_TXS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_txs) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| `OnlyFirst`<[`PENDING_BLOCK_WITH_TXS`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_with_txs), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_TXS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_txs) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\>\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:313](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L313) - ---- - -### getBlockWithReceipts - -▸ **getBlockWithReceipts**(`blockIdentifier?`): `Promise`<`OnlyFirst`<[`BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| `OnlyFirst`<[`PENDING_BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\>\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`OnlyFirst`<[`BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\> \| `OnlyFirst`<[`PENDING_BLOCK_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_with_receipts), \{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_block_header)\>\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:318](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L318) - ---- - -### getBlockStateUpdate - -▸ **getBlockStateUpdate**(`blockIdentifier?`): `Promise`<`OnlyFirst`<[`STATE_UPDATE`](../namespaces/types.RPC.RPCSPEC08.API.md#state_update), [`STATE_UPDATE`](../namespaces/types.RPC.RPCSPEC08.API.md#state_update) & [`PENDING_STATE_UPDATE`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_state_update)\> \| `OnlyFirst`<[`PENDING_STATE_UPDATE`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_state_update), [`STATE_UPDATE`](../namespaces/types.RPC.RPCSPEC08.API.md#state_update) & [`PENDING_STATE_UPDATE`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_state_update)\>\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`OnlyFirst`<[`STATE_UPDATE`](../namespaces/types.RPC.RPCSPEC08.API.md#state_update), [`STATE_UPDATE`](../namespaces/types.RPC.RPCSPEC08.API.md#state_update) & [`PENDING_STATE_UPDATE`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_state_update)\> \| `OnlyFirst`<[`PENDING_STATE_UPDATE`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_state_update), [`STATE_UPDATE`](../namespaces/types.RPC.RPCSPEC08.API.md#state_update) & [`PENDING_STATE_UPDATE`](../namespaces/types.RPC.RPCSPEC08.API.md#pending_state_update)\>\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:323](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L323) - ---- - -### getBlockTransactionsTraces - -▸ **getBlockTransactionsTraces**(`blockIdentifier?`): `Promise`<[`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC08.API.md#blocktransactionstraces)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<[`BlockTransactionsTraces`](../namespaces/types.RPC.RPCSPEC08.API.md#blocktransactionstraces)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:328](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L328) - ---- - -### getBlockTransactionCount - -▸ **getBlockTransactionCount**(`blockIdentifier?`): `Promise`<`number`\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`number`\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:333](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L333) - ---- - -### getTransactionByHash - -▸ **getTransactionByHash**(`txHash`): `Promise`<[`TXN_WITH_HASH`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_with_hash)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TXN_WITH_HASH`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_with_hash)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:338](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L338) - ---- - -### getTransactionByBlockIdAndIndex - -▸ **getTransactionByBlockIdAndIndex**(`blockIdentifier`, `index`): `Promise`<[`TXN_WITH_HASH`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_with_hash)\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | -| `index` | `number` | - -#### Returns - -`Promise`<[`TXN_WITH_HASH`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_with_hash)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L345) - ---- - -### getTransactionReceipt - -▸ **getTransactionReceipt**(`txHash`): `Promise`<[`TXN_RECEIPT_WITH_BLOCK_INFO`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_receipt_with_block_info)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TXN_RECEIPT_WITH_BLOCK_INFO`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_receipt_with_block_info)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:350](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L350) - ---- - -### getTransactionTrace - -▸ **getTransactionTrace**(`txHash`): `Promise`<[`TRANSACTION_TRACE`](../namespaces/types.RPC.RPCSPEC08.API.md#transaction_trace)\> - -#### Parameters - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TRANSACTION_TRACE`](../namespaces/types.RPC.RPCSPEC08.API.md#transaction_trace)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:355](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L355) - ---- - -### getTransactionStatus - -▸ **getTransactionStatus**(`transactionHash`): `Promise`<[`TXN_STATUS_RESULT`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_status_result)\> - -Get the status of a transaction - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------- | -| `transactionHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`Promise`<[`TXN_STATUS_RESULT`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_status_result)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:363](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L363) - ---- - -### simulateTransaction - -▸ **simulateTransaction**(`invocations`, `simulateTransactionOptions?`): `Promise`<[`SimulateTransactionResponse`](../namespaces/types.RPC.RPCSPEC08.API.md#simulatetransactionresponse)\> - -#### Parameters - -| Name | Type | Description | -| :--------------------------- | :-------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | AccountInvocations | -| `simulateTransactionOptions` | [`getSimulateTransactionOptions`](../namespaces/types.md#getsimulatetransactionoptions) | blockIdentifier and flags to skip validation and fee charge
- blockIdentifier
- skipValidate (default false)
- skipFeeCharge (default true)
| - -#### Returns - -`Promise`<[`SimulateTransactionResponse`](../namespaces/types.RPC.RPCSPEC08.API.md#simulatetransactionresponse)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:375](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L375) - ---- - -### waitForTransaction - -▸ **waitForTransaction**(`txHash`, `options?`): `Promise`<[`TXN_RECEIPT`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_receipt)\> - -#### Parameters - -| Name | Type | -| :--------- | :------------------------------------------------------------------------------ | -| `txHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `options?` | [`waitForTransactionOptions`](../namespaces/types.md#waitfortransactionoptions) | - -#### Returns - -`Promise`<[`TXN_RECEIPT`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_receipt)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:396](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L396) - ---- - -### getStorageAt - -▸ **getStorageAt**(`contractAddress`, `key`, `blockIdentifier?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `key` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`string`\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:478](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L478) - ---- - -### getClassHashAt - -▸ **getClassHashAt**(`contractAddress`, `blockIdentifier?`): `Promise`<`string`\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`string`\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:493](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L493) - ---- - -### getClass - -▸ **getClass**(`classHash`, `blockIdentifier?`): `Promise`<`OnlyFirst`<[`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_class), [`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_class) & [`DEPRECATED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#deprecated_contract_class)\> \| `OnlyFirst`<[`DEPRECATED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#deprecated_contract_class), [`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_class) & [`DEPRECATED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#deprecated_contract_class)\>\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `classHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`OnlyFirst`<[`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_class), [`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_class) & [`DEPRECATED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#deprecated_contract_class)\> \| `OnlyFirst`<[`DEPRECATED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#deprecated_contract_class), [`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_class) & [`DEPRECATED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#deprecated_contract_class)\>\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:505](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L505) - ---- - -### getClassAt - -▸ **getClassAt**(`contractAddress`, `blockIdentifier?`): `Promise`<`OnlyFirst`<[`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_class), [`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_class) & [`DEPRECATED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#deprecated_contract_class)\> \| `OnlyFirst`<[`DEPRECATED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#deprecated_contract_class), [`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_class) & [`DEPRECATED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#deprecated_contract_class)\>\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](../namespaces/types.md#bignumberish) | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`OnlyFirst`<[`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_class), [`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_class) & [`DEPRECATED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#deprecated_contract_class)\> \| `OnlyFirst`<[`DEPRECATED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#deprecated_contract_class), [`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_class) & [`DEPRECATED_CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#deprecated_contract_class)\>\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:517](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L517) - ---- - -### getEstimateFee - -▸ **getEstimateFee**(`invocations`, `«destructured»`): `Promise`<[`FEE_ESTIMATE`](../namespaces/types.RPC.RPCSPEC08.API.md#fee_estimate)[]\> - -#### Parameters - -| Name | Type | -| :--------------- | :------------------------------------------------------------------------------ | -| `invocations` | [`AccountInvocations`](../namespaces/types.md#accountinvocations) | -| `«destructured»` | [`getEstimateFeeBulkOptions`](../namespaces/types.md#getestimatefeebulkoptions) | - -#### Returns - -`Promise`<[`FEE_ESTIMATE`](../namespaces/types.RPC.RPCSPEC08.API.md#fee_estimate)[]\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:529](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L529) - ---- - -### invoke - -▸ **invoke**(`functionInvocation`, `details`): `Promise`<[`InvokedTransaction`](../namespaces/types.RPC.RPCSPEC08.API.md#invokedtransaction)\> - -#### Parameters - -| Name | Type | -| :------------------- | :---------------------------------------------------------------------------------- | -| `functionInvocation` | [`Invocation`](../namespaces/types.md#invocation) | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | - -#### Returns - -`Promise`<[`InvokedTransaction`](../namespaces/types.RPC.RPCSPEC08.API.md#invokedtransaction)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:547](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L547) - ---- - -### declare - -▸ **declare**(`«destructured»`, `details`): `Promise`<[`TXN_RECEIPT`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_receipt) \| [`DeclaredTransaction`](../namespaces/types.RPC.RPCSPEC08.API.md#declaredtransaction)\> - -#### Parameters - -| Name | Type | -| :--------------- | :---------------------------------------------------------------------------------- | -| `«destructured»` | [`DeclareContractTransaction`](../namespaces/types.md#declarecontracttransaction) | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | - -#### Returns - -`Promise`<[`TXN_RECEIPT`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_receipt) \| [`DeclaredTransaction`](../namespaces/types.RPC.RPCSPEC08.API.md#declaredtransaction)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:574](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L574) - ---- - -### deployAccount - -▸ **deployAccount**(`«destructured»`, `details`): `Promise`<[`TXN_RECEIPT`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_receipt) \| [`DeployedAccountTransaction`](../namespaces/types.RPC.RPCSPEC08.API.md#deployedaccounttransaction)\> - -#### Parameters - -| Name | Type | -| :--------------- | :-------------------------------------------------------------------------------------------- | -| `«destructured»` | [`DeployAccountContractTransaction`](../namespaces/types.md#deployaccountcontracttransaction) | -| `details` | [`InvocationsDetailsWithNonce`](../namespaces/types.md#invocationsdetailswithnonce) | - -#### Returns - -`Promise`<[`TXN_RECEIPT`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_receipt) \| [`DeployedAccountTransaction`](../namespaces/types.RPC.RPCSPEC08.API.md#deployedaccounttransaction)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:610](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L610) - ---- - -### callContract - -▸ **callContract**(`call`, `blockIdentifier?`): `Promise`<`string`[]\> - -#### Parameters - -| Name | Type | -| :---------------- | :---------------------------------------------------------- | -| `call` | [`Call`](../namespaces/types.md#call) | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - -#### Returns - -`Promise`<`string`[]\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:640](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L640) - ---- - -### estimateMessageFee - -▸ **estimateMessageFee**(`message`, `blockIdentifier?`): `Promise`<[`FEE_ESTIMATE`](../namespaces/types.RPC.RPCSPEC08.API.md#fee_estimate)\> - -NEW: Estimate the fee for a message from L1 - -#### Parameters - -| Name | Type | Description | -| :---------------- | :-------------------------------------------------------------------- | :-------------- | -| `message` | [`MSG_FROM_L1`](../namespaces/types.RPC.RPCSPEC08.API.md#msg_from_l1) | Message From L1 | -| `blockIdentifier` | [`BlockIdentifier`](../namespaces/types.md#blockidentifier) | - | - -#### Returns - -`Promise`<[`FEE_ESTIMATE`](../namespaces/types.RPC.RPCSPEC08.API.md#fee_estimate)\> - -#### Defined in - -[src/channel/rpc_0_8_1.ts:656](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L656) - ---- - -### getSyncingStats - -▸ **getSyncingStats**(): `Promise`<[`Syncing`](../namespaces/types.RPC.RPCSPEC08.API.md#syncing)\> - -Returns an object about the sync status, or false if the node is not synching - -#### Returns - -`Promise`<[`Syncing`](../namespaces/types.RPC.RPCSPEC08.API.md#syncing)\> - -Object with the stats data - -#### Defined in - -[src/channel/rpc_0_8_1.ts:679](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L679) - ---- - -### getEvents - -▸ **getEvents**(`eventFilter`): `Promise`<[`EVENTS_CHUNK`](../namespaces/types.RPC.RPCSPEC08.API.md#events_chunk)\> - -Returns all events matching the given filter - -#### Parameters - -| Name | Type | -| :------------ | :-------------------------------------------------------------------- | -| `eventFilter` | [`EventFilter`](../namespaces/types.RPC.RPCSPEC08.API.md#eventfilter) | - -#### Returns - -`Promise`<[`EVENTS_CHUNK`](../namespaces/types.RPC.RPCSPEC08.API.md#events_chunk)\> - -events and the pagination of the events - -#### Defined in - -[src/channel/rpc_0_8_1.ts:687](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L687) - ---- - -### buildTransaction - -▸ **buildTransaction**(`invocation`, `versionType?`): [`BROADCASTED_TXN`](../namespaces/types.RPC.RPCSPEC08.API.md#broadcasted_txn) - -#### Parameters - -| Name | Type | -| :------------- | :---------------------------------------------------------------------- | -| `invocation` | [`AccountInvocationItem`](../namespaces/types.md#accountinvocationitem) | -| `versionType?` | `"fee"` \| `"transaction"` | - -#### Returns - -[`BROADCASTED_TXN`](../namespaces/types.RPC.RPCSPEC08.API.md#broadcasted_txn) - -#### Defined in - -[src/channel/rpc_0_8_1.ts:691](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/rpc_0_8_1.ts#L691) diff --git a/www/versioned_docs/version-7.6.2/API/classes/RPCResponseParser.md b/www/versioned_docs/version-7.6.2/API/classes/RPCResponseParser.md deleted file mode 100644 index 37d9d7364..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/RPCResponseParser.md +++ /dev/null @@ -1,233 +0,0 @@ ---- -id: 'RPCResponseParser' -title: 'Class: RPCResponseParser' -sidebar_label: 'RPCResponseParser' -sidebar_position: 0 -custom_edit_url: null ---- - -## Implements - -- `Omit`<[`ResponseParser`](ResponseParser.md), `"parseDeclareContractResponse"` \| `"parseDeployContractResponse"` \| `"parseInvokeFunctionResponse"` \| `"parseGetTransactionReceiptResponse"` \| `"parseGetTransactionResponse"` \| `"parseCallContractResponse"`\> - -## Constructors - -### constructor - -• **new RPCResponseParser**(`margin?`): [`RPCResponseParser`](RPCResponseParser.md) - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------------------------------ | -| `margin?` | [`FeeMarginPercentage`](../namespaces/types.md#feemarginpercentage) | - -#### Returns - -[`RPCResponseParser`](RPCResponseParser.md) - -#### Defined in - -[src/utils/responseParser/rpc.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/rpc.ts#L38) - -## Properties - -### margin - -• `Private` **margin**: `undefined` \| [`FeeMarginPercentage`](../namespaces/types.md#feemarginpercentage) - -#### Defined in - -[src/utils/responseParser/rpc.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/rpc.ts#L36) - -## Methods - -### estimatedFeeToMaxFee - -▸ **estimatedFeeToMaxFee**(`estimatedFee`): `bigint` - -#### Parameters - -| Name | Type | -| :------------- | :---------------------------------------------------- | -| `estimatedFee` | [`BigNumberish`](../namespaces/types.md#bignumberish) | - -#### Returns - -`bigint` - -#### Defined in - -[src/utils/responseParser/rpc.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/rpc.ts#L42) - ---- - -### estimateFeeToBounds - -▸ **estimateFeeToBounds**(`estimate`): [`ResourceBounds`](../namespaces/types.md#resourcebounds) - -#### Parameters - -| Name | Type | -| :--------- | :---------------------------------------------------------- | -| `estimate` | `0n` \| [`FeeEstimate`](../namespaces/types.md#feeestimate) | - -#### Returns - -[`ResourceBounds`](../namespaces/types.md#resourcebounds) - -#### Defined in - -[src/utils/responseParser/rpc.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/rpc.ts#L46) - ---- - -### parseGetBlockResponse - -▸ **parseGetBlockResponse**(`res`): [`GetBlockResponse`](../namespaces/types.md#getblockresponse) - -#### Parameters - -| Name | Type | -| :---- | :-------------------------------------------------------------- | -| `res` | [`BlockWithTxHashes`](../namespaces/types.md#blockwithtxhashes) | - -#### Returns - -[`GetBlockResponse`](../namespaces/types.md#getblockresponse) - -#### Implementation of - -Omit.parseGetBlockResponse - -#### Defined in - -[src/utils/responseParser/rpc.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/rpc.ts#L50) - ---- - -### parseTransactionReceipt - -▸ **parseTransactionReceipt**(`res`): [`TXN_RECEIPT_WITH_BLOCK_INFO`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_receipt_with_block_info) - -#### Parameters - -| Name | Type | -| :---- | :---------------------------------------------------------------- | -| `res` | [`TransactionReceipt`](../namespaces/types.md#transactionreceipt) | - -#### Returns - -[`TXN_RECEIPT_WITH_BLOCK_INFO`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_receipt_with_block_info) - -#### Defined in - -[src/utils/responseParser/rpc.ts:54](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/rpc.ts#L54) - ---- - -### parseFeeEstimateResponse - -▸ **parseFeeEstimateResponse**(`res`): [`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse) - -#### Parameters - -| Name | Type | -| :---- | :---------------------------------------------------- | -| `res` | [`FeeEstimate`](../namespaces/types.md#feeestimate)[] | - -#### Returns - -[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse) - -#### Implementation of - -Omit.parseFeeEstimateResponse - -#### Defined in - -[src/utils/responseParser/rpc.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/rpc.ts#L58) - ---- - -### parseFeeEstimateBulkResponse - -▸ **parseFeeEstimateBulkResponse**(`res`): [`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk) - -#### Parameters - -| Name | Type | -| :---- | :---------------------------------------------------- | -| `res` | [`FeeEstimate`](../namespaces/types.md#feeestimate)[] | - -#### Returns - -[`EstimateFeeResponseBulk`](../namespaces/types.md#estimatefeeresponsebulk) - -#### Defined in - -[src/utils/responseParser/rpc.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/rpc.ts#L77) - ---- - -### parseSimulateTransactionResponse - -▸ **parseSimulateTransactionResponse**(`res`): [`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse) - -#### Parameters - -| Name | Type | -| :---- | :---- | -| `res` | `any` | - -#### Returns - -[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse) - -#### Implementation of - -Omit.parseSimulateTransactionResponse - -#### Defined in - -[src/utils/responseParser/rpc.ts:95](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/rpc.ts#L95) - ---- - -### parseContractClassResponse - -▸ **parseContractClassResponse**(`res`): [`ContractClassResponse`](../namespaces/types.md#contractclassresponse) - -#### Parameters - -| Name | Type | -| :---- | :-------------------------------------------------------------------- | -| `res` | [`ContractClassPayload`](../namespaces/types.md#contractclasspayload) | - -#### Returns - -[`ContractClassResponse`](../namespaces/types.md#contractclassresponse) - -#### Defined in - -[src/utils/responseParser/rpc.ts:112](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/rpc.ts#L112) - ---- - -### parseL1GasPriceResponse - -▸ **parseL1GasPriceResponse**(`res`): `string` - -#### Parameters - -| Name | Type | -| :---- | :-------------------------------------------------------------- | -| `res` | [`BlockWithTxHashes`](../namespaces/types.md#blockwithtxhashes) | - -#### Returns - -`string` - -#### Defined in - -[src/utils/responseParser/rpc.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/rpc.ts#L119) diff --git a/www/versioned_docs/version-7.6.2/API/classes/ReceiptTx.md b/www/versioned_docs/version-7.6.2/API/classes/ReceiptTx.md deleted file mode 100644 index 7bf8957ca..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/ReceiptTx.md +++ /dev/null @@ -1,194 +0,0 @@ ---- -id: 'ReceiptTx' -title: 'Class: ReceiptTx' -sidebar_label: 'ReceiptTx' -sidebar_position: 0 -custom_edit_url: null ---- - -Utility that analyses transaction receipt response and provides helpers to process it - -**`Example`** - -```typescript -const responseTx = new ReceiptTx(receipt); -responseTx.match({ - success: (txR: SuccessfulTransactionReceiptResponse) => { }, - reverted: (txR: RevertedTransactionReceiptResponse) => { }, - error: (err: Error) => { }, -}); -responseTx.match({ - success: (txR: SuccessfulTransactionReceiptResponse) => { }, - _: () => { }, -} -``` - -## Implements - -- [`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse) - -## Constructors - -### constructor - -• **new ReceiptTx**(`receipt`): [`ReceiptTx`](ReceiptTx.md) - -#### Parameters - -| Name | Type | -| :-------- | :---------------------------------------------------------------------------------------------------- | -| `receipt` | [`TXN_RECEIPT_WITH_BLOCK_INFO`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_receipt_with_block_info) | - -#### Returns - -[`ReceiptTx`](ReceiptTx.md) - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.ts#L37) - -## Properties - -### statusReceipt - -• `Readonly` **statusReceipt**: keyof [`TransactionStatusReceiptSets`](../namespaces/types.md#transactionstatusreceiptsets) - -#### Implementation of - -GetTransactionReceiptResponse.statusReceipt - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.ts#L33) - ---- - -### value - -• `Readonly` **value**: [`TransactionReceiptValue`](../namespaces/types.md#transactionreceiptvalue) - -#### Implementation of - -GetTransactionReceiptResponse.value - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.ts#L35) - -## Methods - -### isSuccess - -▸ **isSuccess**(`transactionReceipt`): transactionReceipt is SuccessfulTransactionReceiptResponse - -#### Parameters - -| Name | Type | -| :------------------- | :---------------------------------------------------------------------------------------------------- | -| `transactionReceipt` | [`TXN_RECEIPT_WITH_BLOCK_INFO`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_receipt_with_block_info) | - -#### Returns - -transactionReceipt is SuccessfulTransactionReceiptResponse - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.ts#L85) - ---- - -### isReverted - -▸ **isReverted**(`transactionReceipt`): transactionReceipt is RevertedTransactionReceiptResponse - -#### Parameters - -| Name | Type | -| :------------------- | :---------------------------------------------------------------------------------------------------- | -| `transactionReceipt` | [`TXN_RECEIPT_WITH_BLOCK_INFO`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_receipt_with_block_info) | - -#### Returns - -transactionReceipt is RevertedTransactionReceiptResponse - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.ts#L91) - ---- - -### match - -▸ **match**(`callbacks`): `void` - -#### Parameters - -| Name | Type | -| :---------- | :---------------------------------------------------------------------------------- | -| `callbacks` | [`TransactionReceiptCallbacks`](../namespaces/types.md#transactionreceiptcallbacks) | - -#### Returns - -`void` - -#### Implementation of - -GetTransactionReceiptResponse.match - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.ts#L59) - ---- - -### isSuccess - -▸ **isSuccess**(): this is GetTransactionReceiptResponse<"success"\> - -#### Returns - -this is GetTransactionReceiptResponse<"success"\> - -#### Implementation of - -GetTransactionReceiptResponse.isSuccess - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.ts#L66) - ---- - -### isReverted - -▸ **isReverted**(): this is GetTransactionReceiptResponse<"reverted"\> - -#### Returns - -this is GetTransactionReceiptResponse<"reverted"\> - -#### Implementation of - -GetTransactionReceiptResponse.isReverted - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.ts#L70) - ---- - -### isError - -▸ **isError**(): this is GetTransactionReceiptResponse<"error"\> - -#### Returns - -this is GetTransactionReceiptResponse<"error"\> - -#### Implementation of - -GetTransactionReceiptResponse.isError - -#### Defined in - -[src/utils/transactionReceipt/transactionReceipt.ts:81](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.ts#L81) diff --git a/www/versioned_docs/version-7.6.2/API/classes/ResponseParser.md b/www/versioned_docs/version-7.6.2/API/classes/ResponseParser.md deleted file mode 100644 index 0d6525ac9..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/ResponseParser.md +++ /dev/null @@ -1,206 +0,0 @@ ---- -id: 'ResponseParser' -title: 'Class: ResponseParser' -sidebar_label: 'ResponseParser' -sidebar_position: 0 -custom_edit_url: null ---- - -## Constructors - -### constructor - -• **new ResponseParser**(): [`ResponseParser`](ResponseParser.md) - -#### Returns - -[`ResponseParser`](ResponseParser.md) - -## Methods - -### parseGetBlockResponse - -▸ **parseGetBlockResponse**(`res`): [`GetBlockResponse`](../namespaces/types.md#getblockresponse) - -#### Parameters - -| Name | Type | -| :---- | :-------------------------------------------------------------- | -| `res` | [`BlockWithTxHashes`](../namespaces/types.md#blockwithtxhashes) | - -#### Returns - -[`GetBlockResponse`](../namespaces/types.md#getblockresponse) - -#### Defined in - -[src/utils/responseParser/interface.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/interface.ts#L16) - ---- - -### parseGetTransactionResponse - -▸ **parseGetTransactionResponse**(`res`): [`TransactionWithHash`](../namespaces/types.md#transactionwithhash) - -#### Parameters - -| Name | Type | -| :---- | :---- | -| `res` | `any` | - -#### Returns - -[`TransactionWithHash`](../namespaces/types.md#transactionwithhash) - -#### Defined in - -[src/utils/responseParser/interface.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/interface.ts#L18) - ---- - -### parseGetTransactionReceiptResponse - -▸ **parseGetTransactionReceiptResponse**(`res`): [`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse) - -#### Parameters - -| Name | Type | -| :---- | :---- | -| `res` | `any` | - -#### Returns - -[`GetTransactionReceiptResponse`](../namespaces/types.md#gettransactionreceiptresponse) - -#### Defined in - -[src/utils/responseParser/interface.ts:20](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/interface.ts#L20) - ---- - -### parseFeeEstimateResponse - -▸ **parseFeeEstimateResponse**(`res`): [`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse) - -#### Parameters - -| Name | Type | -| :---- | :---------------------------------------------------- | -| `res` | [`FeeEstimate`](../namespaces/types.md#feeestimate)[] | - -#### Returns - -[`EstimateFeeResponse`](../namespaces/types.md#estimatefeeresponse) - -#### Defined in - -[src/utils/responseParser/interface.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/interface.ts#L22) - ---- - -### parseCallContractResponse - -▸ **parseCallContractResponse**(`res`): [`CallContractResponse`](../namespaces/types.md#callcontractresponse) - -#### Parameters - -| Name | Type | -| :---- | :---- | -| `res` | `any` | - -#### Returns - -[`CallContractResponse`](../namespaces/types.md#callcontractresponse) - -#### Defined in - -[src/utils/responseParser/interface.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/interface.ts#L24) - ---- - -### parseInvokeFunctionResponse - -▸ **parseInvokeFunctionResponse**(`res`): `Object` - -#### Parameters - -| Name | Type | -| :---- | :---- | -| `res` | `any` | - -#### Returns - -`Object` - -| Name | Type | -| :----------------- | :------- | -| `transaction_hash` | `string` | - -#### Defined in - -[src/utils/responseParser/interface.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/interface.ts#L26) - ---- - -### parseDeployContractResponse - -▸ **parseDeployContractResponse**(`res`): [`DeployContractResponse`](../interfaces/types.DeployContractResponse.md) - -#### Parameters - -| Name | Type | -| :---- | :---- | -| `res` | `any` | - -#### Returns - -[`DeployContractResponse`](../interfaces/types.DeployContractResponse.md) - -#### Defined in - -[src/utils/responseParser/interface.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/interface.ts#L28) - ---- - -### parseDeclareContractResponse - -▸ **parseDeclareContractResponse**(`res`): `Object` - -#### Parameters - -| Name | Type | -| :---- | :---- | -| `res` | `any` | - -#### Returns - -`Object` - -| Name | Type | -| :----------------- | :------- | -| `class_hash` | `string` | -| `transaction_hash` | `string` | - -#### Defined in - -[src/utils/responseParser/interface.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/interface.ts#L30) - ---- - -### parseSimulateTransactionResponse - -▸ **parseSimulateTransactionResponse**(`res`): [`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse) - -#### Parameters - -| Name | Type | -| :---- | :---- | -| `res` | `any` | - -#### Returns - -[`SimulateTransactionResponse`](../namespaces/types.md#simulatetransactionresponse) - -#### Defined in - -[src/utils/responseParser/interface.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/responseParser/interface.ts#L32) diff --git a/www/versioned_docs/version-7.6.2/API/classes/SignerInterface.md b/www/versioned_docs/version-7.6.2/API/classes/SignerInterface.md deleted file mode 100644 index f277b53ca..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/SignerInterface.md +++ /dev/null @@ -1,247 +0,0 @@ ---- -id: 'SignerInterface' -title: 'Class: SignerInterface' -sidebar_label: 'SignerInterface' -sidebar_position: 0 -custom_edit_url: null ---- - -## Implemented by - -- [`EthSigner`](EthSigner.md) -- [`LedgerSigner111`](LedgerSigner111.md) -- [`LedgerSigner221`](LedgerSigner221.md) -- [`LedgerSigner231`](LedgerSigner231.md) -- [`Signer`](Signer.md) - -## Constructors - -### constructor - -• **new SignerInterface**(): [`SignerInterface`](SignerInterface.md) - -#### Returns - -[`SignerInterface`](SignerInterface.md) - -## Methods - -### getPubKey - -▸ **getPubKey**(): `Promise`<`string`\> - -Method to get the public key of the signer - -#### Returns - -`Promise`<`string`\> - -hex-string - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const result = await mySigner.getPubKey(); -// result = "0x566d69d8c99f62bc71118399bab25c1f03719463eab8d6a444cd11ece131616" -``` - -#### Defined in - -[src/signer/interface.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/interface.ts#L22) - ---- - -### signMessage - -▸ **signMessage**(`typedData`, `accountAddress`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs a JSON object for off-chain usage with the private key and returns the signature. -This adds a message prefix so it can't be interchanged with transactions - -#### Parameters - -| Name | Type | Description | -| :--------------- | :----------------------------------------------------------------------- | :---------------------------------- | -| `typedData` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | JSON object to be signed | -| `accountAddress` | `string` | Hex string of the account's address | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the message - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const myTypedData: TypedData = { - domain: { name: 'Example DApp', chainId: constants.StarknetChainId.SN_SEPOLIA, version: '0.0.3' }, - types: { - StarkNetDomain: [ - { name: 'name', type: 'string' }, - { name: 'chainId', type: 'felt' }, - { name: 'version', type: 'string' }, - ], - Message: [{ name: 'message', type: 'felt' }], - }, - primaryType: 'Message', - message: { message: '1234' }, -}; -const result = await mySigner.signMessage( - myTypedData, - '0x5d08a4e9188429da4e993c9bf25aafe5cd491ee2b501505d4d059f0c938f82d' -); -// result = Signature {r: 684915484701699003335398790608214855489903651271362390249153620883122231253n, -// s: 1399150959912500412309102776989465580949387575375484933432871778355496929189n, recovery: 1} -``` - -#### Defined in - -[src/signer/interface.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/interface.ts#L50) - ---- - -### signTransaction - -▸ **signTransaction**(`transactions`, `transactionsDetail`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs transactions with the private key and returns the signature - -#### Parameters - -| Name | Type | Description | -| :------------------- | :---------------------------------------------------------------------------- | :------------------------------ | -| `transactions` | [`Call`](../namespaces/types.md#call)[] | array of Call objects | -| `transactionsDetail` | [`InvocationsSignerDetails`](../namespaces/types.md#invocationssignerdetails) | InvocationsSignerDetails object | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the transaction - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const calls: Call[] = [ - { - contractAddress: '0x1234567890123456789012345678901234567890', - entrypoint: 'functionName', - calldata: [1, 2, 3], - }, -]; -const transactionsDetail: InvocationsSignerDetails = { - walletAddress: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e', - chainId: constants.StarknetChainId.SN_MAIN, - cairoVersion: '1', - maxFee: '0x1234567890abcdef', - version: '0x0', - nonce: 1, -}; -const result = await mySigner.signTransaction(calls, transactionsDetail); -// result = Signature {r: 304910226421970384958146916800275294114105560641204815169249090836676768876n, -// s: 1072798866000813654190523783606274062837012608648308896325315895472901074693n, recovery: 0} -``` - -#### Defined in - -[src/signer/interface.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/interface.ts#L77) - ---- - -### signDeployAccountTransaction - -▸ **signDeployAccountTransaction**(`transaction`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs a DEPLOY_ACCOUNT transaction with the private key and returns the signature - -#### Parameters - -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------------------------- | :---------------------------- | -| `transaction` | [`DeployAccountSignerDetails`](../namespaces/types.md#deployaccountsignerdetails) | to deploy an account contract | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the transaction to deploy an account - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const myDeployAcc: DeployAccountSignerDetails = { - contractAddress: '0x65a822fbee1ae79e898688b5a4282dc79e0042cbed12f6169937fddb4c26641', - version: '0x2', - chainId: constants.StarknetChainId.SN_SEPOLIA, - classHash: '0x5f3614e8671257aff9ac38e929c74d65b02d460ae966cd826c9f04a7fa8e0d4', - constructorCalldata: [1, 2], - addressSalt: 1234, - nonce: 45, - maxFee: 10 ** 15, - tip: 0, - paymasterData: [], - accountDeploymentData: [], - nonceDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - resourceBounds: stark.estimateFeeToBounds(constants.ZERO), -}; -const result = await mySigner.signDeployAccountTransaction(myDeployAcc); -// result = Signature {r: 2871311234341436528393212130310036951068553852419934781736214693308640202748n, -// s: 1746271646048888422437132495446973163454853863041370993384284773665861377605n, recovery: 1} -``` - -#### Defined in - -[src/signer/interface.ts:105](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/interface.ts#L105) - ---- - -### signDeclareTransaction - -▸ **signDeclareTransaction**(`transaction`): `Promise`<[`Signature`](../namespaces/types.md#signature)\> - -Signs a DECLARE transaction with the private key and returns the signature - -#### Parameters - -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------------- | :----------------- | -| `transaction` | [`DeclareSignerDetails`](../namespaces/types.md#declaresignerdetails) | to declare a class | - -#### Returns - -`Promise`<[`Signature`](../namespaces/types.md#signature)\> - -the signature of the transaction to declare a class - -**`Example`** - -```typescript -const mySigner = new Signer('0x123'); -const myDeclare: DeclareSignerDetails = { - version: '0x2', - chainId: constants.StarknetChainId.SN_SEPOLIA, - senderAddress: '0x65a822fbee1ae79e898688b5a4282dc79e0042cbed12f6169937fddb4c26641', - classHash: '0x5f3614e8671257aff9ac38e929c74d65b02d460ae966cd826c9f04a7fa8e0d4', - nonce: 45, - maxFee: 10 ** 15, - tip: 0, - paymasterData: [], - accountDeploymentData: [], - nonceDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1, - resourceBounds: stark.estimateFeeToBounds(constants.ZERO), -}; -const result = await mySigner.signDeclareTransaction(myDeclare); -// result = Signature {r: 2432056944313955951711774394836075930010416436707488863728289188289211995670n, -// s: 3407649393310177489888603098175002856596469926897298636282244411990343146307n, recovery: 1} -``` - -#### Defined in - -[src/signer/interface.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/interface.ts#L131) diff --git a/www/versioned_docs/version-7.6.2/API/classes/TimeoutError.md b/www/versioned_docs/version-7.6.2/API/classes/TimeoutError.md deleted file mode 100644 index 4f7b948e3..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/TimeoutError.md +++ /dev/null @@ -1,173 +0,0 @@ ---- -id: 'TimeoutError' -title: 'Class: TimeoutError' -sidebar_label: 'TimeoutError' -sidebar_position: 0 -custom_edit_url: null ---- - -Thrown when a WebSocket request does not receive a response within the configured timeout period. - -## Hierarchy - -- [`LibraryError`](LibraryError.md) - - ↳ **`TimeoutError`** - -## Constructors - -### constructor - -• **new TimeoutError**(`message`): [`TimeoutError`](TimeoutError.md) - -#### Parameters - -| Name | Type | -| :-------- | :------- | -| `message` | `string` | - -#### Returns - -[`TimeoutError`](TimeoutError.md) - -#### Overrides - -[LibraryError](LibraryError.md).[constructor](LibraryError.md#constructor) - -#### Defined in - -[src/utils/errors/index.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/errors/index.ts#L85) - -## Properties - -### prepareStackTrace - -▪ `Static` `Optional` **prepareStackTrace**: (`err`: `Error`, `stackTraces`: `CallSite`[]) => `any` - -#### Type declaration - -▸ (`err`, `stackTraces`): `any` - -Optional override for formatting stack traces - -##### Parameters - -| Name | Type | -| :------------ | :----------- | -| `err` | `Error` | -| `stackTraces` | `CallSite`[] | - -##### Returns - -`any` - -**`See`** - -https://v8.dev/docs/stack-trace-api#customizing-stack-traces - -#### Inherited from - -[LibraryError](LibraryError.md).[prepareStackTrace](LibraryError.md#preparestacktrace) - -#### Defined in - -node_modules/@types/node/globals.d.ts:143 - ---- - -### stackTraceLimit - -▪ `Static` **stackTraceLimit**: `number` - -#### Inherited from - -[LibraryError](LibraryError.md).[stackTraceLimit](LibraryError.md#stacktracelimit) - -#### Defined in - -node_modules/@types/node/globals.d.ts:145 - ---- - -### name - -• **name**: `string` - -The name of the error, always 'TimeoutError'. - -#### Inherited from - -[LibraryError](LibraryError.md).[name](LibraryError.md#name) - -#### Defined in - -[src/utils/errors/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/errors/index.ts#L21) - ---- - -### message - -• **message**: `string` - -#### Inherited from - -[LibraryError](LibraryError.md).[message](LibraryError.md#message) - -#### Defined in - -www/node_modules/typescript/lib/lib.es5.d.ts:1055 - ---- - -### stack - -• `Optional` **stack**: `string` - -#### Inherited from - -[LibraryError](LibraryError.md).[stack](LibraryError.md#stack) - -#### Defined in - -www/node_modules/typescript/lib/lib.es5.d.ts:1056 - ---- - -### cause - -• `Optional` **cause**: `unknown` - -#### Inherited from - -[LibraryError](LibraryError.md).[cause](LibraryError.md#cause) - -#### Defined in - -www/node_modules/typescript/lib/lib.es2022.error.d.ts:24 - -## Methods - -### captureStackTrace - -▸ **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` - -Create .stack property on a target object - -#### Parameters - -| Name | Type | -| :---------------- | :--------- | -| `targetObject` | `object` | -| `constructorOpt?` | `Function` | - -#### Returns - -`void` - -#### Inherited from - -[LibraryError](LibraryError.md).[captureStackTrace](LibraryError.md#capturestacktrace) - -#### Defined in - -node_modules/@types/node/globals.d.ts:136 diff --git a/www/versioned_docs/version-7.6.2/API/classes/WebSocketChannel.md b/www/versioned_docs/version-7.6.2/API/classes/WebSocketChannel.md deleted file mode 100644 index 10e03dbe5..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/WebSocketChannel.md +++ /dev/null @@ -1,836 +0,0 @@ ---- -id: 'WebSocketChannel' -title: 'Class: WebSocketChannel' -sidebar_label: 'WebSocketChannel' -sidebar_position: 0 -custom_edit_url: null ---- - -Manages a WebSocket connection to a Starknet node for receiving real-time updates. -This class handles subscriptions, automatic reconnection, and request queueing. - -**`Example`** - -```typescript -const channel = new WebSocketChannel({ nodeUrl: 'YOUR_NODE_URL' }); -await channel.waitForConnection(); - -const sub = await channel.subscribeNewHeads(); -sub.on((data) => { - console.log('New Block:', data); -}); - -// ... later -await sub.unsubscribe(); -channel.disconnect(); -``` - -## Constructors - -### constructor - -• **new WebSocketChannel**(`options`): [`WebSocketChannel`](WebSocketChannel.md) - -Creates an instance of WebSocketChannel. - -#### Parameters - -| Name | Type | Description | -| :-------- | :--------------------------------------------------- | :--------------------------------------- | -| `options` | [`WebSocketOptions`](../modules.md#websocketoptions) | The options for configuring the channel. | - -#### Returns - -[`WebSocketChannel`](WebSocketChannel.md) - -#### Defined in - -[src/channel/ws/ws_0_8.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L170) - -## Properties - -### nodeUrl - -• **nodeUrl**: `string` - -The URL of the WebSocket RPC Node. - -**`Example`** - -```ts -'wss://starknet-sepolia.public.blastapi.io/rpc/v0_8'; -``` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:114](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L114) - ---- - -### websocket - -• **websocket**: `WebSocket` - -The underlying WebSocket instance. - -#### Defined in - -[src/channel/ws/ws_0_8.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L119) - ---- - -### WsImplementation - -• `Private` **WsImplementation**: `Object` - -#### Call signature - -• **new WsImplementation**(`url`, `protocols?`): `WebSocket` - -##### Parameters - -| Name | Type | -| :----------- | :--------------------- | -| `url` | `string` \| `URL` | -| `protocols?` | `string` \| `string`[] | - -##### Returns - -`WebSocket` - -#### Type declaration - -| Name | Type | -| :----------- | :---------- | -| `prototype` | `WebSocket` | -| `CONNECTING` | `0` | -| `OPEN` | `1` | -| `CLOSING` | `2` | -| `CLOSED` | `3` | - -#### Defined in - -[src/channel/ws/ws_0_8.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L122) - ---- - -### activeSubscriptions - -• `Private` **activeSubscriptions**: `Map`<`string`, [`Subscription`](Subscription.md)<`any`\>\> - -#### Defined in - -[src/channel/ws/ws_0_8.ts:125](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L125) - ---- - -### maxBufferSize - -• `Private` `Readonly` **maxBufferSize**: `number` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L127) - ---- - -### autoReconnect - -• `Private` `Readonly` **autoReconnect**: `boolean` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:129](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L129) - ---- - -### reconnectOptions - -• `Private` `Readonly` **reconnectOptions**: `Required`<`ReconnectOptions`\> - -#### Defined in - -[src/channel/ws/ws_0_8.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L131) - ---- - -### requestTimeout - -• `Private` `Readonly` **requestTimeout**: `number` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L133) - ---- - -### isReconnecting - -• `Private` **isReconnecting**: `boolean` = `false` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L135) - ---- - -### reconnectAttempts - -• `Private` **reconnectAttempts**: `number` = `0` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:137](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L137) - ---- - -### userInitiatedClose - -• `Private` **userInitiatedClose**: `boolean` = `false` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:139](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L139) - ---- - -### reconnectTimeoutId - -• `Private` **reconnectTimeoutId**: `null` \| `Timeout` = `null` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:141](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L141) - ---- - -### requestQueue - -• `Private` **requestQueue**: \{ `method`: `string` ; `params?`: `object` ; `resolve`: (`value`: `any`) => `void` ; `reject`: (`reason?`: `any`) => `void` }[] = `[]` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L143) - ---- - -### events - -• `Private` **events**: `EventEmitter`<`WebSocketChannelEvents`\> - -#### Defined in - -[src/channel/ws/ws_0_8.ts:150](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L150) - ---- - -### closeListener - -• `Private` **closeListener**: (`ev`: `CloseEvent`) => `void` - -#### Type declaration - -▸ (`ev`): `void` - -##### Parameters - -| Name | Type | -| :--- | :----------- | -| `ev` | `CloseEvent` | - -##### Returns - -`void` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:154](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L154) - ---- - -### messageListener - -• `Private` **messageListener**: (`event`: `MessageEvent`<`any`\>) => `void` - -#### Type declaration - -▸ (`event`): `void` - -##### Parameters - -| Name | Type | -| :------ | :--------------------- | -| `event` | `MessageEvent`<`any`\> | - -##### Returns - -`void` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L156) - ---- - -### sendId - -• `Private` **sendId**: `number` = `0` - -JSON RPC latest sent message ID. -The receiving message is expected to contain the same ID. - -#### Defined in - -[src/channel/ws/ws_0_8.ts:164](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L164) - -## Methods - -### openListener - -▸ **openListener**(`ev`): `void` - -#### Parameters - -| Name | Type | -| :--- | :------ | -| `ev` | `Event` | - -#### Returns - -`void` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:152](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L152) - ---- - -### errorListener - -▸ **errorListener**(`ev`): `void` - -#### Parameters - -| Name | Type | -| :--- | :------ | -| `ev` | `Event` | - -#### Returns - -`void` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:158](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L158) - ---- - -### idResolver - -▸ **idResolver**(`id?`): `number` - -#### Parameters - -| Name | Type | -| :---- | :------- | -| `id?` | `number` | - -#### Returns - -`number` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L189) - ---- - -### send - -▸ **send**(`method`, `params?`, `id?`): `number` - -Sends a JSON-RPC request over the WebSocket connection without waiting for a response. -This is a low-level method. Prefer `sendReceive` for most use cases. - -#### Parameters - -| Name | Type | Description | -| :-------- | :------- | :----------------------------------------------------------------------- | -| `method` | `string` | The RPC method name. | -| `params?` | `object` | The parameters for the RPC method. | -| `id?` | `number` | A specific request ID. If not provided, an auto-incrementing ID is used. | - -#### Returns - -`number` - -The ID of the sent request. - -**`Throws`** - -If the WebSocket is not connected. - -#### Defined in - -[src/channel/ws/ws_0_8.ts:206](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L206) - ---- - -### sendReceive - -▸ **sendReceive**<`T`\>(`method`, `params?`): `Promise`<`T`\> - -Sends a JSON-RPC request and returns a Promise that resolves with the result. -This method abstracts the request/response cycle over WebSockets. -If the connection is lost, it will queue the request and send it upon reconnection. - -#### Type parameters - -| Name | Type | Description | -| :--- | :---- | :------------------------------- | -| `T` | `any` | The expected type of the result. | - -#### Parameters - -| Name | Type | Description | -| :-------- | :------- | :--------------------------------- | -| `method` | `string` | The RPC method name. | -| `params?` | `object` | The parameters for the RPC method. | - -#### Returns - -`Promise`<`T`\> - -A Promise that resolves with the RPC response result. - -**`Throws`** - -If the request does not receive a response within the configured `requestTimeout`. - -**`Throws`** - -If the WebSocket is not connected and auto-reconnect is disabled. - -#### Defined in - -[src/channel/ws/ws_0_8.ts:235](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L235) - ---- - -### isConnected - -▸ **isConnected**(): `boolean` - -Checks if the WebSocket connection is currently open. - -#### Returns - -`boolean` - -`true` if the connection is open, `false` otherwise. - -#### Defined in - -[src/channel/ws/ws_0_8.ts:310](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L310) - ---- - -### waitForConnection - -▸ **waitForConnection**(): `Promise`<`number`\> - -Returns a Promise that resolves when the WebSocket connection is open. -Can be used to block execution until the connection is established. - -#### Returns - -`Promise`<`number`\> - -A Promise that resolves with the WebSocket's `readyState` when connected. - -**`Example`** - -```typescript -const channel = new WebSocketChannel({ nodeUrl: '...' }); -await channel.waitForConnection(); -console.log('Connected!'); -``` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:325](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L325) - ---- - -### disconnect - -▸ **disconnect**(`code?`, `reason?`): `void` - -Closes the WebSocket connection. -This method is user-initiated and will prevent automatic reconnection for this closure. - -#### Parameters - -| Name | Type | Description | -| :-------- | :------- | :------------------------------------- | -| `code?` | `number` | The WebSocket connection close code. | -| `reason?` | `string` | The WebSocket connection close reason. | - -#### Returns - -`void` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:346](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L346) - ---- - -### waitForDisconnection - -▸ **waitForDisconnection**(): `Promise`<`number` \| `Event`\> - -Returns a Promise that resolves when the WebSocket connection is closed. - -#### Returns - -`Promise`<`number` \| `Event`\> - -A Promise that resolves with the WebSocket's `readyState` or a `CloseEvent` when disconnected. - -#### Defined in - -[src/channel/ws/ws_0_8.ts:359](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L359) - ---- - -### unsubscribe - -▸ **unsubscribe**(`subscriptionId`): `Promise`<`boolean`\> - -Unsubscribes from a Starknet subscription. -It is recommended to use the `unsubscribe()` method on the `Subscription` object instead. - -#### Parameters - -| Name | Type | Description | -| :--------------- | :------- | :---------------------------------------------- | -| `subscriptionId` | `string` | The ID of the subscription to unsubscribe from. | - -#### Returns - -`Promise`<`boolean`\> - -A Promise that resolves with `true` if the unsubscription was successful. - -#### Defined in - -[src/channel/ws/ws_0_8.ts:379](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L379) - ---- - -### waitForUnsubscription - -▸ **waitForUnsubscription**(`targetId`): `Promise`<`void`\> - -Returns a Promise that resolves when a specific subscription is successfully unsubscribed. - -#### Parameters - -| Name | Type | Description | -| :--------- | :------- | :-------------------------------------- | -| `targetId` | `string` | The ID of the subscription to wait for. | - -#### Returns - -`Promise`<`void`\> - -**`Example`** - -```typescript -await channel.waitForUnsubscription(mySubscription.id); -console.log('Successfully unsubscribed.'); -``` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:399](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L399) - ---- - -### reconnect - -▸ **reconnect**(): `void` - -Manually initiates a reconnection attempt. -This creates a new WebSocket instance and re-establishes listeners. - -#### Returns - -`void` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:415](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L415) - ---- - -### \_processRequestQueue - -▸ **\_processRequestQueue**(): `void` - -#### Returns - -`void` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:425](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L425) - ---- - -### \_restoreSubscriptions - -▸ **\_restoreSubscriptions**(): `Promise`<`void`\> - -#### Returns - -`Promise`<`void`\> - -#### Defined in - -[src/channel/ws/ws_0_8.ts:433](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L433) - ---- - -### \_startReconnect - -▸ **\_startReconnect**(): `void` - -#### Returns - -`void` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:453](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L453) - ---- - -### onCloseProxy - -▸ **onCloseProxy**(`ev`): `void` - -#### Parameters - -| Name | Type | -| :--- | :----------- | -| `ev` | `CloseEvent` | - -#### Returns - -`void` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:495](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L495) - ---- - -### onMessageProxy - -▸ **onMessageProxy**(`event`): `void` - -#### Parameters - -| Name | Type | -| :------ | :--------------------- | -| `event` | `MessageEvent`<`any`\> | - -#### Returns - -`void` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:507](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L507) - ---- - -### subscribeNewHeads - -▸ **subscribeNewHeads**(`blockIdentifier?`): `Promise`<[`Subscription`](Subscription.md)<[`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header)\>\> - -Subscribes to new block headers. - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | -| `blockIdentifier?` | [`SubscriptionBlockIdentifier`](../namespaces/types.md#subscriptionblockidentifier) | The block to start receiving notifications from. Defaults to 'latest'. | - -#### Returns - -`Promise`<[`Subscription`](Subscription.md)<[`BLOCK_HEADER`](../namespaces/types.RPC.RPCSPEC08.API.md#block_header)\>\> - -A Promise that resolves with a `Subscription` object for new block headers. - -#### Defined in - -[src/channel/ws/ws_0_8.ts:546](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L546) - ---- - -### subscribeEvents - -▸ **subscribeEvents**(`fromAddress?`, `keys?`, `blockIdentifier?`): `Promise`<[`Subscription`](Subscription.md)<[`EMITTED_EVENT`](../namespaces/types.RPC.RPCSPEC08.API.md#emitted_event)\>\> - -Subscribes to events matching a given filter. - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | -| `fromAddress?` | [`BigNumberish`](../namespaces/types.md#bignumberish) | The contract address to filter by. | -| `keys?` | `string`[][] | The event keys to filter by. | -| `blockIdentifier?` | [`SubscriptionBlockIdentifier`](../namespaces/types.md#subscriptionblockidentifier) | The block to start receiving notifications from. Defaults to 'latest'. | - -#### Returns - -`Promise`<[`Subscription`](Subscription.md)<[`EMITTED_EVENT`](../namespaces/types.RPC.RPCSPEC08.API.md#emitted_event)\>\> - -A Promise that resolves with a `Subscription` object for the specified events. - -#### Defined in - -[src/channel/ws/ws_0_8.ts:566](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L566) - ---- - -### subscribeTransactionStatus - -▸ **subscribeTransactionStatus**(`transactionHash`, `blockIdentifier?`): `Promise`<[`Subscription`](Subscription.md)<[`NEW_TXN_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#new_txn_status)\>\> - -Subscribes to status updates for a specific transaction. - -#### Parameters - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------------------------------- | :----------------------------------------- | -| `transactionHash` | [`BigNumberish`](../namespaces/types.md#bignumberish) | The hash of the transaction to monitor. | -| `blockIdentifier?` | [`SubscriptionBlockIdentifier`](../namespaces/types.md#subscriptionblockidentifier) | The block context. Not typically required. | - -#### Returns - -`Promise`<[`Subscription`](Subscription.md)<[`NEW_TXN_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#new_txn_status)\>\> - -A Promise that resolves with a `Subscription` object for the transaction's status. - -#### Defined in - -[src/channel/ws/ws_0_8.ts:589](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L589) - ---- - -### subscribePendingTransaction - -▸ **subscribePendingTransaction**(`transactionDetails?`, `senderAddress?`): `Promise`<[`Subscription`](Subscription.md)<`string` \| [`TXN_WITH_HASH`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_with_hash)\>\> - -Subscribes to pending transactions. - -#### Parameters - -| Name | Type | Description | -| :-------------------- | :------------------------------------------------------ | :------------------------------------------------------------------------------------- | -| `transactionDetails?` | `boolean` | If `true`, the full transaction details are included. Defaults to `false` (hash only). | -| `senderAddress?` | [`BigNumberish`](../namespaces/types.md#bignumberish)[] | An array of sender addresses to filter by. | - -#### Returns - -`Promise`<[`Subscription`](Subscription.md)<`string` \| [`TXN_WITH_HASH`](../namespaces/types.RPC.RPCSPEC08.API.md#txn_with_hash)\>\> - -A Promise that resolves with a `Subscription` object for pending transactions. - -#### Defined in - -[src/channel/ws/ws_0_8.ts:610](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L610) - ---- - -### removeSubscription - -▸ **removeSubscription**(`id`): `void` - -Internal method to remove subscription from active map. - -#### Parameters - -| Name | Type | -| :--- | :------- | -| `id` | `string` | - -#### Returns - -`void` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:629](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L629) - ---- - -### on - -▸ **on**<`K`\>(`event`, `listener`): `void` - -Adds a listener for a given event. - -#### Type parameters - -| Name | Type | -| :--- | :------------------------------------- | -| `K` | extends keyof `WebSocketChannelEvents` | - -#### Parameters - -| Name | Type | Description | -| :--------- | :------------------------------------------------ | :---------------------------- | -| `event` | `K` | The event name. | -| `listener` | (`data`: `WebSocketChannelEvents`[`K`]) => `void` | The listener function to add. | - -#### Returns - -`void` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:638](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L638) - ---- - -### off - -▸ **off**<`K`\>(`event`, `listener`): `void` - -Removes a listener for a given event. - -#### Type parameters - -| Name | Type | -| :--- | :------------------------------------- | -| `K` | extends keyof `WebSocketChannelEvents` | - -#### Parameters - -| Name | Type | Description | -| :--------- | :------------------------------------------------ | :------------------------------- | -| `event` | `K` | The event name. | -| `listener` | (`data`: `WebSocketChannelEvents`[`K`]) => `void` | The listener function to remove. | - -#### Returns - -`void` - -#### Defined in - -[src/channel/ws/ws_0_8.ts:650](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L650) diff --git a/www/versioned_docs/version-7.6.2/API/classes/_category_.yml b/www/versioned_docs/version-7.6.2/API/classes/_category_.yml deleted file mode 100644 index 4ddfa3005..000000000 --- a/www/versioned_docs/version-7.6.2/API/classes/_category_.yml +++ /dev/null @@ -1,2 +0,0 @@ -label: 'Classes' -position: 3 diff --git a/www/versioned_docs/version-7.6.2/API/index.md b/www/versioned_docs/version-7.6.2/API/index.md deleted file mode 100644 index 9fc168060..000000000 --- a/www/versioned_docs/version-7.6.2/API/index.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -id: 'index' -title: 'Starknet.js API' -sidebar_label: 'Readme' -sidebar_position: 0 -custom_edit_url: null ---- - -This API is based on the [Starknet.js V3](https://github.com/starknet-io/starknet.js/discussions/102) Interface write up by [Janek](https://twitter.com/0xjanek) of [Argent](https://www.argent.xyz/) - -## Provider - -The Provider [**API**](./classes/Provider.md) allows you to interact with the Starknet network, without signing transactions or messages. - -Typically, these are _read_ calls on the blockchain. - -Guide is [**here**](../guides/connect_network.md). - -## Account - -An Account extends [`Provider`](./classes/Provider) and inherits all of its methods. - -It also introduces new methods that allow Accounts to create and verify signatures with a custom [`Signer`](./classes/Signer), declare and deploy Contract and deploy new Account - -This [**API**](./classes/Account.md) is the primary way to interact with an account contract on Starknet. - -Guide is [**here**](../guides/create_account.md). - -## Contract - -Contracts [**API**](./classes/Contract.md) can do data transformations in JavaScript based on an ABI. They can also call and invoke to Starknet through a provided Signer. - -Contracts allow you to transform Cairo values, like `Uint256` to `BigNumber`. It could also allow users to pass their own transformers, similar to `JSON.parse`. - -Guide is [**here**](../guides/create_contract.md). - -## Signer - -The Signer [**API**](./classes/Signer.md) allows you to sign transactions and messages, and also allows you to get the public key. - -## Utils - -Util functions are provided so you can use various low level functions in your application: - -### [elliptic curve](./namespaces/ec.md) - -### [hash](./namespaces/hash.md) - -### [num](./namespaces/num.md) - -### [encode](./namespaces/encode.md) - -### [merkle](./namespaces/merkle.md) - -### [shortString](./namespaces/shortString.md) - -### [stark](./namespaces/stark.md) - -### [uint256](./namespaces/uint256.md) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/_category_.yml b/www/versioned_docs/version-7.6.2/API/interfaces/_category_.yml deleted file mode 100644 index 8ad053b07..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/_category_.yml +++ /dev/null @@ -1,2 +0,0 @@ -label: 'Interfaces' -position: 4 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/ec.weierstrass.ProjConstructor.md b/www/versioned_docs/version-7.6.2/API/interfaces/ec.weierstrass.ProjConstructor.md deleted file mode 100644 index d16948bad..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/ec.weierstrass.ProjConstructor.md +++ /dev/null @@ -1,175 +0,0 @@ ---- -id: 'ec.weierstrass.ProjConstructor' -title: 'Interface: ProjConstructor' -sidebar_label: 'ProjConstructor' -custom_edit_url: null ---- - -[ec](../namespaces/ec.md).[weierstrass](../namespaces/ec.weierstrass.md).ProjConstructor - -## Type parameters - -| Name | -| :--- | -| `T` | - -## Hierarchy - -- `GroupConstructor`<[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\>\> - - ↳ **`ProjConstructor`** - -## Constructors - -### constructor - -• **new ProjConstructor**(`x`, `y`, `z`): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Parameters - -| Name | Type | -| :--- | :--- | -| `x` | `T` | -| `y` | `T` | -| `z` | `T` | - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Inherited from - -GroupConstructor\>.constructor - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:76 - -## Properties - -### BASE - -• **BASE**: [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Inherited from - -GroupConstructor.BASE - -#### Defined in - -node_modules/@noble/curves/esm/abstract/curve.d.ts:19 - ---- - -### ZERO - -• **ZERO**: [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Inherited from - -GroupConstructor.ZERO - -#### Defined in - -node_modules/@noble/curves/esm/abstract/curve.d.ts:20 - -## Methods - -### fromAffine - -▸ **fromAffine**(`p`): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Parameters - -| Name | Type | -| :--- | :----------------------------------------------------------------- | -| `p` | [`AffinePoint`](../namespaces/ec.weierstrass.md#affinepoint)<`T`\> | - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:77 - ---- - -### fromHex - -▸ **fromHex**(`hex`): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Parameters - -| Name | Type | -| :---- | :---- | -| `hex` | `Hex` | - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:78 - ---- - -### fromPrivateKey - -▸ **fromPrivateKey**(`privateKey`): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Parameters - -| Name | Type | -| :----------- | :-------- | -| `privateKey` | `PrivKey` | - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:79 - ---- - -### normalizeZ - -▸ **normalizeZ**(`points`): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\>[] - -#### Parameters - -| Name | Type | -| :------- | :--------------------------------------------------------- | -| `points` | [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\>[] | - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\>[] - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:80 - ---- - -### msm - -▸ **msm**(`points`, `scalars`): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Parameters - -| Name | Type | -| :-------- | :--------------------------------------------------------- | -| `points` | [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\>[] | -| `scalars` | `bigint`[] | - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:81 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/ec.weierstrass.ProjPointType.md b/www/versioned_docs/version-7.6.2/API/interfaces/ec.weierstrass.ProjPointType.md deleted file mode 100644 index 9c68e3805..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/ec.weierstrass.ProjPointType.md +++ /dev/null @@ -1,406 +0,0 @@ ---- -id: 'ec.weierstrass.ProjPointType' -title: 'Interface: ProjPointType' -sidebar_label: 'ProjPointType' -custom_edit_url: null ---- - -[ec](../namespaces/ec.md).[weierstrass](../namespaces/ec.weierstrass.md).ProjPointType - -### Design rationale for types - -- Interaction between classes from different curves should fail: - `k256.Point.BASE.add(p256.Point.BASE)` -- For this purpose we want to use `instanceof` operator, which is fast and works during runtime -- Different calls of `curve()` would return different classes - - `curve(params) !== curve(params)`: if somebody decided to monkey-patch their curve, - it won't affect others - -TypeScript can't infer types for classes created inside a function. Classes is one instance of nominative types in TypeScript and interfaces only check for shape, so it's hard to create unique type for every function call. - -We can use generic types via some param, like curve opts, but that would: 1. Enable interaction between `curve(params)` and `curve(params)` (curves of same params) -which is hard to debug. 2. Params can be generic and we can't enforce them to be constant value: -if somebody creates curve from non-constant params, -it would be allowed to interact with other curves with non-constant params - -TODO: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html#unique-symbol - -## Type parameters - -| Name | -| :--- | -| `T` | - -## Hierarchy - -- `Group`<[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\>\> - - ↳ **`ProjPointType`** - -## Properties - -### px - -• `Readonly` **px**: `T` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:58 - ---- - -### py - -• `Readonly` **py**: `T` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:59 - ---- - -### pz - -• `Readonly` **pz**: `T` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:60 - -## Accessors - -### x - -• `get` **x**(): `T` - -#### Returns - -`T` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:61 - ---- - -### y - -• `get` **y**(): `T` - -#### Returns - -`T` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:62 - -## Methods - -### multiply - -▸ **multiply**(`scalar`): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Parameters - -| Name | Type | -| :------- | :------- | -| `scalar` | `bigint` | - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Overrides - -Group.multiply - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:63 - ---- - -### toAffine - -▸ **toAffine**(`iz?`): [`AffinePoint`](../namespaces/ec.weierstrass.md#affinepoint)<`T`\> - -#### Parameters - -| Name | Type | -| :---- | :--- | -| `iz?` | `T` | - -#### Returns - -[`AffinePoint`](../namespaces/ec.weierstrass.md#affinepoint)<`T`\> - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:64 - ---- - -### isTorsionFree - -▸ **isTorsionFree**(): `boolean` - -#### Returns - -`boolean` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:65 - ---- - -### clearCofactor - -▸ **clearCofactor**(): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:66 - ---- - -### assertValidity - -▸ **assertValidity**(): `void` - -#### Returns - -`void` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:67 - ---- - -### hasEvenY - -▸ **hasEvenY**(): `boolean` - -#### Returns - -`boolean` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:68 - ---- - -### toRawBytes - -▸ **toRawBytes**(`isCompressed?`): `Uint8Array` - -#### Parameters - -| Name | Type | -| :-------------- | :-------- | -| `isCompressed?` | `boolean` | - -#### Returns - -`Uint8Array` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:69 - ---- - -### toHex - -▸ **toHex**(`isCompressed?`): `string` - -#### Parameters - -| Name | Type | -| :-------------- | :-------- | -| `isCompressed?` | `boolean` | - -#### Returns - -`string` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:70 - ---- - -### multiplyUnsafe - -▸ **multiplyUnsafe**(`scalar`): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Parameters - -| Name | Type | -| :------- | :------- | -| `scalar` | `bigint` | - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:71 - ---- - -### multiplyAndAddUnsafe - -▸ **multiplyAndAddUnsafe**(`Q`, `a`, `b`): `undefined` \| [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Parameters - -| Name | Type | -| :--- | :------------------------------------------------------- | -| `Q` | [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> | -| `a` | `bigint` | -| `b` | `bigint` | - -#### Returns - -`undefined` \| [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:72 - ---- - -### \_setWindowSize - -▸ **\_setWindowSize**(`windowSize`): `void` - -#### Parameters - -| Name | Type | -| :----------- | :------- | -| `windowSize` | `number` | - -#### Returns - -`void` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:73 - ---- - -### double - -▸ **double**(): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Inherited from - -Group.double - -#### Defined in - -node_modules/@noble/curves/esm/abstract/curve.d.ts:11 - ---- - -### negate - -▸ **negate**(): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Inherited from - -Group.negate - -#### Defined in - -node_modules/@noble/curves/esm/abstract/curve.d.ts:12 - ---- - -### add - -▸ **add**(`other`): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Parameters - -| Name | Type | -| :------ | :------------------------------------------------------- | -| `other` | [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> | - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Inherited from - -Group.add - -#### Defined in - -node_modules/@noble/curves/esm/abstract/curve.d.ts:13 - ---- - -### subtract - -▸ **subtract**(`other`): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Parameters - -| Name | Type | -| :------ | :------------------------------------------------------- | -| `other` | [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> | - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> - -#### Inherited from - -Group.subtract - -#### Defined in - -node_modules/@noble/curves/esm/abstract/curve.d.ts:14 - ---- - -### equals - -▸ **equals**(`other`): `boolean` - -#### Parameters - -| Name | Type | -| :------ | :------------------------------------------------------- | -| `other` | [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`T`\> | - -#### Returns - -`boolean` - -#### Inherited from - -Group.equals - -#### Defined in - -node_modules/@noble/curves/esm/abstract/curve.d.ts:15 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/ec.weierstrass.SignatureType.md b/www/versioned_docs/version-7.6.2/API/interfaces/ec.weierstrass.SignatureType.md deleted file mode 100644 index 87f24c80d..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/ec.weierstrass.SignatureType.md +++ /dev/null @@ -1,188 +0,0 @@ ---- -id: 'ec.weierstrass.SignatureType' -title: 'Interface: SignatureType' -sidebar_label: 'SignatureType' -custom_edit_url: null ---- - -[ec](../namespaces/ec.md).[weierstrass](../namespaces/ec.weierstrass.md).SignatureType - -## Properties - -### r - -• `Readonly` **r**: `bigint` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:152 - ---- - -### s - -• `Readonly` **s**: `bigint` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:153 - ---- - -### recovery - -• `Optional` `Readonly` **recovery**: `number` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:154 - -## Methods - -### assertValidity - -▸ **assertValidity**(): `void` - -#### Returns - -`void` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:155 - ---- - -### addRecoveryBit - -▸ **addRecoveryBit**(`recovery`): [`RecoveredSignatureType`](../namespaces/ec.weierstrass.md#recoveredsignaturetype) - -#### Parameters - -| Name | Type | -| :--------- | :------- | -| `recovery` | `number` | - -#### Returns - -[`RecoveredSignatureType`](../namespaces/ec.weierstrass.md#recoveredsignaturetype) - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:156 - ---- - -### hasHighS - -▸ **hasHighS**(): `boolean` - -#### Returns - -`boolean` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:157 - ---- - -### normalizeS - -▸ **normalizeS**(): [`SignatureType`](ec.weierstrass.SignatureType.md) - -#### Returns - -[`SignatureType`](ec.weierstrass.SignatureType.md) - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:158 - ---- - -### recoverPublicKey - -▸ **recoverPublicKey**(`msgHash`): [`ProjPointType`](ec.weierstrass.ProjPointType.md)<`bigint`\> - -#### Parameters - -| Name | Type | -| :-------- | :---- | -| `msgHash` | `Hex` | - -#### Returns - -[`ProjPointType`](ec.weierstrass.ProjPointType.md)<`bigint`\> - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:159 - ---- - -### toCompactRawBytes - -▸ **toCompactRawBytes**(): `Uint8Array` - -#### Returns - -`Uint8Array` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:160 - ---- - -### toCompactHex - -▸ **toCompactHex**(): `string` - -#### Returns - -`string` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:161 - ---- - -### toDERRawBytes - -▸ **toDERRawBytes**(`isCompressed?`): `Uint8Array` - -#### Parameters - -| Name | Type | -| :-------------- | :-------- | -| `isCompressed?` | `boolean` | - -#### Returns - -`Uint8Array` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:162 - ---- - -### toDERHex - -▸ **toDERHex**(`isCompressed?`): `string` - -#### Parameters - -| Name | Type | -| :-------------- | :-------- | -| `isCompressed?` | `boolean` | - -#### Returns - -`string` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:163 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.OutsideExecution.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.OutsideExecution.md deleted file mode 100644 index 55a1f6db3..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.OutsideExecution.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: 'types.OutsideExecution' -title: 'Interface: OutsideExecution' -sidebar_label: 'OutsideExecution' -custom_edit_url: null ---- - -[types](../namespaces/types.md).OutsideExecution - -## Properties - -### caller - -• **caller**: `string` - -#### Defined in - -[src/types/outsideExecution.ts:20](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L20) - ---- - -### nonce - -• **nonce**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/outsideExecution.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L21) - ---- - -### execute_after - -• **execute_after**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/outsideExecution.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L22) - ---- - -### execute_before - -• **execute_before**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/outsideExecution.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L23) - ---- - -### calls - -• **calls**: [`OutsideCall`](types.OutsideCall.md)[] - -#### Defined in - -[src/types/outsideExecution.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L24) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.OutsideTransaction.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.OutsideTransaction.md deleted file mode 100644 index f33a09779..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.OutsideTransaction.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -id: 'types.OutsideTransaction' -title: 'Interface: OutsideTransaction' -sidebar_label: 'OutsideTransaction' -custom_edit_url: null ---- - -[types](../namespaces/types.md).OutsideTransaction - -## Properties - -### outsideExecution - -• **outsideExecution**: [`OutsideExecution`](types.OutsideExecution.md) - -#### Defined in - -[src/types/outsideExecution.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L28) - ---- - -### signature - -• **signature**: [`Signature`](../namespaces/types.md#signature) - -#### Defined in - -[src/types/outsideExecution.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L29) - ---- - -### signerAddress - -• **signerAddress**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/outsideExecution.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L30) - ---- - -### version - -• **version**: `"0"` \| `"1"` \| `"2"` - -#### Defined in - -[src/types/outsideExecution.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L31) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.ProviderOptions.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.ProviderOptions.md deleted file mode 100644 index c6a7054f8..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.ProviderOptions.md +++ /dev/null @@ -1,197 +0,0 @@ ---- -id: 'types.ProviderOptions' -title: 'Interface: ProviderOptions' -sidebar_label: 'ProviderOptions' -custom_edit_url: null ---- - -[types](../namespaces/types.md).ProviderOptions - -## Hierarchy - -- [`RpcProviderOptions`](../namespaces/types.md#rpcprovideroptions) - - ↳ **`ProviderOptions`** - -## Properties - -### nodeUrl - -• `Optional` **nodeUrl**: `string` - -#### Inherited from - -RpcProviderOptions.nodeUrl - -#### Defined in - -[src/provider/types/configuration.type.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L13) - ---- - -### retries - -• `Optional` **retries**: `number` - -#### Inherited from - -RpcProviderOptions.retries - -#### Defined in - -[src/provider/types/configuration.type.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L14) - ---- - -### transactionRetryIntervalFallback - -• `Optional` **transactionRetryIntervalFallback**: `number` - -#### Inherited from - -RpcProviderOptions.transactionRetryIntervalFallback - -#### Defined in - -[src/provider/types/configuration.type.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L15) - ---- - -### headers - -• `Optional` **headers**: `object` - -#### Inherited from - -RpcProviderOptions.headers - -#### Defined in - -[src/provider/types/configuration.type.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L16) - ---- - -### blockIdentifier - -• `Optional` **blockIdentifier**: [`BlockIdentifier`](../namespaces/types.md#blockidentifier) - -#### Inherited from - -RpcProviderOptions.blockIdentifier - -#### Defined in - -[src/provider/types/configuration.type.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L17) - ---- - -### chainId - -• `Optional` **chainId**: `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` - -#### Inherited from - -RpcProviderOptions.chainId - -#### Defined in - -[src/provider/types/configuration.type.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L18) - ---- - -### specVersion - -• `Optional` **specVersion**: `"0.7.1"` \| `"0.8.1"` - -#### Inherited from - -RpcProviderOptions.specVersion - -#### Defined in - -[src/provider/types/configuration.type.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L19) - ---- - -### default - -• `Optional` **default**: `boolean` - -#### Inherited from - -RpcProviderOptions.default - -#### Defined in - -[src/provider/types/configuration.type.ts:20](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L20) - ---- - -### waitMode - -• `Optional` **waitMode**: `boolean` - -#### Inherited from - -RpcProviderOptions.waitMode - -#### Defined in - -[src/provider/types/configuration.type.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L21) - ---- - -### baseFetch - -• `Optional` **baseFetch**: (`input`: `RequestInfo` \| `URL`, `init?`: `RequestInit`) => `Promise`<`Response`\> - -#### Type declaration - -▸ (`input`, `init?`): `Promise`<`Response`\> - -##### Parameters - -| Name | Type | -| :------ | :--------------------- | -| `input` | `RequestInfo` \| `URL` | -| `init?` | `RequestInit` | - -##### Returns - -`Promise`<`Response`\> - -#### Inherited from - -RpcProviderOptions.baseFetch - -#### Defined in - -[src/provider/types/configuration.type.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L22) - ---- - -### feeMarginPercentage - -• `Optional` **feeMarginPercentage**: [`FeeMarginPercentage`](../namespaces/types.md#feemarginpercentage) - -#### Inherited from - -RpcProviderOptions.feeMarginPercentage - -#### Defined in - -[src/provider/types/configuration.type.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L23) - ---- - -### batch - -• `Optional` **batch**: `number` \| `false` - -#### Inherited from - -RpcProviderOptions.batch - -#### Defined in - -[src/provider/types/configuration.type.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L24) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.BLOCK_NOT_FOUND.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.BLOCK_NOT_FOUND.md deleted file mode 100644 index 4d466719a..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.BLOCK_NOT_FOUND.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.BLOCK_NOT_FOUND' -title: 'Interface: BLOCK_NOT_FOUND' -sidebar_label: 'BLOCK_NOT_FOUND' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).BLOCK_NOT_FOUND - -## Properties - -### code - -• **code**: `24` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:25 - ---- - -### message - -• **message**: `"Block not found"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:26 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_ALREADY_DECLARED.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_ALREADY_DECLARED.md deleted file mode 100644 index 9231fd532..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_ALREADY_DECLARED.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.CLASS_ALREADY_DECLARED' -title: 'Interface: CLASS_ALREADY_DECLARED' -sidebar_label: 'CLASS_ALREADY_DECLARED' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).CLASS_ALREADY_DECLARED - -## Properties - -### code - -• **code**: `51` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:76 - ---- - -### message - -• **message**: `"Class already declared"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:77 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_HASH_NOT_FOUND.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_HASH_NOT_FOUND.md deleted file mode 100644 index 46da35262..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_HASH_NOT_FOUND.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.CLASS_HASH_NOT_FOUND' -title: 'Interface: CLASS_HASH_NOT_FOUND' -sidebar_label: 'CLASS_HASH_NOT_FOUND' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).CLASS_HASH_NOT_FOUND - -## Properties - -### code - -• **code**: `28` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:37 - ---- - -### message - -• **message**: `"Class hash not found"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:38 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILATION_FAILED.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILATION_FAILED.md deleted file mode 100644 index bf5778862..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILATION_FAILED.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.COMPILATION_FAILED' -title: 'Interface: COMPILATION_FAILED' -sidebar_label: 'COMPILATION_FAILED' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).COMPILATION_FAILED - -## Properties - -### code - -• **code**: `56` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:97 - ---- - -### message - -• **message**: `"Compilation failed"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:98 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILED_CLASS_HASH_MISMATCH.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILED_CLASS_HASH_MISMATCH.md deleted file mode 100644 index c8fa6945f..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILED_CLASS_HASH_MISMATCH.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.COMPILED_CLASS_HASH_MISMATCH' -title: 'Interface: COMPILED_CLASS_HASH_MISMATCH' -sidebar_label: 'COMPILED_CLASS_HASH_MISMATCH' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).COMPILED_CLASS_HASH_MISMATCH - -## Properties - -### code - -• **code**: `60` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:113 - ---- - -### message - -• **message**: `"the compiled class hash did not match the one supplied in the transaction"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:114 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md deleted file mode 100644 index ad1c15135..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.CONTRACT_CLASS_SIZE_IS_TOO_LARGE' -title: 'Interface: CONTRACT_CLASS_SIZE_IS_TOO_LARGE' -sidebar_label: 'CONTRACT_CLASS_SIZE_IS_TOO_LARGE' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).CONTRACT_CLASS_SIZE_IS_TOO_LARGE - -## Properties - -### code - -• **code**: `57` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:101 - ---- - -### message - -• **message**: `"Contract class size it too large"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:102 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_ERROR.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_ERROR.md deleted file mode 100644 index 66e203c79..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_ERROR.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.CONTRACT_ERROR' -title: 'Interface: CONTRACT_ERROR' -sidebar_label: 'CONTRACT_ERROR' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).CONTRACT_ERROR - -## Properties - -### code - -• **code**: `40` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:61 - ---- - -### message - -• **message**: `"Contract error"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:62 - ---- - -### data - -• **data**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :------- | -| `revert_error` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:63 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_NOT_FOUND.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_NOT_FOUND.md deleted file mode 100644 index a0e8cc5b3..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_NOT_FOUND.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.CONTRACT_NOT_FOUND' -title: 'Interface: CONTRACT_NOT_FOUND' -sidebar_label: 'CONTRACT_NOT_FOUND' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).CONTRACT_NOT_FOUND - -## Properties - -### code - -• **code**: `20` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:13 - ---- - -### message - -• **message**: `"Contract not found"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:14 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.DUPLICATE_TX.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.DUPLICATE_TX.md deleted file mode 100644 index bd15a2de5..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.DUPLICATE_TX.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.DUPLICATE_TX' -title: 'Interface: DUPLICATE_TX' -sidebar_label: 'DUPLICATE_TX' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).DUPLICATE_TX - -## Properties - -### code - -• **code**: `59` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:109 - ---- - -### message - -• **message**: `"A transaction with the same hash already exists in the mempool"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:110 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.FAILED_TO_RECEIVE_TXN.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.FAILED_TO_RECEIVE_TXN.md deleted file mode 100644 index 96f6c520b..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.FAILED_TO_RECEIVE_TXN.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.FAILED_TO_RECEIVE_TXN' -title: 'Interface: FAILED_TO_RECEIVE_TXN' -sidebar_label: 'FAILED_TO_RECEIVE_TXN' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).FAILED_TO_RECEIVE_TXN - -## Properties - -### code - -• **code**: `1` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:2 - ---- - -### message - -• **message**: `"Failed to write transaction"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:3 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_ACCOUNT_BALANCE.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_ACCOUNT_BALANCE.md deleted file mode 100644 index f8a19c461..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_ACCOUNT_BALANCE.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_ACCOUNT_BALANCE' -title: 'Interface: INSUFFICIENT_ACCOUNT_BALANCE' -sidebar_label: 'INSUFFICIENT_ACCOUNT_BALANCE' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).INSUFFICIENT_ACCOUNT_BALANCE - -## Properties - -### code - -• **code**: `54` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:88 - ---- - -### message - -• **message**: `"Account balance is smaller than the transaction's max_fee"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:89 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_MAX_FEE.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_MAX_FEE.md deleted file mode 100644 index a1977ce02..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_MAX_FEE.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_MAX_FEE' -title: 'Interface: INSUFFICIENT_MAX_FEE' -sidebar_label: 'INSUFFICIENT_MAX_FEE' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).INSUFFICIENT_MAX_FEE - -## Properties - -### code - -• **code**: `53` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:84 - ---- - -### message - -• **message**: `"Max fee is smaller than the minimal transaction cost (validation plus fee transfer)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:85 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_BLOCK_HASH.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_BLOCK_HASH.md deleted file mode 100644 index 08975f94c..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_BLOCK_HASH.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.INVALID_BLOCK_HASH' -title: 'Interface: INVALID_BLOCK_HASH' -sidebar_label: 'INVALID_BLOCK_HASH' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).INVALID_BLOCK_HASH - -## Properties - -### code - -• **code**: `26` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:29 - ---- - -### message - -• **message**: `"Invalid block hash"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:30 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CALL_DATA.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CALL_DATA.md deleted file mode 100644 index 53e3fb9e8..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CALL_DATA.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.INVALID_CALL_DATA' -title: 'Interface: INVALID_CALL_DATA' -sidebar_label: 'INVALID_CALL_DATA' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).INVALID_CALL_DATA - -## Properties - -### code - -• **code**: `22` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:21 - ---- - -### message - -• **message**: `"Invalid call data"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:22 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CONTINUATION_TOKEN.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CONTINUATION_TOKEN.md deleted file mode 100644 index 5b3e01ea2..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CONTINUATION_TOKEN.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.INVALID_CONTINUATION_TOKEN' -title: 'Interface: INVALID_CONTINUATION_TOKEN' -sidebar_label: 'INVALID_CONTINUATION_TOKEN' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).INVALID_CONTINUATION_TOKEN - -## Properties - -### code - -• **code**: `33` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:53 - ---- - -### message - -• **message**: `"The supplied continuation token is invalid or unknown"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:54 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_MESSAGE_SELECTOR.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_MESSAGE_SELECTOR.md deleted file mode 100644 index 5affd8951..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_MESSAGE_SELECTOR.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.INVALID_MESSAGE_SELECTOR' -title: 'Interface: INVALID_MESSAGE_SELECTOR' -sidebar_label: 'INVALID_MESSAGE_SELECTOR' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).INVALID_MESSAGE_SELECTOR - -## Properties - -### code - -• **code**: `21` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:17 - ---- - -### message - -• **message**: `"Invalid message selector"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:18 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TRANSACTION_NONCE.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TRANSACTION_NONCE.md deleted file mode 100644 index 24f003275..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TRANSACTION_NONCE.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.INVALID_TRANSACTION_NONCE' -title: 'Interface: INVALID_TRANSACTION_NONCE' -sidebar_label: 'INVALID_TRANSACTION_NONCE' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).INVALID_TRANSACTION_NONCE - -## Properties - -### code - -• **code**: `52` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:80 - ---- - -### message - -• **message**: `"Invalid transaction nonce"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:81 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TXN_INDEX.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TXN_INDEX.md deleted file mode 100644 index 8d584c367..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TXN_INDEX.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.INVALID_TXN_INDEX' -title: 'Interface: INVALID_TXN_INDEX' -sidebar_label: 'INVALID_TXN_INDEX' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).INVALID_TXN_INDEX - -## Properties - -### code - -• **code**: `27` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:33 - ---- - -### message - -• **message**: `"Invalid transaction index in a block"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:34 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NON_ACCOUNT.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NON_ACCOUNT.md deleted file mode 100644 index fb0e299a7..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NON_ACCOUNT.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.NON_ACCOUNT' -title: 'Interface: NON_ACCOUNT' -sidebar_label: 'NON_ACCOUNT' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).NON_ACCOUNT - -## Properties - -### code - -• **code**: `58` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:105 - ---- - -### message - -• **message**: `"Sender address in not an account contract"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:106 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_BLOCKS.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_BLOCKS.md deleted file mode 100644 index dd452e53e..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_BLOCKS.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.NO_BLOCKS' -title: 'Interface: NO_BLOCKS' -sidebar_label: 'NO_BLOCKS' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).NO_BLOCKS - -## Properties - -### code - -• **code**: `32` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:49 - ---- - -### message - -• **message**: `"There are no blocks"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:50 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_TRACE_AVAILABLE.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_TRACE_AVAILABLE.md deleted file mode 100644 index 83f8e3397..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_TRACE_AVAILABLE.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.NO_TRACE_AVAILABLE' -title: 'Interface: NO_TRACE_AVAILABLE' -sidebar_label: 'NO_TRACE_AVAILABLE' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).NO_TRACE_AVAILABLE - -## Properties - -### code - -• **code**: `10` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:6 - ---- - -### message - -• **message**: `"No trace available for transaction"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:7 - ---- - -### data - -• **data**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :--------------------------- | -| `status` | `"REJECTED"` \| `"RECEIVED"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:8 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.PAGE_SIZE_TOO_BIG.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.PAGE_SIZE_TOO_BIG.md deleted file mode 100644 index 891bd64be..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.PAGE_SIZE_TOO_BIG.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.PAGE_SIZE_TOO_BIG' -title: 'Interface: PAGE_SIZE_TOO_BIG' -sidebar_label: 'PAGE_SIZE_TOO_BIG' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).PAGE_SIZE_TOO_BIG - -## Properties - -### code - -• **code**: `31` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:45 - ---- - -### message - -• **message**: `"Requested page size is too big"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:46 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TOO_MANY_KEYS_IN_FILTER.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TOO_MANY_KEYS_IN_FILTER.md deleted file mode 100644 index 980399268..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TOO_MANY_KEYS_IN_FILTER.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.TOO_MANY_KEYS_IN_FILTER' -title: 'Interface: TOO_MANY_KEYS_IN_FILTER' -sidebar_label: 'TOO_MANY_KEYS_IN_FILTER' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).TOO_MANY_KEYS_IN_FILTER - -## Properties - -### code - -• **code**: `34` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:57 - ---- - -### message - -• **message**: `"Too many keys provided in a filter"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:58 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TRANSACTION_EXECUTION_ERROR.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TRANSACTION_EXECUTION_ERROR.md deleted file mode 100644 index 1e1e76121..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TRANSACTION_EXECUTION_ERROR.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.TRANSACTION_EXECUTION_ERROR' -title: 'Interface: TRANSACTION_EXECUTION_ERROR' -sidebar_label: 'TRANSACTION_EXECUTION_ERROR' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).TRANSACTION_EXECUTION_ERROR - -## Properties - -### code - -• **code**: `41` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:68 - ---- - -### message - -• **message**: `"Transaction execution error"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:69 - ---- - -### data - -• **data**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------ | :------- | -| `transaction_index` | `number` | -| `execution_error` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:70 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TXN_HASH_NOT_FOUND.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TXN_HASH_NOT_FOUND.md deleted file mode 100644 index fdab0744e..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TXN_HASH_NOT_FOUND.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.TXN_HASH_NOT_FOUND' -title: 'Interface: TXN_HASH_NOT_FOUND' -sidebar_label: 'TXN_HASH_NOT_FOUND' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).TXN_HASH_NOT_FOUND - -## Properties - -### code - -• **code**: `29` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:41 - ---- - -### message - -• **message**: `"Transaction hash not found"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:42 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNEXPECTED_ERROR.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNEXPECTED_ERROR.md deleted file mode 100644 index c76601b1f..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNEXPECTED_ERROR.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.UNEXPECTED_ERROR' -title: 'Interface: UNEXPECTED_ERROR' -sidebar_label: 'UNEXPECTED_ERROR' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).UNEXPECTED_ERROR - -## Properties - -### code - -• **code**: `63` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:125 - ---- - -### message - -• **message**: `"An unexpected error occurred"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:126 - ---- - -### data - -• **data**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:127 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_CONTRACT_CLASS_VERSION.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_CONTRACT_CLASS_VERSION.md deleted file mode 100644 index 6c3607c6d..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_CONTRACT_CLASS_VERSION.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_CONTRACT_CLASS_VERSION' -title: 'Interface: UNSUPPORTED_CONTRACT_CLASS_VERSION' -sidebar_label: 'UNSUPPORTED_CONTRACT_CLASS_VERSION' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).UNSUPPORTED_CONTRACT_CLASS_VERSION - -## Properties - -### code - -• **code**: `62` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:121 - ---- - -### message - -• **message**: `"the contract class version is not supported"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:122 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_TX_VERSION.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_TX_VERSION.md deleted file mode 100644 index 4aa29c21e..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_TX_VERSION.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_TX_VERSION' -title: 'Interface: UNSUPPORTED_TX_VERSION' -sidebar_label: 'UNSUPPORTED_TX_VERSION' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).UNSUPPORTED_TX_VERSION - -## Properties - -### code - -• **code**: `61` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:117 - ---- - -### message - -• **message**: `"the transaction version is not supported"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:118 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.VALIDATION_FAILURE.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.VALIDATION_FAILURE.md deleted file mode 100644 index 829e000ef..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.API.Errors.VALIDATION_FAILURE.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors.VALIDATION_FAILURE' -title: 'Interface: VALIDATION_FAILURE' -sidebar_label: 'VALIDATION_FAILURE' -custom_edit_url: null ---- - -[API](../namespaces/types.RPC.RPCSPEC07.API.md).[Errors](../namespaces/types.RPC.RPCSPEC07.API.Errors.md).VALIDATION_FAILURE - -## Properties - -### code - -• **code**: `55` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:92 - ---- - -### message - -• **message**: `"Account validation failed"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:93 - ---- - -### data - -• **data**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/errors.d.ts:94 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md deleted file mode 100644 index 29ed63761..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.ACCOUNT_ALREADY_DEPLOYED' -title: 'Interface: ACCOUNT_ALREADY_DEPLOYED' -sidebar_label: 'ACCOUNT_ALREADY_DEPLOYED' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).ACCOUNT_ALREADY_DEPLOYED - -## Properties - -### code - -• **code**: `115` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:18 - ---- - -### message - -• **message**: `"An error occurred (ACCOUNT_ALREADY_DEPLOYED)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:19 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md deleted file mode 100644 index 990768e3c..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED' -title: 'Interface: API_VERSION_NOT_SUPPORTED' -sidebar_label: 'API_VERSION_NOT_SUPPORTED' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).API_VERSION_NOT_SUPPORTED - -## Properties - -### code - -• **code**: `162` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:22 - ---- - -### message - -• **message**: `"An error occurred (API_VERSION_NOT_SUPPORTED)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:23 - ---- - -### data - -• **data**: `"string"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:24 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AccountDeploymentData.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AccountDeploymentData.md deleted file mode 100644 index c41bc549a..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AccountDeploymentData.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.AccountDeploymentData' -title: 'Interface: AccountDeploymentData' -sidebar_label: 'AccountDeploymentData' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).AccountDeploymentData - -SPEC: ACCOUNT_DEPLOYMENT_DATA - -## Properties - -### address - -• **address**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:119 - ---- - -### class_hash - -• **class_hash**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:120 - ---- - -### salt - -• **salt**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:121 - ---- - -### calldata - -• **calldata**: `string`[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:122 - ---- - -### sigdata - -• `Optional` **sigdata**: `string`[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:123 - ---- - -### version - -• **version**: `0` \| `1` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:124 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionParameters.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionParameters.md deleted file mode 100644 index 4e88f4939..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionParameters.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionParameters' -title: 'Interface: AddDeclareTransactionParameters' -sidebar_label: 'AddDeclareTransactionParameters' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).AddDeclareTransactionParameters - -SPEC: DECLARE_TXN - -## Properties - -### compiled_class_hash - -• **compiled_class_hash**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:75 - ---- - -### class_hash - -• `Optional` **class_hash**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:76 - ---- - -### contract_class - -• **contract_class**: [`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#contract_class) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:77 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md deleted file mode 100644 index 0ec7cdbc9..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult' -title: 'Interface: AddDeclareTransactionResult' -sidebar_label: 'AddDeclareTransactionResult' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).AddDeclareTransactionResult - -## Properties - -### transaction_hash - -• **transaction_hash**: `string` - -The hash of the declare transaction - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:83 - ---- - -### class_hash - -• **class_hash**: `string` - -The hash of the declared class - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:87 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionParameters.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionParameters.md deleted file mode 100644 index 3f4b17816..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionParameters.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionParameters' -title: 'Interface: AddInvokeTransactionParameters' -sidebar_label: 'AddInvokeTransactionParameters' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).AddInvokeTransactionParameters - -INVOKE_TXN_V1 - -**`See`** - -https://github.com/starkware-libs/starknet-specs/blob/master/api/starknet_api_openrpc.json - -## Properties - -### calls - -• **calls**: [`Call`](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md#call)[] - -Calls to invoke by the account - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:63 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md deleted file mode 100644 index 8b44b09f4..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult' -title: 'Interface: AddInvokeTransactionResult' -sidebar_label: 'AddInvokeTransactionResult' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).AddInvokeTransactionResult - -## Properties - -### transaction_hash - -• **transaction_hash**: `string` - -The hash of the invoke transaction - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:69 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddStarknetChainParameters.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddStarknetChainParameters.md deleted file mode 100644 index 2a4de1872..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddStarknetChainParameters.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.AddStarknetChainParameters' -title: 'Interface: AddStarknetChainParameters' -sidebar_label: 'AddStarknetChainParameters' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).AddStarknetChainParameters - -EIP-3085: - -**`See`** - -https://github.com/ethereum/EIPs/blob/master/EIPS/eip-3085.md - -## Hierarchy - -- [`StarknetChain`](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md#starknetchain) - - ↳ **`AddStarknetChainParameters`** - -## Properties - -### id - -• **id**: `string` - -#### Inherited from - -StarknetChain.id - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:42 - ---- - -### chain_id - -• **chain_id**: `string` - -#### Inherited from - -StarknetChain.chain_id - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:43 - ---- - -### chain_name - -• **chain_name**: `string` - -#### Inherited from - -StarknetChain.chain_name - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:44 - ---- - -### rpc_urls - -• `Optional` **rpc_urls**: `string`[] - -#### Inherited from - -StarknetChain.rpc_urls - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:45 - ---- - -### block_explorer_url - -• `Optional` **block_explorer_url**: `string`[] - -#### Inherited from - -StarknetChain.block_explorer_url - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:46 - ---- - -### native_currency - -• `Optional` **native_currency**: [`Asset`](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md#asset) - -#### Inherited from - -StarknetChain.native_currency - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:47 - ---- - -### icon_urls - -• `Optional` **icon_urls**: `string`[] - -#### Inherited from - -StarknetChain.icon_urls - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:48 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md deleted file mode 100644 index 586729bef..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest' -title: 'Interface: ApiVersionRequest' -sidebar_label: 'ApiVersionRequest' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).ApiVersionRequest - -The version of wallet API the request expecting. If not specified, the latest is assumed - -## Properties - -### api_version - -• `Optional` **api_version**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:131 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md deleted file mode 100644 index ed8e262e6..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD' -title: 'Interface: INVALID_REQUEST_PAYLOAD' -sidebar_label: 'INVALID_REQUEST_PAYLOAD' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).INVALID_REQUEST_PAYLOAD - -## Properties - -### code - -• **code**: `114` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:14 - ---- - -### message - -• **message**: `"An error occurred (INVALID_REQUEST_PAYLOAD)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:15 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.NOT_ERC20.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.NOT_ERC20.md deleted file mode 100644 index a0ee55846..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.NOT_ERC20.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.NOT_ERC20' -title: 'Interface: NOT_ERC20' -sidebar_label: 'NOT_ERC20' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).NOT_ERC20 - -## Properties - -### code - -• **code**: `111` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:2 - ---- - -### message - -• **message**: `"An error occurred (NOT_ERC20)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:3 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RequestAccountsParameters.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RequestAccountsParameters.md deleted file mode 100644 index 47d19a68b..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RequestAccountsParameters.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.RequestAccountsParameters' -title: 'Interface: RequestAccountsParameters' -sidebar_label: 'RequestAccountsParameters' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).RequestAccountsParameters - -EIP-1102: - -**`See`** - -https://eips.ethereum.org/EIPS/eip-1102 - -## Properties - -### silent_mode - -• `Optional` **silent_mode**: `boolean` - -If true, the wallet will not show the wallet-unlock UI in case of a locked wallet, -nor the dApp-approve UI in case of a non-allowed dApp. - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:98 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md deleted file mode 100644 index 5c83f6d1f..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md +++ /dev/null @@ -1,277 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap' -title: 'Interface: RpcTypeToMessageMap' -sidebar_label: 'RpcTypeToMessageMap' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).RpcTypeToMessageMap - -Maps each RPC message type to its corresponding parameters and result type. - -## Properties - -### wallet_getPermissions - -• **wallet_getPermissions**: `Object` - -Get permissions from the wallet. - -#### Type declaration - -| Name | Type | -| :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params?` | [`ApiVersionRequest`](types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md) | -| `result` | [] \| `"accounts"`[] | -| `errors` | [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:14 - ---- - -### wallet_requestAccounts - -• **wallet_requestAccounts**: `Object` - -Request active accounts from the wallet. - -**`Param`** - -Optional parameters for requesting accounts. - -#### Type declaration - -| Name | Type | -| :-------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params?` | [`RequestAccountsParameters`](types.RPC.RPCSPEC07.WALLET_API.RequestAccountsParameters.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md) | -| `result` | `string`[] | -| `errors` | [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:24 - ---- - -### wallet_watchAsset - -• **wallet_watchAsset**: `Object` - -Watch an asset in the wallet. - -**`Param`** - -The parameters required to watch an asset. - -#### Type declaration - -| Name | Type | -| :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params` | [`WatchAssetParameters`](types.RPC.RPCSPEC07.WALLET_API.WatchAssetParameters.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md) | -| `result` | `boolean` | -| `errors` | [`NOT_ERC20`](types.RPC.RPCSPEC07.WALLET_API.NOT_ERC20.md) \| [`USER_REFUSED_OP`](types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md) \| [`INVALID_REQUEST_PAYLOAD`](types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:34 - ---- - -### wallet_addStarknetChain - -• **wallet_addStarknetChain**: `Object` - -Add a new Starknet chain to the wallet. - -**`Param`** - -The parameters required to add a new chain. - -#### Type declaration - -| Name | Type | -| :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params` | [`AddStarknetChainParameters`](types.RPC.RPCSPEC07.WALLET_API.AddStarknetChainParameters.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md) | -| `result` | `boolean` | -| `errors` | [`USER_REFUSED_OP`](types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md) \| [`INVALID_REQUEST_PAYLOAD`](types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:44 - ---- - -### wallet_switchStarknetChain - -• **wallet_switchStarknetChain**: `Object` - -Switch the current Starknet chain in the wallet. - -**`Param`** - -The parameters required to switch chains. - -#### Type declaration - -| Name | Type | -| :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params` | [`SwitchStarknetChainParameters`](types.RPC.RPCSPEC07.WALLET_API.SwitchStarknetChainParameters.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md) | -| `result` | `boolean` | -| `errors` | [`UNLISTED_NETWORK`](types.RPC.RPCSPEC07.WALLET_API.UNLISTED_NETWORK.md) \| [`USER_REFUSED_OP`](types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:54 - ---- - -### wallet_requestChainId - -• **wallet_requestChainId**: `Object` - -Request the current chain ID from the wallet. - -#### Type declaration - -| Name | Type | -| :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params?` | [`ApiVersionRequest`](types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md) | -| `result` | `string` | -| `errors` | [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:63 - ---- - -### wallet_deploymentData - -• **wallet_deploymentData**: `Object` - -Get deployment data for a contract. - -#### Type declaration - -| Name | Type | -| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params?` | [`ApiVersionRequest`](types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md) | -| `result` | [`AccountDeploymentData`](types.RPC.RPCSPEC07.WALLET_API.AccountDeploymentData.md) | -| `errors` | [`ACCOUNT_ALREADY_DEPLOYED`](types.RPC.RPCSPEC07.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:72 - ---- - -### wallet_addInvokeTransaction - -• **wallet_addInvokeTransaction**: `Object` - -Add an invoke transaction to the wallet. - -**`Param`** - -The parameters required for the invoke transaction. - -#### Type declaration - -| Name | Type | -| :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params` | [`AddInvokeTransactionParameters`](types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionParameters.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md) | -| `result` | [`AddInvokeTransactionResult`](types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md) | -| `errors` | [`USER_REFUSED_OP`](types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md) \| [`INVALID_REQUEST_PAYLOAD`](types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:82 - ---- - -### wallet_addDeclareTransaction - -• **wallet_addDeclareTransaction**: `Object` - -Add a declare transaction to the wallet. - -**`Param`** - -The parameters required for the declare transaction. - -#### Type declaration - -| Name | Type | -| :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params` | [`AddDeclareTransactionParameters`](types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionParameters.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md) | -| `result` | [`AddDeclareTransactionResult`](types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md) | -| `errors` | [`USER_REFUSED_OP`](types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md) \| [`INVALID_REQUEST_PAYLOAD`](types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:92 - ---- - -### wallet_signTypedData - -• **wallet_signTypedData**: `Object` - -Sign typed data using the wallet. - -**`Param`** - -The typed data to sign. - -#### Type declaration - -| Name | Type | -| :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params` | [`TypedData`](types.RPC.RPCSPEC07.WALLET_API.TypedData.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md) | -| `result` | [`SIGNATURE`](../namespaces/types.RPC.RPCSPEC07.API.SPEC.md#signature) | -| `errors` | [`USER_REFUSED_OP`](types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md) \| [`INVALID_REQUEST_PAYLOAD`](types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:102 - ---- - -### wallet_supportedSpecs - -• **wallet_supportedSpecs**: `Object` - -Get the list of supported RPC specification versions. - -#### Type declaration - -| Name | Type | -| :-------- | :---------- | -| `params?` | `undefined` | -| `result` | `string`[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:111 - ---- - -### wallet_supportedWalletApi - -• **wallet_supportedWalletApi**: `Object` - -Returns a list of wallet api versions compatible with the wallet. -Notice this might be different from Starknet JSON-RPC spec - -#### Type declaration - -| Name | Type | -| :-------- | :---------- | -| `params?` | `undefined` | -| `result` | `string`[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:120 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetDomain.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetDomain.md deleted file mode 100644 index bf8fa3c1d..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetDomain.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.StarknetDomain' -title: 'Interface: StarknetDomain' -sidebar_label: 'StarknetDomain' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).StarknetDomain - -The EIP712 domain struct. Any of these fields are optional, but it must contain at least one field. - -## Hierarchy - -- `Record`<`string`, `unknown`\> - - ↳ **`StarknetDomain`** - -## Properties - -### name - -• `Optional` **name**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:30 - ---- - -### version - -• `Optional` **version**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:31 - ---- - -### chainId - -• `Optional` **chainId**: `string` \| `number` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:32 - ---- - -### revision - -• `Optional` **revision**: `string` \| `number` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:33 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md deleted file mode 100644 index c088610aa..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject' -title: 'Interface: StarknetWindowObject' -sidebar_label: 'StarknetWindowObject' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).StarknetWindowObject - -## Properties - -### id - -• **id**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/StarknetWindowObject.d.ts:4 - ---- - -### name - -• **name**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/StarknetWindowObject.d.ts:5 - ---- - -### version - -• **version**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/StarknetWindowObject.d.ts:6 - ---- - -### icon - -• **icon**: `string` \| \{ `dark`: `string` ; `light`: `string` } - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/StarknetWindowObject.d.ts:7 - ---- - -### request - -• **request**: [`RequestFn`](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md#requestfn) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/StarknetWindowObject.d.ts:11 - ---- - -### on - -• **on**: [`WalletEventListener`](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md#walleteventlistener) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/StarknetWindowObject.d.ts:12 - ---- - -### off - -• **off**: [`WalletEventListener`](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md#walleteventlistener) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/StarknetWindowObject.d.ts:13 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.SwitchStarknetChainParameters.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.SwitchStarknetChainParameters.md deleted file mode 100644 index 194f5f651..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.SwitchStarknetChainParameters.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.SwitchStarknetChainParameters' -title: 'Interface: SwitchStarknetChainParameters' -sidebar_label: 'SwitchStarknetChainParameters' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).SwitchStarknetChainParameters - -## Properties - -### chainId - -• **chainId**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:113 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md deleted file mode 100644 index 33e629c56..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.TypedData' -title: 'Interface: TypedData' -sidebar_label: 'TypedData' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).TypedData - -SPEC: TYPED_DATA -The complete typed data, with all the structs, domain data, primary type of the message, and the message itself. - -## Properties - -### types - -• **types**: `Record`<`string`, [`StarknetType`](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md#starknettype)[]\> - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:40 - ---- - -### primaryType - -• **primaryType**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:41 - ---- - -### domain - -• **domain**: [`StarknetDomain`](types.RPC.RPCSPEC07.WALLET_API.StarknetDomain.md) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:42 - ---- - -### message - -• **message**: `object` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:43 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md deleted file mode 100644 index 53724c47e..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR' -title: 'Interface: UNKNOWN_ERROR' -sidebar_label: 'UNKNOWN_ERROR' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).UNKNOWN_ERROR - -## Properties - -### code - -• **code**: `163` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:27 - ---- - -### message - -• **message**: `"An error occurred (UNKNOWN_ERROR)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:28 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNLISTED_NETWORK.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNLISTED_NETWORK.md deleted file mode 100644 index a2c4b3cbb..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNLISTED_NETWORK.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.UNLISTED_NETWORK' -title: 'Interface: UNLISTED_NETWORK' -sidebar_label: 'UNLISTED_NETWORK' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).UNLISTED_NETWORK - -## Properties - -### code - -• **code**: `112` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:6 - ---- - -### message - -• **message**: `"An error occurred (UNLISTED_NETWORK)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:7 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md deleted file mode 100644 index 7189c7969..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP' -title: 'Interface: USER_REFUSED_OP' -sidebar_label: 'USER_REFUSED_OP' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).USER_REFUSED_OP - -## Properties - -### code - -• **code**: `113` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:10 - ---- - -### message - -• **message**: `"An error occurred (USER_REFUSED_OP)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/errors.d.ts:11 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers.md deleted file mode 100644 index d8b21acd9..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers' -title: 'Interface: WalletEventHandlers' -sidebar_label: 'WalletEventHandlers' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).WalletEventHandlers - -## Properties - -### accountsChanged - -• **accountsChanged**: [`AccountChangeEventHandler`](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md#accountchangeeventhandler) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/events.d.ts:5 - ---- - -### networkChanged - -• **networkChanged**: [`NetworkChangeEventHandler`](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md#networkchangeeventhandler) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/events.d.ts:6 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WatchAssetParameters.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WatchAssetParameters.md deleted file mode 100644 index 5047905da..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WatchAssetParameters.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API.WatchAssetParameters' -title: 'Interface: WatchAssetParameters' -sidebar_label: 'WatchAssetParameters' -custom_edit_url: null ---- - -[RPCSPEC07](../namespaces/types.RPC.RPCSPEC07.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md).WatchAssetParameters - -EIP-747: - -**`See`** - -https://github.com/ethereum/EIPs/blob/master/EIPS/eip-747.md - -## Hierarchy - -- [`Asset`](../namespaces/types.RPC.RPCSPEC07.WALLET_API.md#asset) - - ↳ **`WatchAssetParameters`** - -## Properties - -### type - -• **type**: `"ERC20"` - -#### Inherited from - -Asset.type - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:32 - ---- - -### options - -• **options**: `Object` - -#### Type declaration - -| Name | Type | -| :---------- | :------- | -| `address` | `string` | -| `symbol?` | `string` | -| `decimals?` | `number` | -| `image?` | `string` | -| `name?` | `string` | - -#### Inherited from - -Asset.options - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:33 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md deleted file mode 100644 index 1f6bc1818..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND' -title: 'Interface: BLOCK_NOT_FOUND' -sidebar_label: 'BLOCK_NOT_FOUND' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).BLOCK_NOT_FOUND - -## Properties - -### code - -• **code**: `24` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:23 - ---- - -### message - -• **message**: `"Block not found"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:24 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_ALREADY_DECLARED.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_ALREADY_DECLARED.md deleted file mode 100644 index 63d001544..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_ALREADY_DECLARED.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.CLASS_ALREADY_DECLARED' -title: 'Interface: CLASS_ALREADY_DECLARED' -sidebar_label: 'CLASS_ALREADY_DECLARED' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).CLASS_ALREADY_DECLARED - -## Properties - -### code - -• **code**: `51` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:77 - ---- - -### message - -• **message**: `"Class already declared"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:78 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_HASH_NOT_FOUND.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_HASH_NOT_FOUND.md deleted file mode 100644 index 8e3eeb3e8..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_HASH_NOT_FOUND.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.CLASS_HASH_NOT_FOUND' -title: 'Interface: CLASS_HASH_NOT_FOUND' -sidebar_label: 'CLASS_HASH_NOT_FOUND' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).CLASS_HASH_NOT_FOUND - -## Properties - -### code - -• **code**: `28` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:31 - ---- - -### message - -• **message**: `"Class hash not found"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:32 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_ERROR.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_ERROR.md deleted file mode 100644 index 379fb5945..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_ERROR.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.COMPILATION_ERROR' -title: 'Interface: COMPILATION_ERROR' -sidebar_label: 'COMPILATION_ERROR' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).COMPILATION_ERROR - -## Properties - -### code - -• **code**: `100` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:144 - ---- - -### message - -• **message**: `"Failed to compile the contract"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:145 - ---- - -### data - -• **data**: `Object` - -"More data about the compilation failure - -#### Type declaration - -| Name | Type | -| :------------------ | :------- | -| `compilation_error` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:149 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_FAILED.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_FAILED.md deleted file mode 100644 index a8401e025..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_FAILED.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.COMPILATION_FAILED' -title: 'Interface: COMPILATION_FAILED' -sidebar_label: 'COMPILATION_FAILED' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).COMPILATION_FAILED - -## Properties - -### code - -• **code**: `56` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:98 - ---- - -### message - -• **message**: `"Compilation failed"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:99 - ---- - -### data - -• **data**: `"string"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:100 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.COMPILED_CLASS_HASH_MISMATCH.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.COMPILED_CLASS_HASH_MISMATCH.md deleted file mode 100644 index 6b00c20b1..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.COMPILED_CLASS_HASH_MISMATCH.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.COMPILED_CLASS_HASH_MISMATCH' -title: 'Interface: COMPILED_CLASS_HASH_MISMATCH' -sidebar_label: 'COMPILED_CLASS_HASH_MISMATCH' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).COMPILED_CLASS_HASH_MISMATCH - -## Properties - -### code - -• **code**: `60` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:115 - ---- - -### message - -• **message**: `"the compiled class hash did not match the one supplied in the transaction"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:116 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md deleted file mode 100644 index 2502c435d..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.CONTRACT_CLASS_SIZE_IS_TOO_LARGE' -title: 'Interface: CONTRACT_CLASS_SIZE_IS_TOO_LARGE' -sidebar_label: 'CONTRACT_CLASS_SIZE_IS_TOO_LARGE' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).CONTRACT_CLASS_SIZE_IS_TOO_LARGE - -## Properties - -### code - -• **code**: `57` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:103 - ---- - -### message - -• **message**: `"Contract class size it too large"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:104 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_ERROR.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_ERROR.md deleted file mode 100644 index c0ee4d4ec..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_ERROR.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.CONTRACT_ERROR' -title: 'Interface: CONTRACT_ERROR' -sidebar_label: 'CONTRACT_ERROR' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).CONTRACT_ERROR - -## Properties - -### code - -• **code**: `40` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:55 - ---- - -### message - -• **message**: `"Contract error"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:56 - ---- - -### data - -• **data**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :------------- | :---------------------------------------------------------------------------------------------------------- | :--------------------------------------------- | -| `revert_error` | [`CONTRACT_EXECUTION_ERROR_INNER`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_execution_error_inner) | the execution trace up to the point of failure | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:57 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_NOT_FOUND.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_NOT_FOUND.md deleted file mode 100644 index 3bddf3492..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_NOT_FOUND.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.CONTRACT_NOT_FOUND' -title: 'Interface: CONTRACT_NOT_FOUND' -sidebar_label: 'CONTRACT_NOT_FOUND' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).CONTRACT_NOT_FOUND - -## Properties - -### code - -• **code**: `20` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:15 - ---- - -### message - -• **message**: `"Contract not found"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:16 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.DUPLICATE_TX.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.DUPLICATE_TX.md deleted file mode 100644 index aa8cbf3aa..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.DUPLICATE_TX.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.DUPLICATE_TX' -title: 'Interface: DUPLICATE_TX' -sidebar_label: 'DUPLICATE_TX' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).DUPLICATE_TX - -## Properties - -### code - -• **code**: `59` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:111 - ---- - -### message - -• **message**: `"A transaction with the same hash already exists in the mempool"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:112 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.ENTRYPOINT_NOT_FOUND.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.ENTRYPOINT_NOT_FOUND.md deleted file mode 100644 index a2fdfd23a..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.ENTRYPOINT_NOT_FOUND.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.ENTRYPOINT_NOT_FOUND' -title: 'Interface: ENTRYPOINT_NOT_FOUND' -sidebar_label: 'ENTRYPOINT_NOT_FOUND' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).ENTRYPOINT_NOT_FOUND - -## Properties - -### code - -• **code**: `21` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:19 - ---- - -### message - -• **message**: `"Requested entrypoint does not exist in the contract"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:20 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.FAILED_TO_RECEIVE_TXN.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.FAILED_TO_RECEIVE_TXN.md deleted file mode 100644 index 4f583c055..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.FAILED_TO_RECEIVE_TXN.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.FAILED_TO_RECEIVE_TXN' -title: 'Interface: FAILED_TO_RECEIVE_TXN' -sidebar_label: 'FAILED_TO_RECEIVE_TXN' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).FAILED_TO_RECEIVE_TXN - -## Properties - -### code - -• **code**: `1` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:4 - ---- - -### message - -• **message**: `"Failed to write transaction"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:5 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_ACCOUNT_BALANCE.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_ACCOUNT_BALANCE.md deleted file mode 100644 index 1f65613b1..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_ACCOUNT_BALANCE.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.INSUFFICIENT_ACCOUNT_BALANCE' -title: 'Interface: INSUFFICIENT_ACCOUNT_BALANCE' -sidebar_label: 'INSUFFICIENT_ACCOUNT_BALANCE' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).INSUFFICIENT_ACCOUNT_BALANCE - -## Properties - -### code - -• **code**: `54` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:89 - ---- - -### message - -• **message**: `"Account balance is smaller than the transaction's max_fee"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:90 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_RESOURCES_FOR_VALIDATE.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_RESOURCES_FOR_VALIDATE.md deleted file mode 100644 index dd9f866ee..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_RESOURCES_FOR_VALIDATE.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.INSUFFICIENT_RESOURCES_FOR_VALIDATE' -title: 'Interface: INSUFFICIENT_RESOURCES_FOR_VALIDATE' -sidebar_label: 'INSUFFICIENT_RESOURCES_FOR_VALIDATE' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).INSUFFICIENT_RESOURCES_FOR_VALIDATE - -## Properties - -### code - -• **code**: `53` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:85 - ---- - -### message - -• **message**: `"The transaction's resources don't cover validation or the minimal transaction fee"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:86 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_CONTINUATION_TOKEN.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_CONTINUATION_TOKEN.md deleted file mode 100644 index e48af3e91..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_CONTINUATION_TOKEN.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.INVALID_CONTINUATION_TOKEN' -title: 'Interface: INVALID_CONTINUATION_TOKEN' -sidebar_label: 'INVALID_CONTINUATION_TOKEN' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).INVALID_CONTINUATION_TOKEN - -## Properties - -### code - -• **code**: `33` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:47 - ---- - -### message - -• **message**: `"The supplied continuation token is invalid or unknown"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:48 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID.md deleted file mode 100644 index 4b1bafcc5..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID' -title: 'Interface: INVALID_SUBSCRIPTION_ID' -sidebar_label: 'INVALID_SUBSCRIPTION_ID' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).INVALID_SUBSCRIPTION_ID - -## Properties - -### code - -• **code**: `66` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:132 - ---- - -### message - -• **message**: `"Invalid subscription id"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:133 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TRANSACTION_NONCE.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TRANSACTION_NONCE.md deleted file mode 100644 index 423c2548c..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TRANSACTION_NONCE.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.INVALID_TRANSACTION_NONCE' -title: 'Interface: INVALID_TRANSACTION_NONCE' -sidebar_label: 'INVALID_TRANSACTION_NONCE' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).INVALID_TRANSACTION_NONCE - -## Properties - -### code - -• **code**: `52` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:81 - ---- - -### message - -• **message**: `"Invalid transaction nonce"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:82 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TXN_INDEX.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TXN_INDEX.md deleted file mode 100644 index 50444ad57..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TXN_INDEX.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.INVALID_TXN_INDEX' -title: 'Interface: INVALID_TXN_INDEX' -sidebar_label: 'INVALID_TXN_INDEX' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).INVALID_TXN_INDEX - -## Properties - -### code - -• **code**: `27` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:27 - ---- - -### message - -• **message**: `"Invalid transaction index in a block"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:28 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.NON_ACCOUNT.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.NON_ACCOUNT.md deleted file mode 100644 index 0c7e05d64..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.NON_ACCOUNT.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.NON_ACCOUNT' -title: 'Interface: NON_ACCOUNT' -sidebar_label: 'NON_ACCOUNT' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).NON_ACCOUNT - -## Properties - -### code - -• **code**: `58` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:107 - ---- - -### message - -• **message**: `"Sender address in not an account contract"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:108 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.NO_BLOCKS.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.NO_BLOCKS.md deleted file mode 100644 index ec419ca0d..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.NO_BLOCKS.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.NO_BLOCKS' -title: 'Interface: NO_BLOCKS' -sidebar_label: 'NO_BLOCKS' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).NO_BLOCKS - -## Properties - -### code - -• **code**: `32` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:43 - ---- - -### message - -• **message**: `"There are no blocks"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:44 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.NO_TRACE_AVAILABLE.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.NO_TRACE_AVAILABLE.md deleted file mode 100644 index 366017395..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.NO_TRACE_AVAILABLE.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.NO_TRACE_AVAILABLE' -title: 'Interface: NO_TRACE_AVAILABLE' -sidebar_label: 'NO_TRACE_AVAILABLE' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).NO_TRACE_AVAILABLE - -## Properties - -### code - -• **code**: `10` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:8 - ---- - -### message - -• **message**: `"No trace available for transaction"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:9 - ---- - -### data - -• **data**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :--------------------------- | -| `status` | `"REJECTED"` \| `"RECEIVED"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:10 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.PAGE_SIZE_TOO_BIG.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.PAGE_SIZE_TOO_BIG.md deleted file mode 100644 index f79855f13..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.PAGE_SIZE_TOO_BIG.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.PAGE_SIZE_TOO_BIG' -title: 'Interface: PAGE_SIZE_TOO_BIG' -sidebar_label: 'PAGE_SIZE_TOO_BIG' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).PAGE_SIZE_TOO_BIG - -## Properties - -### code - -• **code**: `31` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:39 - ---- - -### message - -• **message**: `"Requested page size is too big"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:40 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.STORAGE_PROOF_NOT_SUPPORTED.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.STORAGE_PROOF_NOT_SUPPORTED.md deleted file mode 100644 index 7b30031bc..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.STORAGE_PROOF_NOT_SUPPORTED.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.STORAGE_PROOF_NOT_SUPPORTED' -title: 'Interface: STORAGE_PROOF_NOT_SUPPORTED' -sidebar_label: 'STORAGE_PROOF_NOT_SUPPORTED' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).STORAGE_PROOF_NOT_SUPPORTED - -## Properties - -### code - -• **code**: `42` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:73 - ---- - -### message - -• **message**: `"the node doesn't support storage proofs for blocks that are too far in the past"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:74 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER.md deleted file mode 100644 index 47214a693..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER' -title: 'Interface: TOO_MANY_ADDRESSES_IN_FILTER' -sidebar_label: 'TOO_MANY_ADDRESSES_IN_FILTER' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).TOO_MANY_ADDRESSES_IN_FILTER - -## Properties - -### code - -• **code**: `67` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:136 - ---- - -### message - -• **message**: `"Too many addresses in filter sender_address filter"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:137 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md deleted file mode 100644 index cc96a5a68..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK' -title: 'Interface: TOO_MANY_BLOCKS_BACK' -sidebar_label: 'TOO_MANY_BLOCKS_BACK' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).TOO_MANY_BLOCKS_BACK - -## Properties - -### code - -• **code**: `68` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:140 - ---- - -### message - -• **message**: `"Cannot go back more than 1024 blocks"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:141 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER.md deleted file mode 100644 index 24edc2a53..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER' -title: 'Interface: TOO_MANY_KEYS_IN_FILTER' -sidebar_label: 'TOO_MANY_KEYS_IN_FILTER' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).TOO_MANY_KEYS_IN_FILTER - -## Properties - -### code - -• **code**: `34` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:51 - ---- - -### message - -• **message**: `"Too many keys provided in a filter"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:52 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TRANSACTION_EXECUTION_ERROR.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TRANSACTION_EXECUTION_ERROR.md deleted file mode 100644 index dbf59ccce..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TRANSACTION_EXECUTION_ERROR.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.TRANSACTION_EXECUTION_ERROR' -title: 'Interface: TRANSACTION_EXECUTION_ERROR' -sidebar_label: 'TRANSACTION_EXECUTION_ERROR' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).TRANSACTION_EXECUTION_ERROR - -## Properties - -### code - -• **code**: `41` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:65 - ---- - -### message - -• **message**: `"Transaction execution error"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:66 - ---- - -### data - -• **data**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------ | :------- | -| `transaction_index` | `number` | -| `execution_error` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:67 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TXN_HASH_NOT_FOUND.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TXN_HASH_NOT_FOUND.md deleted file mode 100644 index 66f8420ce..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.TXN_HASH_NOT_FOUND.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.TXN_HASH_NOT_FOUND' -title: 'Interface: TXN_HASH_NOT_FOUND' -sidebar_label: 'TXN_HASH_NOT_FOUND' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).TXN_HASH_NOT_FOUND - -## Properties - -### code - -• **code**: `29` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:35 - ---- - -### message - -• **message**: `"Transaction hash not found"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:36 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.UNEXPECTED_ERROR.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.UNEXPECTED_ERROR.md deleted file mode 100644 index 6dbfa8657..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.UNEXPECTED_ERROR.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.UNEXPECTED_ERROR' -title: 'Interface: UNEXPECTED_ERROR' -sidebar_label: 'UNEXPECTED_ERROR' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).UNEXPECTED_ERROR - -## Properties - -### code - -• **code**: `63` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:127 - ---- - -### message - -• **message**: `"An unexpected error occurred"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:128 - ---- - -### data - -• **data**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:129 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_CONTRACT_CLASS_VERSION.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_CONTRACT_CLASS_VERSION.md deleted file mode 100644 index dd765ce30..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_CONTRACT_CLASS_VERSION.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.UNSUPPORTED_CONTRACT_CLASS_VERSION' -title: 'Interface: UNSUPPORTED_CONTRACT_CLASS_VERSION' -sidebar_label: 'UNSUPPORTED_CONTRACT_CLASS_VERSION' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).UNSUPPORTED_CONTRACT_CLASS_VERSION - -## Properties - -### code - -• **code**: `62` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:123 - ---- - -### message - -• **message**: `"the contract class version is not supported"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:124 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_TX_VERSION.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_TX_VERSION.md deleted file mode 100644 index 8c2106921..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_TX_VERSION.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.UNSUPPORTED_TX_VERSION' -title: 'Interface: UNSUPPORTED_TX_VERSION' -sidebar_label: 'UNSUPPORTED_TX_VERSION' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).UNSUPPORTED_TX_VERSION - -## Properties - -### code - -• **code**: `61` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:119 - ---- - -### message - -• **message**: `"the transaction version is not supported"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:120 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.VALIDATION_FAILURE.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.VALIDATION_FAILURE.md deleted file mode 100644 index 8e44f4006..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.API.VALIDATION_FAILURE.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.VALIDATION_FAILURE' -title: 'Interface: VALIDATION_FAILURE' -sidebar_label: 'VALIDATION_FAILURE' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[API](../namespaces/types.RPC.RPCSPEC08.API.md).VALIDATION_FAILURE - -## Properties - -### code - -• **code**: `55` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:93 - ---- - -### message - -• **message**: `"Account validation failed"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:94 - ---- - -### data - -• **data**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/errors.d.ts:95 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.CLASS_HASH_NOT_SUPPORTED.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.CLASS_HASH_NOT_SUPPORTED.md deleted file mode 100644 index 8a4d1db45..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.CLASS_HASH_NOT_SUPPORTED.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.PAYMASTER_API.CLASS_HASH_NOT_SUPPORTED' -title: 'Interface: CLASS_HASH_NOT_SUPPORTED' -sidebar_label: 'CLASS_HASH_NOT_SUPPORTED' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[PAYMASTER_API](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md).CLASS_HASH_NOT_SUPPORTED - -## Properties - -### code - -• **code**: `155` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:19 - ---- - -### message - -• **message**: `"An error occurred (CLASS_HASH_NOT_SUPPORTED)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:20 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ADDRESS.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ADDRESS.md deleted file mode 100644 index 78f886d43..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ADDRESS.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ADDRESS' -title: 'Interface: INVALID_ADDRESS' -sidebar_label: 'INVALID_ADDRESS' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[PAYMASTER_API](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md).INVALID_ADDRESS - -## Properties - -### code - -• **code**: `150` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:3 - ---- - -### message - -• **message**: `"An error occurred (INVALID_ADDRESS)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:4 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_CLASS_HASH.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_CLASS_HASH.md deleted file mode 100644 index bf963bbf6..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_CLASS_HASH.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_CLASS_HASH' -title: 'Interface: INVALID_CLASS_HASH' -sidebar_label: 'INVALID_CLASS_HASH' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[PAYMASTER_API](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md).INVALID_CLASS_HASH - -## Properties - -### code - -• **code**: `159` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:36 - ---- - -### message - -• **message**: `"An error occurred (INVALID_CLASS_HASH)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:37 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_DEPLOYMENT_DATA.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_DEPLOYMENT_DATA.md deleted file mode 100644 index eb5cd386f..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_DEPLOYMENT_DATA.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_DEPLOYMENT_DATA' -title: 'Interface: INVALID_DEPLOYMENT_DATA' -sidebar_label: 'INVALID_DEPLOYMENT_DATA' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[PAYMASTER_API](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md).INVALID_DEPLOYMENT_DATA - -## Properties - -### code - -• **code**: `158` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:32 - ---- - -### message - -• **message**: `"An error occurred (INVALID_DEPLOYMENT_DATA)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:33 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ID.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ID.md deleted file mode 100644 index 0bc0ef0f2..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ID.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ID' -title: 'Interface: INVALID_ID' -sidebar_label: 'INVALID_ID' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[PAYMASTER_API](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md).INVALID_ID - -## Properties - -### code - -• **code**: `160` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:40 - ---- - -### message - -• **message**: `"An error occurred (INVALID_ID)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:41 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_SIGNATURE.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_SIGNATURE.md deleted file mode 100644 index 6a3d71fc4..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_SIGNATURE.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_SIGNATURE' -title: 'Interface: INVALID_SIGNATURE' -sidebar_label: 'INVALID_SIGNATURE' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[PAYMASTER_API](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md).INVALID_SIGNATURE - -## Properties - -### code - -• **code**: `153` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:11 - ---- - -### message - -• **message**: `"An error occurred (INVALID_SIGNATURE)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:12 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_TIME_BOUNDS.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_TIME_BOUNDS.md deleted file mode 100644 index 329e72b36..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_TIME_BOUNDS.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_TIME_BOUNDS' -title: 'Interface: INVALID_TIME_BOUNDS' -sidebar_label: 'INVALID_TIME_BOUNDS' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[PAYMASTER_API](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md).INVALID_TIME_BOUNDS - -## Properties - -### code - -• **code**: `157` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:28 - ---- - -### message - -• **message**: `"An error occurred (INVALID_TIME_BOUNDS)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:29 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.MAX_AMOUNT_TOO_LOW.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.MAX_AMOUNT_TOO_LOW.md deleted file mode 100644 index 2313badbf..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.MAX_AMOUNT_TOO_LOW.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.PAYMASTER_API.MAX_AMOUNT_TOO_LOW' -title: 'Interface: MAX_AMOUNT_TOO_LOW' -sidebar_label: 'MAX_AMOUNT_TOO_LOW' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[PAYMASTER_API](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md).MAX_AMOUNT_TOO_LOW - -## Properties - -### code - -• **code**: `154` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:15 - ---- - -### message - -• **message**: `"An error occurred (MAX_AMOUNT_TOO_LOW)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:16 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TOKEN_NOT_SUPPORTED.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TOKEN_NOT_SUPPORTED.md deleted file mode 100644 index 3a5f3f9bc..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TOKEN_NOT_SUPPORTED.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.PAYMASTER_API.TOKEN_NOT_SUPPORTED' -title: 'Interface: TOKEN_NOT_SUPPORTED' -sidebar_label: 'TOKEN_NOT_SUPPORTED' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[PAYMASTER_API](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md).TOKEN_NOT_SUPPORTED - -## Properties - -### code - -• **code**: `151` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:7 - ---- - -### message - -• **message**: `"An error occurred (TOKEN_NOT_SUPPORTED)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:8 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TRANSACTION_EXECUTION_ERROR.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TRANSACTION_EXECUTION_ERROR.md deleted file mode 100644 index e59e654c3..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TRANSACTION_EXECUTION_ERROR.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.PAYMASTER_API.TRANSACTION_EXECUTION_ERROR' -title: 'Interface: TRANSACTION_EXECUTION_ERROR' -sidebar_label: 'TRANSACTION_EXECUTION_ERROR' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[PAYMASTER_API](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md).TRANSACTION_EXECUTION_ERROR - -## Properties - -### code - -• **code**: `156` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:23 - ---- - -### message - -• **message**: `"An error occurred (TRANSACTION_EXECUTION_ERROR)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:24 - ---- - -### data - -• **data**: [`CONTRACT_EXECUTION_ERROR_INNER`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_execution_error_inner) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:25 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.UNKNOWN_ERROR.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.UNKNOWN_ERROR.md deleted file mode 100644 index 8360dc3eb..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.UNKNOWN_ERROR.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.PAYMASTER_API.UNKNOWN_ERROR' -title: 'Interface: UNKNOWN_ERROR' -sidebar_label: 'UNKNOWN_ERROR' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[PAYMASTER_API](../namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md).UNKNOWN_ERROR - -## Properties - -### code - -• **code**: `163` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:44 - ---- - -### message - -• **message**: `"An error occurred (UNKNOWN_ERROR)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:45 - ---- - -### data - -• **data**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/errors.d.ts:46 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md deleted file mode 100644 index bedab57da..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.ACCOUNT_ALREADY_DEPLOYED' -title: 'Interface: ACCOUNT_ALREADY_DEPLOYED' -sidebar_label: 'ACCOUNT_ALREADY_DEPLOYED' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).ACCOUNT_ALREADY_DEPLOYED - -## Properties - -### code - -• **code**: `115` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:18 - ---- - -### message - -• **message**: `"An error occurred (ACCOUNT_ALREADY_DEPLOYED)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:19 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md deleted file mode 100644 index 626d9d293..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED' -title: 'Interface: API_VERSION_NOT_SUPPORTED' -sidebar_label: 'API_VERSION_NOT_SUPPORTED' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).API_VERSION_NOT_SUPPORTED - -## Properties - -### code - -• **code**: `162` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:22 - ---- - -### message - -• **message**: `"An error occurred (API_VERSION_NOT_SUPPORTED)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:23 - ---- - -### data - -• **data**: `"string"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:24 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AccountDeploymentData.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AccountDeploymentData.md deleted file mode 100644 index af483fb3f..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AccountDeploymentData.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.AccountDeploymentData' -title: 'Interface: AccountDeploymentData' -sidebar_label: 'AccountDeploymentData' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).AccountDeploymentData - -SPEC: ACCOUNT_DEPLOYMENT_DATA - -## Properties - -### address - -• **address**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:119 - ---- - -### class_hash - -• **class_hash**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:120 - ---- - -### salt - -• **salt**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:121 - ---- - -### calldata - -• **calldata**: `string`[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:122 - ---- - -### sigdata - -• `Optional` **sigdata**: `string`[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:123 - ---- - -### version - -• **version**: `0` \| `1` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:124 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionParameters.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionParameters.md deleted file mode 100644 index 5c909853c..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionParameters.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionParameters' -title: 'Interface: AddDeclareTransactionParameters' -sidebar_label: 'AddDeclareTransactionParameters' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).AddDeclareTransactionParameters - -SPEC: DECLARE_TXN - -## Properties - -### compiled_class_hash - -• **compiled_class_hash**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:75 - ---- - -### class_hash - -• `Optional` **class_hash**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:76 - ---- - -### contract_class - -• **contract_class**: [`CONTRACT_CLASS`](../namespaces/types.RPC.RPCSPEC08.API.md#contract_class) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:77 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionResult.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionResult.md deleted file mode 100644 index 088e9c807..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionResult.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionResult' -title: 'Interface: AddDeclareTransactionResult' -sidebar_label: 'AddDeclareTransactionResult' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).AddDeclareTransactionResult - -## Properties - -### transaction_hash - -• **transaction_hash**: `string` - -The hash of the declare transaction - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:83 - ---- - -### class_hash - -• **class_hash**: `string` - -The hash of the declared class - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:87 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionParameters.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionParameters.md deleted file mode 100644 index 3913f97cb..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionParameters.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionParameters' -title: 'Interface: AddInvokeTransactionParameters' -sidebar_label: 'AddInvokeTransactionParameters' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).AddInvokeTransactionParameters - -INVOKE_TXN_V1 - -**`See`** - -https://github.com/starkware-libs/starknet-specs/blob/master/api/starknet_api_openrpc.json - -## Properties - -### calls - -• **calls**: [`Call`](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md#call)[] - -Calls to invoke by the account - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:63 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionResult.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionResult.md deleted file mode 100644 index d2cee938f..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionResult.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionResult' -title: 'Interface: AddInvokeTransactionResult' -sidebar_label: 'AddInvokeTransactionResult' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).AddInvokeTransactionResult - -## Properties - -### transaction_hash - -• **transaction_hash**: `string` - -The hash of the invoke transaction - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:69 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddStarknetChainParameters.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddStarknetChainParameters.md deleted file mode 100644 index 136accd20..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddStarknetChainParameters.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.AddStarknetChainParameters' -title: 'Interface: AddStarknetChainParameters' -sidebar_label: 'AddStarknetChainParameters' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).AddStarknetChainParameters - -EIP-3085: - -**`See`** - -https://github.com/ethereum/EIPs/blob/master/EIPS/eip-3085.md - -## Hierarchy - -- [`StarknetChain`](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md#starknetchain) - - ↳ **`AddStarknetChainParameters`** - -## Properties - -### id - -• **id**: `string` - -#### Inherited from - -StarknetChain.id - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:42 - ---- - -### chain_id - -• **chain_id**: `string` - -#### Inherited from - -StarknetChain.chain_id - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:43 - ---- - -### chain_name - -• **chain_name**: `string` - -#### Inherited from - -StarknetChain.chain_name - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:44 - ---- - -### rpc_urls - -• `Optional` **rpc_urls**: `string`[] - -#### Inherited from - -StarknetChain.rpc_urls - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:45 - ---- - -### block_explorer_url - -• `Optional` **block_explorer_url**: `string`[] - -#### Inherited from - -StarknetChain.block_explorer_url - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:46 - ---- - -### native_currency - -• `Optional` **native_currency**: [`Asset`](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md#asset) - -#### Inherited from - -StarknetChain.native_currency - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:47 - ---- - -### icon_urls - -• `Optional` **icon_urls**: `string`[] - -#### Inherited from - -StarknetChain.icon_urls - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:48 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md deleted file mode 100644 index 19b92f646..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest' -title: 'Interface: ApiVersionRequest' -sidebar_label: 'ApiVersionRequest' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).ApiVersionRequest - -The version of wallet API the request expecting. If not specified, the latest is assumed - -## Properties - -### api_version - -• `Optional` **api_version**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:131 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md deleted file mode 100644 index d91dd171b..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD' -title: 'Interface: INVALID_REQUEST_PAYLOAD' -sidebar_label: 'INVALID_REQUEST_PAYLOAD' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).INVALID_REQUEST_PAYLOAD - -## Properties - -### code - -• **code**: `114` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:14 - ---- - -### message - -• **message**: `"An error occurred (INVALID_REQUEST_PAYLOAD)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:15 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.NOT_ERC20.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.NOT_ERC20.md deleted file mode 100644 index 10a75c18e..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.NOT_ERC20.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.NOT_ERC20' -title: 'Interface: NOT_ERC20' -sidebar_label: 'NOT_ERC20' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).NOT_ERC20 - -## Properties - -### code - -• **code**: `111` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:2 - ---- - -### message - -• **message**: `"An error occurred (NOT_ERC20)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:3 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RequestAccountsParameters.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RequestAccountsParameters.md deleted file mode 100644 index a0ff4c4a9..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RequestAccountsParameters.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.RequestAccountsParameters' -title: 'Interface: RequestAccountsParameters' -sidebar_label: 'RequestAccountsParameters' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).RequestAccountsParameters - -EIP-1102: - -**`See`** - -https://eips.ethereum.org/EIPS/eip-1102 - -## Properties - -### silent_mode - -• `Optional` **silent_mode**: `boolean` - -If true, the wallet will not show the wallet-unlock UI in case of a locked wallet, -nor the dApp-approve UI in case of a non-allowed dApp. - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:98 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md deleted file mode 100644 index a54fdc851..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md +++ /dev/null @@ -1,277 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap' -title: 'Interface: RpcTypeToMessageMap' -sidebar_label: 'RpcTypeToMessageMap' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).RpcTypeToMessageMap - -Maps each RPC message type to its corresponding parameters and result type. - -## Properties - -### wallet_getPermissions - -• **wallet_getPermissions**: `Object` - -Get permissions from the wallet. - -#### Type declaration - -| Name | Type | -| :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params?` | [`ApiVersionRequest`](types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md) | -| `result` | [] \| `"accounts"`[] | -| `errors` | [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:14 - ---- - -### wallet_requestAccounts - -• **wallet_requestAccounts**: `Object` - -Request active accounts from the wallet. - -**`Param`** - -Optional parameters for requesting accounts. - -#### Type declaration - -| Name | Type | -| :-------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params?` | [`RequestAccountsParameters`](types.RPC.RPCSPEC08.WALLET_API.RequestAccountsParameters.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md) | -| `result` | `string`[] | -| `errors` | [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:24 - ---- - -### wallet_watchAsset - -• **wallet_watchAsset**: `Object` - -Watch an asset in the wallet. - -**`Param`** - -The parameters required to watch an asset. - -#### Type declaration - -| Name | Type | -| :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params` | [`WatchAssetParameters`](types.RPC.RPCSPEC08.WALLET_API.WatchAssetParameters.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md) | -| `result` | `boolean` | -| `errors` | [`NOT_ERC20`](types.RPC.RPCSPEC08.WALLET_API.NOT_ERC20.md) \| [`USER_REFUSED_OP`](types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md) \| [`INVALID_REQUEST_PAYLOAD`](types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:34 - ---- - -### wallet_addStarknetChain - -• **wallet_addStarknetChain**: `Object` - -Add a new Starknet chain to the wallet. - -**`Param`** - -The parameters required to add a new chain. - -#### Type declaration - -| Name | Type | -| :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params` | [`AddStarknetChainParameters`](types.RPC.RPCSPEC08.WALLET_API.AddStarknetChainParameters.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md) | -| `result` | `boolean` | -| `errors` | [`USER_REFUSED_OP`](types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md) \| [`INVALID_REQUEST_PAYLOAD`](types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:44 - ---- - -### wallet_switchStarknetChain - -• **wallet_switchStarknetChain**: `Object` - -Switch the current Starknet chain in the wallet. - -**`Param`** - -The parameters required to switch chains. - -#### Type declaration - -| Name | Type | -| :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params` | [`SwitchStarknetChainParameters`](types.RPC.RPCSPEC08.WALLET_API.SwitchStarknetChainParameters.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md) | -| `result` | `boolean` | -| `errors` | [`UNLISTED_NETWORK`](types.RPC.RPCSPEC08.WALLET_API.UNLISTED_NETWORK.md) \| [`USER_REFUSED_OP`](types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:54 - ---- - -### wallet_requestChainId - -• **wallet_requestChainId**: `Object` - -Request the current chain ID from the wallet. - -#### Type declaration - -| Name | Type | -| :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params?` | [`ApiVersionRequest`](types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md) | -| `result` | `string` | -| `errors` | [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:63 - ---- - -### wallet_deploymentData - -• **wallet_deploymentData**: `Object` - -Get deployment data for a contract. - -#### Type declaration - -| Name | Type | -| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params?` | [`ApiVersionRequest`](types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md) | -| `result` | [`AccountDeploymentData`](types.RPC.RPCSPEC08.WALLET_API.AccountDeploymentData.md) | -| `errors` | [`ACCOUNT_ALREADY_DEPLOYED`](types.RPC.RPCSPEC08.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:72 - ---- - -### wallet_addInvokeTransaction - -• **wallet_addInvokeTransaction**: `Object` - -Add an invoke transaction to the wallet. - -**`Param`** - -The parameters required for the invoke transaction. - -#### Type declaration - -| Name | Type | -| :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params` | [`AddInvokeTransactionParameters`](types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionParameters.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md) | -| `result` | [`AddInvokeTransactionResult`](types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionResult.md) | -| `errors` | [`USER_REFUSED_OP`](types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md) \| [`INVALID_REQUEST_PAYLOAD`](types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:82 - ---- - -### wallet_addDeclareTransaction - -• **wallet_addDeclareTransaction**: `Object` - -Add a declare transaction to the wallet. - -**`Param`** - -The parameters required for the declare transaction. - -#### Type declaration - -| Name | Type | -| :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params` | [`AddDeclareTransactionParameters`](types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionParameters.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md) | -| `result` | [`AddDeclareTransactionResult`](types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionResult.md) | -| `errors` | [`USER_REFUSED_OP`](types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md) \| [`INVALID_REQUEST_PAYLOAD`](types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:92 - ---- - -### wallet_signTypedData - -• **wallet_signTypedData**: `Object` - -Sign typed data using the wallet. - -**`Param`** - -The typed data to sign. - -#### Type declaration - -| Name | Type | -| :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `params` | [`TypedData`](types.RPC.RPCSPEC08.WALLET_API.TypedData.md) & [`ApiVersionRequest`](types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md) | -| `result` | [`SIGNATURE`](../namespaces/types.RPC.RPCSPEC08.API.md#signature) | -| `errors` | [`USER_REFUSED_OP`](types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md) \| [`INVALID_REQUEST_PAYLOAD`](types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md) \| [`API_VERSION_NOT_SUPPORTED`](types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md) \| [`UNKNOWN_ERROR`](types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:102 - ---- - -### wallet_supportedSpecs - -• **wallet_supportedSpecs**: `Object` - -Get the list of supported RPC specification versions. - -#### Type declaration - -| Name | Type | -| :-------- | :---------- | -| `params?` | `undefined` | -| `result` | `string`[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:111 - ---- - -### wallet_supportedWalletApi - -• **wallet_supportedWalletApi**: `Object` - -Returns a list of wallet api versions compatible with the wallet. -Notice this might be different from Starknet JSON-RPC spec - -#### Type declaration - -| Name | Type | -| :-------- | :---------- | -| `params?` | `undefined` | -| `result` | `string`[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:120 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetDomain.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetDomain.md deleted file mode 100644 index 382368b79..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetDomain.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.StarknetDomain' -title: 'Interface: StarknetDomain' -sidebar_label: 'StarknetDomain' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).StarknetDomain - -The EIP712 domain struct. Any of these fields are optional, but it must contain at least one field. - -## Hierarchy - -- `Record`<`string`, `unknown`\> - - ↳ **`StarknetDomain`** - -## Properties - -### name - -• `Optional` **name**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:40 - ---- - -### version - -• `Optional` **version**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:41 - ---- - -### chainId - -• `Optional` **chainId**: `string` \| `number` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:42 - ---- - -### revision - -• `Optional` **revision**: `string` \| `number` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:43 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetWindowObject.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetWindowObject.md deleted file mode 100644 index ccc34c986..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetWindowObject.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.StarknetWindowObject' -title: 'Interface: StarknetWindowObject' -sidebar_label: 'StarknetWindowObject' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).StarknetWindowObject - -## Properties - -### id - -• **id**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/StarknetWindowObject.d.ts:4 - ---- - -### name - -• **name**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/StarknetWindowObject.d.ts:5 - ---- - -### version - -• **version**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/StarknetWindowObject.d.ts:6 - ---- - -### icon - -• **icon**: `string` \| \{ `dark`: `string` ; `light`: `string` } - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/StarknetWindowObject.d.ts:7 - ---- - -### request - -• **request**: [`RequestFn`](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md#requestfn) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/StarknetWindowObject.d.ts:11 - ---- - -### on - -• **on**: [`WalletEventListener`](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md#walleteventlistener) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/StarknetWindowObject.d.ts:12 - ---- - -### off - -• **off**: [`WalletEventListener`](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md#walleteventlistener) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/StarknetWindowObject.d.ts:13 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.SwitchStarknetChainParameters.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.SwitchStarknetChainParameters.md deleted file mode 100644 index c3fc555d9..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.SwitchStarknetChainParameters.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.SwitchStarknetChainParameters' -title: 'Interface: SwitchStarknetChainParameters' -sidebar_label: 'SwitchStarknetChainParameters' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).SwitchStarknetChainParameters - -## Properties - -### chainId - -• **chainId**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:113 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.TypedData.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.TypedData.md deleted file mode 100644 index a6cbadd28..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.TypedData.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.TypedData' -title: 'Interface: TypedData' -sidebar_label: 'TypedData' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).TypedData - -SPEC: TYPED_DATA -The complete typed data, with all the structs, domain data, primary type of the message, and the message itself. - -## Properties - -### types - -• **types**: `Record`<`string`, [`StarknetType`](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md#starknettype)[]\> - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:50 - ---- - -### primaryType - -• **primaryType**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:51 - ---- - -### domain - -• **domain**: [`StarknetDomain`](types.RPC.RPCSPEC08.WALLET_API.StarknetDomain.md) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:52 - ---- - -### message - -• **message**: `object` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:53 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md deleted file mode 100644 index 35e5814d2..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR' -title: 'Interface: UNKNOWN_ERROR' -sidebar_label: 'UNKNOWN_ERROR' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).UNKNOWN_ERROR - -## Properties - -### code - -• **code**: `163` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:27 - ---- - -### message - -• **message**: `"An error occurred (UNKNOWN_ERROR)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:28 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNLISTED_NETWORK.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNLISTED_NETWORK.md deleted file mode 100644 index 51188366d..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNLISTED_NETWORK.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.UNLISTED_NETWORK' -title: 'Interface: UNLISTED_NETWORK' -sidebar_label: 'UNLISTED_NETWORK' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).UNLISTED_NETWORK - -## Properties - -### code - -• **code**: `112` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:6 - ---- - -### message - -• **message**: `"An error occurred (UNLISTED_NETWORK)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:7 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md deleted file mode 100644 index 8bf1000af..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP' -title: 'Interface: USER_REFUSED_OP' -sidebar_label: 'USER_REFUSED_OP' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).USER_REFUSED_OP - -## Properties - -### code - -• **code**: `113` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:10 - ---- - -### message - -• **message**: `"An error occurred (USER_REFUSED_OP)"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/errors.d.ts:11 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md deleted file mode 100644 index 897985697..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers' -title: 'Interface: WalletEventHandlers' -sidebar_label: 'WalletEventHandlers' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).WalletEventHandlers - -## Properties - -### accountsChanged - -• **accountsChanged**: [`AccountChangeEventHandler`](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md#accountchangeeventhandler) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/events.d.ts:5 - ---- - -### networkChanged - -• **networkChanged**: [`NetworkChangeEventHandler`](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md#networkchangeeventhandler) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/events.d.ts:6 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WatchAssetParameters.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WatchAssetParameters.md deleted file mode 100644 index 9d884eaeb..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WatchAssetParameters.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API.WatchAssetParameters' -title: 'Interface: WatchAssetParameters' -sidebar_label: 'WatchAssetParameters' -custom_edit_url: null ---- - -[RPCSPEC08](../namespaces/types.RPC.RPCSPEC08.md).[WALLET_API](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md).WatchAssetParameters - -EIP-747: - -**`See`** - -https://github.com/ethereum/EIPs/blob/master/EIPS/eip-747.md - -## Hierarchy - -- [`Asset`](../namespaces/types.RPC.RPCSPEC08.WALLET_API.md#asset) - - ↳ **`WatchAssetParameters`** - -## Properties - -### type - -• **type**: `"ERC20"` - -#### Inherited from - -Asset.type - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:32 - ---- - -### options - -• **options**: `Object` - -#### Type declaration - -| Name | Type | -| :---------- | :------- | -| `address` | `string` | -| `symbol?` | `string` | -| `decimals?` | `number` | -| `image?` | `string` | -| `name?` | `string` | - -#### Inherited from - -Asset.options - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:33 diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.Uint512.md b/www/versioned_docs/version-7.6.2/API/interfaces/types.Uint512.md deleted file mode 100644 index 9596f4c03..000000000 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.Uint512.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: 'types.Uint512' -title: 'Interface: Uint512' -sidebar_label: 'Uint512' -custom_edit_url: null ---- - -[types](../namespaces/types.md).Uint512 - -Represents an integer in the range [0, 2^256) - -## Properties - -### limb0 - -• **limb0**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/lib/index.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L44) - ---- - -### limb1 - -• **limb1**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/lib/index.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L45) - ---- - -### limb2 - -• **limb2**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/lib/index.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L46) - ---- - -### limb3 - -• **limb3**: [`BigNumberish`](../namespaces/types.md#bignumberish) - -#### Defined in - -[src/types/lib/index.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L48) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/RPC07.md b/www/versioned_docs/version-7.6.2/API/namespaces/RPC07.md deleted file mode 100644 index 06da030d4..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/RPC07.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: 'RPC07' -title: 'Namespace: RPC07' -sidebar_label: 'RPC07' -sidebar_position: 0 -custom_edit_url: null ---- - -## Classes - -- [RpcChannel](../classes/RPC07.RpcChannel.md) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/RPC08.md b/www/versioned_docs/version-7.6.2/API/namespaces/RPC08.md deleted file mode 100644 index 29edb074e..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/RPC08.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: 'RPC08' -title: 'Namespace: RPC08' -sidebar_label: 'RPC08' -sidebar_position: 0 -custom_edit_url: null ---- - -## Classes - -- [RpcChannel](../classes/RPC08.RpcChannel.md) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/_category_.yml b/www/versioned_docs/version-7.6.2/API/namespaces/_category_.yml deleted file mode 100644 index fdb625823..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/_category_.yml +++ /dev/null @@ -1,2 +0,0 @@ -label: 'Namespaces' -position: 1 diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/byteArray.md b/www/versioned_docs/version-7.6.2/API/namespaces/byteArray.md deleted file mode 100644 index f27445e4f..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/byteArray.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -id: 'byteArray' -title: 'Namespace: byteArray' -sidebar_label: 'byteArray' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### stringFromByteArray - -▸ **stringFromByteArray**(`myByteArray`): `string` - -convert a Cairo ByteArray to a JS string - -#### Parameters - -| Name | Type | Description | -| :------------ | :-------------------------------- | :----------------------------------- | -| `myByteArray` | [`ByteArray`](types.md#bytearray) | Cairo representation of a LongString | - -#### Returns - -`string` - -a JS string - -**`Example`** - -```typescript -const myByteArray = { - data: [], - pending_word: '0x414243444546474849', - pending_word_len: 9, -}; -const result: String = stringFromByteArray(myByteArray); // ABCDEFGHI -``` - -#### Defined in - -[src/utils/calldata/byteArray.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/byteArray.ts#L19) - ---- - -### byteArrayFromString - -▸ **byteArrayFromString**(`targetString`): [`ByteArray`](types.md#bytearray) - -convert a JS string to a Cairo ByteArray - -#### Parameters - -| Name | Type | Description | -| :------------- | :------- | :---------- | -| `targetString` | `string` | a JS string | - -#### Returns - -[`ByteArray`](types.md#bytearray) - -Cairo representation of a LongString - -**`Example`** - -```typescript -const myByteArray: ByteArray = byteArrayFromString('ABCDEFGHI'); -``` - -Result is : -{ -data: [], -pending_word: '0x414243444546474849', -pending_word_len: 9 -} - -#### Defined in - -[src/utils/calldata/byteArray.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/byteArray.ts#L48) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/cairo.md b/www/versioned_docs/version-7.6.2/API/namespaces/cairo.md deleted file mode 100644 index 9f8fff9c7..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/cairo.md +++ /dev/null @@ -1,703 +0,0 @@ ---- -id: 'cairo' -title: 'Namespace: cairo' -sidebar_label: 'cairo' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### isCairo1Abi - -▸ **isCairo1Abi**(`abi`): `boolean` - -Test if an ABI comes from a Cairo 1 contract - -#### Parameters - -| Name | Type | Description | -| :---- | :-------------------- | :--------------------------------------------- | -| `abi` | [`Abi`](types.md#abi) | representing the interface of a Cairo contract | - -#### Returns - -`boolean` - -TRUE if it is an ABI from a Cairo1 contract - -**`Example`** - -```typescript -const isCairo1: boolean = isCairo1Abi(myAbi: Abi); -``` - -#### Defined in - -[src/utils/calldata/cairo.ts:179](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L179) - ---- - -### isTypeNonZero - -▸ **isTypeNonZero**(`type`): `boolean` - -Checks if the given type is a NonZero type. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :----------------- | -| `type` | `string` | The type to check. | - -#### Returns - -`boolean` - -`true` if the type is NonZero type, `false` otherwise. - -**`Example`** - -```typescript -const result = cairo.isTypeNonZero('core::zeroable::NonZero::'); -//result = true -``` - -#### Defined in - -[src/utils/calldata/cairo.ts:198](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L198) - ---- - -### getAbiContractVersion - -▸ **getAbiContractVersion**(`abi`): [`ContractVersion`](types.md#contractversion) - -Return ContractVersion (Abi version) based on Abi -or undefined for unknown version - -#### Parameters - -| Name | Type | -| :---- | :-------------------- | -| `abi` | [`Abi`](types.md#abi) | - -#### Returns - -[`ContractVersion`](types.md#contractversion) - -string - -#### Defined in - -[src/utils/calldata/cairo.ts:208](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L208) - ---- - -### felt - -▸ **felt**(`it`): `string` - -Create felt Cairo type (cairo type helper) - -#### Parameters - -| Name | Type | -| :--- | :-------------------------------------- | -| `it` | [`BigNumberish`](types.md#bignumberish) | - -#### Returns - -`string` - -format: felt-string - -#### Defined in - -[src/utils/calldata/cairo.ts:277](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L277) - ---- - -### isLen - -▸ **isLen**(`name`): `boolean` - -Checks if the given name ends with "\_len". - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :---------------------- | -| `name` | `string` | The name to be checked. | - -#### Returns - -`boolean` - -- True if the name ends with "\_len", false otherwise. - -#### Defined in - -[src/utils/calldata/cairo.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L25) - ---- - -### isTypeFelt - -▸ **isTypeFelt**(`type`): `boolean` - -Checks if a given type is felt. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :----------------- | -| `type` | `string` | The type to check. | - -#### Returns - -`boolean` - -- True if the type is felt, false otherwise. - -#### Defined in - -[src/utils/calldata/cairo.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L32) - ---- - -### isTypeArray - -▸ **isTypeArray**(`type`): `boolean` - -Checks if the given type is an array type. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :----------------- | -| `type` | `string` | The type to check. | - -#### Returns - -`boolean` - -- `true` if the type is an array type, `false` otherwise. - -#### Defined in - -[src/utils/calldata/cairo.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L39) - ---- - -### isTypeTuple - -▸ **isTypeTuple**(`type`): `boolean` - -Checks if the given type is a tuple type. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :---------------------- | -| `type` | `string` | The type to be checked. | - -#### Returns - -`boolean` - -- `true` if the type is a tuple type, otherwise `false`. - -#### Defined in - -[src/utils/calldata/cairo.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L50) - ---- - -### isTypeNamedTuple - -▸ **isTypeNamedTuple**(`type`): `boolean` - -Checks whether a given type is a named tuple. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :---------------------- | -| `type` | `string` | The type to be checked. | - -#### Returns - -`boolean` - -- True if the type is a named tuple, false otherwise. - -#### Defined in - -[src/utils/calldata/cairo.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L57) - ---- - -### isTypeStruct - -▸ **isTypeStruct**(`type`, `structs`): `boolean` - -Checks if a given type is a struct. - -#### Parameters - -| Name | Type | Description | -| :-------- | :---------------------------------- | :-------------------------------------- | -| `type` | `string` | The type to check for existence. | -| `structs` | [`AbiStructs`](types.md#abistructs) | The collection of structs to search in. | - -#### Returns - -`boolean` - -- True if the type exists in the structs, false otherwise. - -#### Defined in - -[src/utils/calldata/cairo.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L65) - ---- - -### isTypeEnum - -▸ **isTypeEnum**(`type`, `enums`): `boolean` - -Checks if a given type is an enum. - -#### Parameters - -| Name | Type | Description | -| :------ | :------------------------------ | :---------------------------- | -| `type` | `string` | The type to check. | -| `enums` | [`AbiEnums`](types.md#abienums) | The enumeration to search in. | - -#### Returns - -`boolean` - -- True if the type exists in the enumeration, otherwise false. - -#### Defined in - -[src/utils/calldata/cairo.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L73) - ---- - -### isTypeOption - -▸ **isTypeOption**(`type`): `boolean` - -Determines if the given type is an Option type. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :----------------- | -| `type` | `string` | The type to check. | - -#### Returns - -`boolean` - -- True if the type is an Option type, false otherwise. - -#### Defined in - -[src/utils/calldata/cairo.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L80) - ---- - -### isTypeResult - -▸ **isTypeResult**(`type`): `boolean` - -Checks whether a given type starts with 'core::result::Result::'. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :----------------- | -| `type` | `string` | The type to check. | - -#### Returns - -`boolean` - -- True if the type starts with 'core::result::Result::', false otherwise. - -#### Defined in - -[src/utils/calldata/cairo.ts:87](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L87) - ---- - -### isTypeUint - -▸ **isTypeUint**(`type`): `boolean` - -Checks if the given value is a valid Uint type. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :------------------ | -| `type` | `string` | The value to check. | - -#### Returns - -`boolean` - -- Returns true if the value is a valid Uint type, otherwise false. - -#### Defined in - -[src/utils/calldata/cairo.ts:94](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L94) - ---- - -### isTypeUint256 - -▸ **isTypeUint256**(`type`): `boolean` - -Checks if the given type is `uint256`. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :---------------------- | -| `type` | `string` | The type to be checked. | - -#### Returns - -`boolean` - -- Returns true if the type is `uint256`, otherwise false. - -#### Defined in - -[src/utils/calldata/cairo.ts:102](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L102) - ---- - -### isTypeLiteral - -▸ **isTypeLiteral**(`type`): `boolean` - -Checks if the given type is a literal type. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :----------------- | -| `type` | `string` | The type to check. | - -#### Returns - -`boolean` - -- True if the type is a literal type, false otherwise. - -#### Defined in - -[src/utils/calldata/cairo.ts:109](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L109) - ---- - -### isTypeBool - -▸ **isTypeBool**(`type`): `boolean` - -Checks if the given type is a boolean type. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :---------------------- | -| `type` | `string` | The type to be checked. | - -#### Returns - -`boolean` - -- Returns true if the type is a boolean type, otherwise false. - -#### Defined in - -[src/utils/calldata/cairo.ts:116](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L116) - ---- - -### isTypeContractAddress - -▸ **isTypeContractAddress**(`type`): `boolean` - -Checks if the provided type is equal to 'core::starknet::contract_address::ContractAddress'. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :---------------------- | -| `type` | `string` | The type to be checked. | - -#### Returns - -`boolean` - -- true if the type matches 'core::starknet::contract_address::ContractAddress', false otherwise. - -#### Defined in - -[src/utils/calldata/cairo.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L122) - ---- - -### isTypeEthAddress - -▸ **isTypeEthAddress**(`type`): `boolean` - -Determines if the given type is an Ethereum address type. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :----------------- | -| `type` | `string` | The type to check. | - -#### Returns - -`boolean` - -- Returns true if the given type is 'core::starknet::eth_address::EthAddress', otherwise false. - -#### Defined in - -[src/utils/calldata/cairo.ts:129](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L129) - ---- - -### isTypeBytes31 - -▸ **isTypeBytes31**(`type`): `boolean` - -Checks if the given type is 'core::bytes_31::bytes31'. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :----------------- | -| `type` | `string` | The type to check. | - -#### Returns - -`boolean` - -- True if the type is 'core::bytes_31::bytes31', false otherwise. - -#### Defined in - -[src/utils/calldata/cairo.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L136) - ---- - -### isTypeByteArray - -▸ **isTypeByteArray**(`type`): `boolean` - -Checks if the given type is equal to the 'core::byte_array::ByteArray'. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :----------------- | -| `type` | `string` | The type to check. | - -#### Returns - -`boolean` - -- True if the given type is equal to 'core::byte_array::ByteArray', false otherwise. - -#### Defined in - -[src/utils/calldata/cairo.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L143) - ---- - -### isTypeU96 - -▸ **isTypeU96**(`type`): `boolean` - -Checks if the given type is equal to the u96 type - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :----------------- | -| `type` | `string` | The type to check. | - -#### Returns - -`boolean` - -- True if the given type is equal to u96, false otherwise. - -#### Defined in - -[src/utils/calldata/cairo.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L151) - ---- - -### isTypeSecp256k1Point - -▸ **isTypeSecp256k1Point**(`type`): `boolean` - -#### Parameters - -| Name | Type | -| :----- | :------- | -| `type` | `string` | - -#### Returns - -`boolean` - -#### Defined in - -[src/utils/calldata/cairo.ts:154](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L154) - ---- - -### isCairo1Type - -▸ **isCairo1Type**(`type`): `boolean` - -#### Parameters - -| Name | Type | -| :----- | :------- | -| `type` | `string` | - -#### Returns - -`boolean` - -#### Defined in - -[src/utils/calldata/cairo.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L156) - ---- - -### getArrayType - -▸ **getArrayType**(`type`): `string` - -Retrieves the array type from the given type string. - -Works also for core::zeroable::NonZero type. - -#### Parameters - -| Name | Type | Description | -| :----- | :------- | :--------------- | -| `type` | `string` | The type string. | - -#### Returns - -`string` - -- The array type. - -#### Defined in - -[src/utils/calldata/cairo.ts:164](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L164) - ---- - -### uint256 - -▸ **uint256**(`it`): [`Uint256`](../interfaces/types.Uint256.md) - -Create Uint256 Cairo type (helper for common struct type) - -#### Parameters - -| Name | Type | -| :--- | :-------------------------------------- | -| `it` | [`BigNumberish`](types.md#bignumberish) | - -#### Returns - -[`Uint256`](../interfaces/types.Uint256.md) - -**`Example`** - -```typescript -uint256('892349863487563453485768723498'); -``` - -#### Defined in - -[src/utils/calldata/cairo.ts:245](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L245) - ---- - -### uint512 - -▸ **uint512**(`it`): [`Uint512`](../interfaces/types.Uint512.md) - -Create Uint512 Cairo type (helper for common struct type) - -#### Parameters - -| Name | Type | Description | -| :--- | :-------------------------------------- | :-------------------------------------------------------- | -| `it` | [`BigNumberish`](types.md#bignumberish) | BigNumberish representation of a 512 bits unsigned number | - -#### Returns - -[`Uint512`](../interfaces/types.Uint512.md) - -Uint512 struct - -**`Example`** - -```typescript -uint512('345745685892349863487563453485768723498'); -``` - -#### Defined in - -[src/utils/calldata/cairo.ts:258](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L258) - ---- - -### tuple - -▸ **tuple**(`...args`): `Record`<`number`, `boolean` \| `object` \| [`BigNumberish`](types.md#bignumberish)\> - -Create unnamed tuple Cairo type (helper same as common struct type) - -#### Parameters - -| Name | Type | -| :-------- | :------------------------------------------------------------------- | -| `...args` | (`boolean` \| `object` \| [`BigNumberish`](types.md#bignumberish))[] | - -#### Returns - -`Record`<`number`, `boolean` \| `object` \| [`BigNumberish`](types.md#bignumberish)\> - -**`Example`** - -```typescript -tuple(1, '0x101', 16); -``` - -#### Defined in - -[src/utils/calldata/cairo.ts:269](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/cairo.ts#L269) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/ec.md b/www/versioned_docs/version-7.6.2/API/namespaces/ec.md deleted file mode 100644 index c06a61efe..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/ec.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: 'ec' -title: 'Namespace: ec' -sidebar_label: 'ec' -sidebar_position: 0 -custom_edit_url: null ---- - -## Namespaces - -- [starkCurve](ec.starkCurve.md) -- [weierstrass](ec.weierstrass.md) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/ec.starkCurve.md b/www/versioned_docs/version-7.6.2/API/namespaces/ec.starkCurve.md deleted file mode 100644 index 574ae94f9..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/ec.starkCurve.md +++ /dev/null @@ -1,557 +0,0 @@ ---- -id: 'ec.starkCurve' -title: 'Namespace: starkCurve' -sidebar_label: 'starkCurve' -custom_edit_url: null ---- - -[ec](ec.md).starkCurve - -## Namespaces - -- [poseidonSmall](ec.starkCurve.poseidonSmall.md) - -## Type Aliases - -### ProjectivePoint - -Ƭ **ProjectivePoint**: [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`bigint`\> - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:6 - -node_modules/@scure/starknet/lib/esm/index.d.ts:46 - ---- - -### PoseidonOpts - -Ƭ **PoseidonOpts**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------- | :------------------ | -| `Fp` | `IField`<`bigint`\> | -| `rate` | `number` | -| `capacity` | `number` | -| `roundsFull` | `number` | -| `roundsPartial` | `number` | - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:63 - ---- - -### PoseidonFn - -Ƭ **PoseidonFn**: `ReturnType` & \{ `m`: `number` ; `rate`: `number` ; `capacity`: `number` } - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:70 - -## Variables - -### MAX_VALUE - -• `Const` **MAX_VALUE**: `bigint` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:7 - ---- - -### \_starkCurve - -• `Const` **\_starkCurve**: [`weierstrass`](ec.weierstrass.md) - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:8 - ---- - -### CURVE - -• `Const` **CURVE**: `Readonly`<\{ `nBitLength`: `number` ; `nByteLength`: `number` ; `Fp`: `IField`<`bigint`\> ; `n`: `bigint` ; `h`: `bigint` ; `hEff?`: `bigint` ; `Gx`: `bigint` ; `Gy`: `bigint` ; `allowInfinityPoint?`: `boolean` ; `a`: `bigint` ; `b`: `bigint` ; `allowedPrivateKeyLengths?`: readonly `number`[] ; `wrapPrivateKey?`: `boolean` ; `endo?`: \{ `beta`: `bigint` ; `splitScalar`: (`k`: `bigint`) => \{ `k1neg`: `boolean` ; `k1`: `bigint` ; `k2neg`: `boolean` ; `k2`: `bigint` } } ; `isTorsionFree?`: (`c`: [`weierstrass`](ec.weierstrass.md), `point`: [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`bigint`\>) => `boolean` ; `clearCofactor?`: (`c`: [`weierstrass`](ec.weierstrass.md), `point`: [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`bigint`\>) => [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`bigint`\> ; `hash`: `u.CHash` ; `hmac`: (`key`: `Uint8Array`, ...`messages`: `Uint8Array`[]) => `Uint8Array` ; `randomBytes`: (`bytesLength?`: `number`) => `Uint8Array` ; `lowS`: `boolean` ; `bits2int?`: (`bytes`: `Uint8Array`) => `bigint` ; `bits2int_modN?`: (`bytes`: `Uint8Array`) => `bigint` ; `p`: `bigint` }\> - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:14 - ---- - -### ProjectivePoint - -• **ProjectivePoint**: [`ProjConstructor`](../interfaces/ec.weierstrass.ProjConstructor.md)<`bigint`\> - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:6 - -node_modules/@scure/starknet/lib/esm/index.d.ts:46 - ---- - -### Signature - -• `Const` **Signature**: [`weierstrass`](ec.weierstrass.md) - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:46 - ---- - -### utils - -• `Const` **utils**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `normPrivateKeyToScalar` | (`key`: `u.PrivKey`) => `bigint` | -| `randomPrivateKey` | () => `Uint8Array` | -| `precompute` | (`windowSize?`: `number`, `point?`: [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`bigint`\>) => [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`bigint`\> | -| `isValidPrivateKey` | (`privateKey`: `PrivKey`) => `boolean` | - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:46 - ---- - -### Fp251 - -• `Const` **Fp251**: `Readonly`<`IField`<`bigint`\> & `Required`<`Pick`<`IField`<`bigint`\>, `"isOdd"`\>\>\> - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:61 - -## Functions - -### normalizePrivateKey - -▸ **normalizePrivateKey**(`privKey`): `string` - -#### Parameters - -| Name | Type | -| :-------- | :---- | -| `privKey` | `Hex` | - -#### Returns - -`string` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:9 - ---- - -### getPublicKey - -▸ **getPublicKey**(`privKey`, `isCompressed?`): `Uint8Array` - -#### Parameters - -| Name | Type | -| :-------------- | :-------- | -| `privKey` | `Hex` | -| `isCompressed?` | `boolean` | - -#### Returns - -`Uint8Array` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:10 - ---- - -### getSharedSecret - -▸ **getSharedSecret**(`privKeyA`, `pubKeyB`): `Uint8Array` - -#### Parameters - -| Name | Type | -| :--------- | :---- | -| `privKeyA` | `Hex` | -| `pubKeyB` | `Hex` | - -#### Returns - -`Uint8Array` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:11 - ---- - -### sign - -▸ **sign**(`msgHash`, `privKey`, `opts?`): [`SignatureType`](../interfaces/ec.weierstrass.SignatureType.md) - -#### Parameters - -| Name | Type | -| :-------- | :---- | -| `msgHash` | `Hex` | -| `privKey` | `Hex` | -| `opts?` | `any` | - -#### Returns - -[`SignatureType`](../interfaces/ec.weierstrass.SignatureType.md) - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:12 - ---- - -### verify - -▸ **verify**(`signature`, `msgHash`, `pubKey`): `boolean` - -#### Parameters - -| Name | Type | -| :---------- | :------------------------------------------------------------------------ | -| `signature` | `Hex` \| [`SignatureType`](../interfaces/ec.weierstrass.SignatureType.md) | -| `msgHash` | `Hex` | -| `pubKey` | `Hex` | - -#### Returns - -`boolean` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:13 - ---- - -### grindKey - -▸ **grindKey**(`seed`): `string` - -#### Parameters - -| Name | Type | -| :----- | :---- | -| `seed` | `Hex` | - -#### Returns - -`string` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:53 - ---- - -### getStarkKey - -▸ **getStarkKey**(`privateKey`): `string` - -#### Parameters - -| Name | Type | -| :----------- | :---- | -| `privateKey` | `Hex` | - -#### Returns - -`string` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:54 - ---- - -### ethSigToPrivate - -▸ **ethSigToPrivate**(`signature`): `string` - -#### Parameters - -| Name | Type | -| :---------- | :------- | -| `signature` | `string` | - -#### Returns - -`string` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:55 - ---- - -### getAccountPath - -▸ **getAccountPath**(`layer`, `application`, `ethereumAddress`, `index`): `string` - -#### Parameters - -| Name | Type | -| :---------------- | :------- | -| `layer` | `string` | -| `application` | `string` | -| `ethereumAddress` | `string` | -| `index` | `number` | - -#### Returns - -`string` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:56 - ---- - -### pedersen - -▸ **pedersen**(`x`, `y`): `string` - -#### Parameters - -| Name | Type | -| :--- | :------------ | -| `x` | `PedersenArg` | -| `y` | `PedersenArg` | - -#### Returns - -`string` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:58 - ---- - -### \_poseidonMDS - -▸ **\_poseidonMDS**(`Fp`, `name`, `m`, `attempt?`): `bigint`[][] - -#### Parameters - -| Name | Type | -| :--------- | :------------------ | -| `Fp` | `IField`<`bigint`\> | -| `name` | `string` | -| `m` | `number` | -| `attempt?` | `number` | - -#### Returns - -`bigint`[][] - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:62 - ---- - -### poseidonBasic - -▸ **poseidonBasic**(`opts`, `mds`): [`PoseidonFn`](ec.starkCurve.md#poseidonfn) - -#### Parameters - -| Name | Type | -| :----- | :---------------------------------------------- | -| `opts` | [`PoseidonOpts`](ec.starkCurve.md#poseidonopts) | -| `mds` | `bigint`[][] | - -#### Returns - -[`PoseidonFn`](ec.starkCurve.md#poseidonfn) - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:75 - ---- - -### poseidonCreate - -▸ **poseidonCreate**(`opts`, `mdsAttempt?`): [`PoseidonFn`](ec.starkCurve.md#poseidonfn) - -#### Parameters - -| Name | Type | -| :------------ | :---------------------------------------------- | -| `opts` | [`PoseidonOpts`](ec.starkCurve.md#poseidonopts) | -| `mdsAttempt?` | `number` | - -#### Returns - -[`PoseidonFn`](ec.starkCurve.md#poseidonfn) - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:76 - ---- - -### poseidonHash - -▸ **poseidonHash**(`x`, `y`, `fn?`): `bigint` - -#### Parameters - -| Name | Type | -| :---- | :------------------------------------------ | -| `x` | `bigint` | -| `y` | `bigint` | -| `fn?` | [`PoseidonFn`](ec.starkCurve.md#poseidonfn) | - -#### Returns - -`bigint` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:78 - ---- - -### poseidonHashFunc - -▸ **poseidonHashFunc**(`x`, `y`, `fn?`): `Uint8Array` - -#### Parameters - -| Name | Type | -| :---- | :------------------------------------------ | -| `x` | `Uint8Array` | -| `y` | `Uint8Array` | -| `fn?` | [`PoseidonFn`](ec.starkCurve.md#poseidonfn) | - -#### Returns - -`Uint8Array` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:79 - ---- - -### poseidonHashSingle - -▸ **poseidonHashSingle**(`x`, `fn?`): `bigint` - -#### Parameters - -| Name | Type | -| :---- | :------------------------------------------ | -| `x` | `bigint` | -| `fn?` | [`PoseidonFn`](ec.starkCurve.md#poseidonfn) | - -#### Returns - -`bigint` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:80 - ---- - -### poseidonHashMany - -▸ **poseidonHashMany**(`values`, `fn?`): `bigint` - -#### Parameters - -| Name | Type | -| :------- | :------------------------------------------ | -| `values` | `bigint`[] | -| `fn?` | [`PoseidonFn`](ec.starkCurve.md#poseidonfn) | - -#### Returns - -`bigint` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:81 - ---- - -### computeHashOnElements - -▸ **computeHashOnElements**(`data`, `fn?`): `PedersenArg` - -#### Parameters - -| Name | Type | -| :----- | :--------------------------------------------------- | -| `data` | `PedersenArg`[] | -| `fn?` | (`x`: `PedersenArg`, `y`: `PedersenArg`) => `string` | - -#### Returns - -`PedersenArg` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:59 - ---- - -### keccak - -▸ **keccak**(`data`): `bigint` - -#### Parameters - -| Name | Type | -| :----- | :----------- | -| `data` | `Uint8Array` | - -#### Returns - -`bigint` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:60 - ---- - -### poseidonSmall - -▸ **poseidonSmall**(`values`): `bigint`[] - -#### Parameters - -| Name | Type | -| :------- | :--------- | -| `values` | `bigint`[] | - -#### Returns - -`bigint`[] - -#### Defined in - -node_modules/@noble/curves/esm/abstract/poseidon.d.ts:27 diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/ec.starkCurve.poseidonSmall.md b/www/versioned_docs/version-7.6.2/API/namespaces/ec.starkCurve.poseidonSmall.md deleted file mode 100644 index 344c960c5..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/ec.starkCurve.poseidonSmall.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -id: 'ec.starkCurve.poseidonSmall' -title: 'Namespace: poseidonSmall' -sidebar_label: 'poseidonSmall' -custom_edit_url: null ---- - -[ec](ec.md).[starkCurve](ec.starkCurve.md).poseidonSmall - -## Variables - -### roundConstants - -• **roundConstants**: `bigint`[][] - -#### Defined in - -node_modules/@noble/curves/esm/abstract/poseidon.d.ts:28 - ---- - -### m - -• **m**: `number` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:71 - ---- - -### rate - -• **rate**: `number` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:72 - ---- - -### capacity - -• **capacity**: `number` - -#### Defined in - -node_modules/@scure/starknet/lib/esm/index.d.ts:73 diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/ec.weierstrass.md b/www/versioned_docs/version-7.6.2/API/namespaces/ec.weierstrass.md deleted file mode 100644 index 097a3b98b..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/ec.weierstrass.md +++ /dev/null @@ -1,399 +0,0 @@ ---- -id: 'ec.weierstrass' -title: 'Namespace: weierstrass' -sidebar_label: 'weierstrass' -custom_edit_url: null ---- - -[ec](ec.md).weierstrass - -## Interfaces - -- [ProjPointType](../interfaces/ec.weierstrass.ProjPointType.md) -- [ProjConstructor](../interfaces/ec.weierstrass.ProjConstructor.md) -- [SignatureType](../interfaces/ec.weierstrass.SignatureType.md) - -## Type Aliases - -### AffinePoint - -Ƭ **AffinePoint**<`T`\>: \{ `x`: `T` ; `y`: `T` } & \{ `z?`: `never` ; `t?`: `never` } - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Defined in - -node_modules/@noble/curves/esm/abstract/curve.d.ts:3 - ---- - -### BasicWCurve - -Ƭ **BasicWCurve**<`T`\>: `BasicCurve`<`T`\> & \{ `a`: `T` ; `b`: `T` ; `allowedPrivateKeyLengths?`: readonly `number`[] ; `wrapPrivateKey?`: `boolean` ; `endo?`: `EndomorphismOpts` ; `isTorsionFree?`: (`c`: [`ProjConstructor`](../interfaces/ec.weierstrass.ProjConstructor.md)<`T`\>, `point`: [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`T`\>) => `boolean` ; `clearCofactor?`: (`c`: [`ProjConstructor`](../interfaces/ec.weierstrass.ProjConstructor.md)<`T`\>, `point`: [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`T`\>) => [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`T`\> } - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:16 - ---- - -### SignOpts - -Ƭ **SignOpts**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------- | :-------- | -| `lowS?` | `boolean` | -| `extraEntropy?` | `Entropy` | -| `prehash?` | `boolean` | - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:26 - ---- - -### VerOpts - -Ƭ **VerOpts**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :--------------------- | -| `lowS?` | `boolean` | -| `prehash?` | `boolean` | -| `format?` | `"compact"` \| `"der"` | - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:31 - ---- - -### CurvePointsType - -Ƭ **CurvePointsType**<`T`\>: [`BasicWCurve`](ec.weierstrass.md#basicwcurve)<`T`\> & \{ `fromBytes?`: (`bytes`: `Uint8Array`) => [`AffinePoint`](ec.weierstrass.md#affinepoint)<`T`\> ; `toBytes?`: (`c`: [`ProjConstructor`](../interfaces/ec.weierstrass.ProjConstructor.md)<`T`\>, `point`: [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`T`\>, `isCompressed`: `boolean`) => `Uint8Array` } - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:83 - ---- - -### CurvePointsRes - -Ƭ **CurvePointsRes**<`T`\>: `Object` - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Type declaration - -| Name | Type | -| :----------------------- | :------------------------------------------------------------------------- | -| `CURVE` | `ReturnType` | -| `ProjectivePoint` | [`ProjConstructor`](../interfaces/ec.weierstrass.ProjConstructor.md)<`T`\> | -| `normPrivateKeyToScalar` | (`key`: `PrivKey`) => `bigint` | -| `weierstrassEquation` | (`x`: `T`) => `T` | -| `isWithinCurveOrder` | (`num`: `bigint`) => `boolean` | - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:108 - ---- - -### RecoveredSignatureType - -Ƭ **RecoveredSignatureType**: [`SignatureType`](../interfaces/ec.weierstrass.SignatureType.md) & \{ `recovery`: `number` } - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:165 - ---- - -### SignatureConstructor - -Ƭ **SignatureConstructor**: `Object` - -#### Call signature - -• **new SignatureConstructor**(`r`, `s`): [`SignatureType`](../interfaces/ec.weierstrass.SignatureType.md) - -##### Parameters - -| Name | Type | -| :--- | :------- | -| `r` | `bigint` | -| `s` | `bigint` | - -##### Returns - -[`SignatureType`](../interfaces/ec.weierstrass.SignatureType.md) - -#### Type declaration - -| Name | Type | -| :------------ | :--------------------------------------------------------------------------------- | -| `fromCompact` | (`hex`: `Hex`) => [`SignatureType`](../interfaces/ec.weierstrass.SignatureType.md) | -| `fromDER` | (`hex`: `Hex`) => [`SignatureType`](../interfaces/ec.weierstrass.SignatureType.md) | - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:168 - ---- - -### PubKey - -Ƭ **PubKey**: `Hex` \| [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`bigint`\> - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:177 - ---- - -### CurveType - -Ƭ **CurveType**: [`BasicWCurve`](ec.weierstrass.md#basicwcurve)<`bigint`\> & \{ `hash`: `CHash` ; `hmac`: `HmacFnSync` ; `randomBytes`: (`bytesLength?`: `number`) => `Uint8Array` ; `lowS?`: `boolean` ; `bits2int?`: (`bytes`: `Uint8Array`) => `bigint` ; `bits2int_modN?`: (`bytes`: `Uint8Array`) => `bigint` } - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:178 - ---- - -### CurveFn - -Ƭ **CurveFn**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `CURVE` | `ReturnType` | -| `getPublicKey` | (`privateKey`: `PrivKey`, `isCompressed?`: `boolean`) => `Uint8Array` | -| `getSharedSecret` | (`privateA`: `PrivKey`, `publicB`: `Hex`, `isCompressed?`: `boolean`) => `Uint8Array` | -| `sign` | (`msgHash`: `Hex`, `privKey`: `PrivKey`, `opts?`: [`SignOpts`](ec.weierstrass.md#signopts)) => [`RecoveredSignatureType`](ec.weierstrass.md#recoveredsignaturetype) | -| `verify` | (`signature`: `Hex` \| `SignatureLike`, `msgHash`: `Hex`, `publicKey`: `Hex`, `opts?`: [`VerOpts`](ec.weierstrass.md#veropts)) => `boolean` | -| `ProjectivePoint` | [`ProjConstructor`](../interfaces/ec.weierstrass.ProjConstructor.md)<`bigint`\> | -| `Signature` | [`SignatureConstructor`](ec.weierstrass.md#signatureconstructor) | -| `utils` | \{ `normPrivateKeyToScalar`: (`key`: `PrivKey`) => `bigint` ; `randomPrivateKey`: () => `Uint8Array` ; `precompute`: (`windowSize?`: `number`, `point?`: [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`bigint`\>) => [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`bigint`\> ; `isValidPrivateKey`: (`privateKey`: `PrivKey`) => `boolean` } | -| `utils.normPrivateKeyToScalar` | (`key`: `PrivKey`) => `bigint` | -| `utils.randomPrivateKey` | () => `Uint8Array` | -| `utils.precompute` | (`windowSize?`: `number`, `point?`: [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`bigint`\>) => [`ProjPointType`](../interfaces/ec.weierstrass.ProjPointType.md)<`bigint`\> | -| `utils.isValidPrivateKey` | [object Object] | - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:211 - -## Variables - -### DER - -• `Const` **DER**: `Object` - -ASN.1 DER encoding utilities. ASN is very complex & fragile. Format: - - [0x30 (SEQUENCE), bytelength, 0x02 (INTEGER), intLength, R, 0x02 (INTEGER), intLength, S] - -Docs: https://letsencrypt.org/docs/a-warm-welcome-to-asn1-and-der/, https://luca.ntop.org/Teaching/Appunti/asn1.html - -#### Type declaration - -| Name | Type | -| :------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Err` | (`m?`: `string`) => \{ `name`: `string` ; `message`: `string` ; `stack?`: `string` } | -| `_tlv` | \{ `encode`: (`tag`: `number`, `data`: `string`) => `string` ; `decode`: (`tag`: `number`, `data`: `Uint8Array`) => \{ `v`: `Uint8Array` ; `l`: `Uint8Array` } } | -| `_tlv.encode` | (`tag`: `number`, `data`: `string`) => `string` | -| `_tlv.decode` | [object Object] | -| `_int` | \{ `encode`: (`num`: `bigint`) => `string` ; `decode`: (`data`: `Uint8Array`) => `bigint` } | -| `_int.encode` | [object Object] | -| `_int.decode` | [object Object] | -| `toSig` | (`hex`: `string` \| `Uint8Array`) => \{ `r`: `bigint` ; `s`: `bigint` } | -| `hexFromSig` | (`sig`: \{ `r`: `bigint` ; `s`: `bigint` }) => `string` | - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:122 - -## Functions - -### weierstrassPoints - -▸ **weierstrassPoints**<`T`\>(`opts`): [`CurvePointsRes`](ec.weierstrass.md#curvepointsres)<`T`\> - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Parameters - -| Name | Type | -| :----- | :----------------------------------------------------------- | -| `opts` | [`CurvePointsType`](ec.weierstrass.md#curvepointstype)<`T`\> | - -#### Returns - -[`CurvePointsRes`](ec.weierstrass.md#curvepointsres)<`T`\> - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:150 - ---- - -### weierstrass - -▸ **weierstrass**(`curveDef`): [`CurveFn`](ec.weierstrass.md#curvefn) - -Creates short weierstrass curve and ECDSA signature methods for it. - -#### Parameters - -| Name | Type | -| :--------- | :----------------------------------------- | -| `curveDef` | [`CurveType`](ec.weierstrass.md#curvetype) | - -#### Returns - -[`CurveFn`](ec.weierstrass.md#curvefn) - -**`Example`** - -```ts -import { Field } from '@noble/curves/abstract/modular'; -// Before that, define BigInt-s: a, b, p, n, Gx, Gy -const curve = weierstrass({ a, b, Fp: Field(p), n, Gx, Gy, h: 1n }); -``` - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:233 - ---- - -### SWUFpSqrtRatio - -▸ **SWUFpSqrtRatio**<`T`\>(`Fp`, `Z`): (`u`: `T`, `v`: `T`) => \{ `isValid`: `boolean` ; `value`: `T` } - -Implementation of the Shallue and van de Woestijne method for any weierstrass curve. -TODO: check if there is a way to merge this with uvRatio in Edwards; move to modular. -b = True and y = sqrt(u / v) if (u / v) is square in F, and -b = False and y = sqrt(Z \* (u / v)) otherwise. - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Parameters - -| Name | Type | -| :--- | :------------- | -| `Fp` | `IField`<`T`\> | -| `Z` | `T` | - -#### Returns - -`fn` - -▸ (`u`, `v`): `Object` - -##### Parameters - -| Name | Type | -| :--- | :--- | -| `u` | `T` | -| `v` | `T` | - -##### Returns - -`Object` - -| Name | Type | -| :-------- | :-------- | -| `isValid` | `boolean` | -| `value` | `T` | - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:243 - ---- - -### mapToCurveSimpleSWU - -▸ **mapToCurveSimpleSWU**<`T`\>(`Fp`, `opts`): (`u`: `T`) => \{ `x`: `T` ; `y`: `T` } - -Simplified Shallue-van de Woestijne-Ulas Method -https://www.rfc-editor.org/rfc/rfc9380#section-6.6.2 - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Parameters - -| Name | Type | -| :------- | :------------- | -| `Fp` | `IField`<`T`\> | -| `opts` | `Object` | -| `opts.A` | `T` | -| `opts.B` | `T` | -| `opts.Z` | `T` | - -#### Returns - -`fn` - -▸ (`u`): `Object` - -##### Parameters - -| Name | Type | -| :--- | :--- | -| `u` | `T` | - -##### Returns - -`Object` - -| Name | Type | -| :--- | :--- | -| `x` | `T` | -| `y` | `T` | - -#### Defined in - -node_modules/@noble/curves/esm/abstract/weierstrass.d.ts:251 diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/eth.md b/www/versioned_docs/version-7.6.2/API/namespaces/eth.md deleted file mode 100644 index e37b4f0ec..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/eth.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -id: 'eth' -title: 'Namespace: eth' -sidebar_label: 'eth' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### ethRandomPrivateKey - -▸ **ethRandomPrivateKey**(): `string` - -Get random Ethereum private Key. - -#### Returns - -`string` - -an Hex string - -**`Example`** - -```typescript -const myPK: string = randomAddress(); -// result = "0xf04e69ac152fba37c02929c2ae78c9a481461dda42dbc6c6e286be6eb2a8ab83" -``` - -#### Defined in - -[src/utils/eth.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/eth.ts#L18) - ---- - -### validateAndParseEthAddress - -▸ **validateAndParseEthAddress**(`address`): `string` - -Get a string formatted for an Ethereum address, without uppercase characters. - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------- | :------------------------------ | -| `address` | [`BigNumberish`](types.md#bignumberish) | Address of an Ethereum account. | - -#### Returns - -`string` - -an Hex string coded on 20 bytes - -**`Example`** - -```typescript -const myEthAddress: string = validateAndParseEthAddress('0x8359E4B0152ed5A731162D3c7B0D8D56edB165'); -// result = "0x008359e4b0152ed5a731162d3c7b0d8d56edb165" -``` - -#### Defined in - -[src/utils/eth.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/eth.ts#L32) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/events.md b/www/versioned_docs/version-7.6.2/API/namespaces/events.md deleted file mode 100644 index ae8b51660..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/events.md +++ /dev/null @@ -1,146 +0,0 @@ ---- -id: 'events' -title: 'Namespace: events' -sidebar_label: 'events' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### isAbiEvent - -▸ **isAbiEvent**(`object`): `boolean` - -Check if an ABI entry is related to events. - -#### Parameters - -| Name | Type | Description | -| :------- | :------------------------------ | :----------- | -| `object` | [`AbiEntry`](types.md#abientry) | an Abi entry | - -#### Returns - -`boolean` - -true if this Abi Entry is related to an event - -**`Example`** - -```typescript -// use of a transaction receipt -``` - -#### Defined in - -[src/utils/events/index.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/events/index.ts#L36) - ---- - -### getAbiEvents - -▸ **getAbiEvents**(`abi`): [`AbiEvents`](types.md#abievents) - -Retrieves the events from the given ABI (from Cairo 0 or Cairo 1 contract). - -Is able to handle Cairo 1 events nested in Cairo components. - -#### Parameters - -| Name | Type | Description | -| :---- | :-------------------- | :------------------------------ | -| `abi` | [`Abi`](types.md#abi) | The ABI to extract events from. | - -#### Returns - -[`AbiEvents`](types.md#abievents) - -- An object containing the hashes and the definition of the events. - -**`Example`** - -```typescript -const result = events.getAbiEvents(abi); -// result = { -// '0x22ea134d4126804c60797e633195f8c9aa5fd6d1567e299f4961d0e96f373ee': -// { '0x34e55c1cd55f1338241b50d352f0e91c7e4ffad0e4271d64eb347589ebdfd16': { -// kind: 'struct', type: 'event', -// name: 'ka::ExComponent::ex_logic_component::Mint', -// members: [{ -// name: 'spender', -// type: 'core::starknet::contract_address::ContractAddress', -// kind: 'key'}, -// { name: 'value', type: 'core::integer::u256', kind: 'data' }]}, -// ... -``` - -#### Defined in - -[src/utils/events/index.ts:154](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/events/index.ts#L154) - ---- - -### parseEvents - -▸ **parseEvents**(`providerReceivedEvents`, `abiEvents`, `abiStructs`, `abiEnums`): [`ParsedEvents`](types.md#parsedevents) - -Parse raw events and structure them into response object based on a contract structs and defined events - -#### Parameters - -| Name | Type | Description | -| :----------------------- | :------------------------------------------------------------ | :------------------------- | -| `providerReceivedEvents` | [`EMITTED_EVENT`](types.RPC.RPCSPEC08.API.md#emitted_event)[] | Array of raw events | -| `abiEvents` | [`AbiEvents`](types.md#abievents) | Events defined in the abi | -| `abiStructs` | [`AbiStructs`](types.md#abistructs) | Structs defined in the abi | -| `abiEnums` | [`AbiEnums`](types.md#abienums) | Enums defined in the abi | - -#### Returns - -[`ParsedEvents`](types.md#parsedevents) - -parsed events corresponding to the abi - -**`Example`** - -```typescript -const abiEvents = events.getAbiEvents(sierra.abi); -const abiStructs = CallData.getAbiStruct(sierra.abi); -const abiEnums = CallData.getAbiEnum(sierra.abi); -const result = events.parseEvents(myEvents, abiEvents, abiStructs, abiEnums); -// result = [{test::ExCh::ex_ch::Trade: { - maker: 7548613724711489396448209137n, - taker: 6435850562375218974960297344n, - router_maker: 0n, - }}] -``` - -#### Defined in - -[src/utils/events/index.ts:196](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/events/index.ts#L196) - ---- - -### parseUDCEvent - -▸ **parseUDCEvent**(`txReceipt`): [`DeployContractUDCResponse`](types.md#deploycontractudcresponse) - -Parse Transaction Receipt Event from UDC invoke transaction and -create DeployContractResponse compatible response with addition of the UDC Event data - -#### Parameters - -| Name | Type | -| :---------- | :------------------------------------------------------------------------------ | -| `txReceipt` | [`InvokeTransactionReceiptResponse`](types.md#invoketransactionreceiptresponse) | - -#### Returns - -[`DeployContractUDCResponse`](types.md#deploycontractudcresponse) - -parsed UDC event data - -#### Defined in - -[src/utils/events/index.ts:265](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/events/index.ts#L265) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/hash.poseidon.md b/www/versioned_docs/version-7.6.2/API/namespaces/hash.poseidon.md deleted file mode 100644 index 874435236..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/hash.poseidon.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -id: 'hash.poseidon' -title: 'Namespace: poseidon' -sidebar_label: 'poseidon' -custom_edit_url: null ---- - -[hash](hash.md).poseidon - -Hashes Exports - -## Type Aliases - -### PoseidonOpts - -Ƭ **PoseidonOpts**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------------- | :------------------ | -| `Fp` | `IField`<`bigint`\> | -| `t` | `number` | -| `roundsFull` | `number` | -| `roundsPartial` | `number` | -| `sboxPower?` | `number` | -| `reversePartialPowIdx?` | `boolean` | -| `mds` | `bigint`[][] | -| `roundConstants` | `bigint`[][] | - -#### Defined in - -node_modules/@noble/curves/esm/abstract/poseidon.d.ts:3 - -## Functions - -### validateOpts - -▸ **validateOpts**(`opts`): `Readonly`<\{ `rounds`: `number` ; `sboxFn`: (`n`: `bigint`) => `bigint` ; `roundConstants`: `bigint`[][] ; `mds`: `bigint`[][] ; `Fp`: `IField`<`bigint`\> ; `t`: `number` ; `roundsFull`: `number` ; `roundsPartial`: `number` ; `sboxPower?`: `number` ; `reversePartialPowIdx?`: `boolean` }\> - -#### Parameters - -| Name | Type | -| :----- | :---------------------------------------------- | -| `opts` | [`PoseidonOpts`](hash.poseidon.md#poseidonopts) | - -#### Returns - -`Readonly`<\{ `rounds`: `number` ; `sboxFn`: (`n`: `bigint`) => `bigint` ; `roundConstants`: `bigint`[][] ; `mds`: `bigint`[][] ; `Fp`: `IField`<`bigint`\> ; `t`: `number` ; `roundsFull`: `number` ; `roundsPartial`: `number` ; `sboxPower?`: `number` ; `reversePartialPowIdx?`: `boolean` }\> - -#### Defined in - -node_modules/@noble/curves/esm/abstract/poseidon.d.ts:13 - ---- - -### splitConstants - -▸ **splitConstants**(`rc`, `t`): `bigint`[][] - -#### Parameters - -| Name | Type | -| :--- | :--------- | -| `rc` | `bigint`[] | -| `t` | `number` | - -#### Returns - -`bigint`[][] - -#### Defined in - -node_modules/@noble/curves/esm/abstract/poseidon.d.ts:25 - ---- - -### poseidon - -▸ **poseidon**(`opts`): (`values`: `bigint`[]) => `bigint`[] - -#### Parameters - -| Name | Type | -| :----- | :---------------------------------------------- | -| `opts` | [`PoseidonOpts`](hash.poseidon.md#poseidonopts) | - -#### Returns - -`fn` - -▸ (`values`): `bigint`[] - -##### Parameters - -| Name | Type | -| :------- | :--------- | -| `values` | `bigint`[] | - -##### Returns - -`bigint`[] - -| Name | Type | -| :--------------- | :----------- | -| `roundConstants` | `bigint`[][] | - -#### Defined in - -node_modules/@noble/curves/esm/abstract/poseidon.d.ts:26 diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/merkle.md b/www/versioned_docs/version-7.6.2/API/namespaces/merkle.md deleted file mode 100644 index 8814ce9dd..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/merkle.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -id: 'merkle' -title: 'Namespace: merkle' -sidebar_label: 'merkle' -sidebar_position: 0 -custom_edit_url: null ---- - -## Classes - -- [MerkleTree](../classes/merkle.MerkleTree.md) - -## Functions - -### proofMerklePath - -▸ **proofMerklePath**(`root`, `leaf`, `path`, `hashMethod?`): `boolean` - -Tests a Merkle tree path - -#### Parameters - -| Name | Type | Default value | Description | -| :----------- | :------------------------------------------------------------------------------------------------------- | :-------------------- | :------------------------------------ | -| `root` | `string` | `undefined` | hex-string | -| `leaf` | `string` | `undefined` | hex-string | -| `path` | `string`[] | `undefined` | hex-string array | -| `hashMethod` | (`a`: [`BigNumberish`](types.md#bignumberish), `b`: [`BigNumberish`](types.md#bignumberish)) => `string` | `computePedersenHash` | hash method to use, default: Pedersen | - -#### Returns - -`boolean` - -true if the path is valid, false otherwise - -**`Example`** - -```typescript -const leaves = ['0x1', '0x2', '0x3', '0x4', '0x5', '0x6', '0x7']; -const tree = new MerkleTree(leaves); -const result = proofMerklePath(tree.root, '0x3', [ - '0x4', - '0x5bb9440e27889a364bcb678b1f679ecd1347acdedcbf36e83494f857cc58026', - '0x8c0e46dd2df9aaf3a8ebfbc25408a582ad7fa7171f0698ddbbc5130b4b4e60', -]); -// result = true -``` - -#### Defined in - -[src/utils/merkle.ts:148](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/merkle.ts#L148) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/num.md b/www/versioned_docs/version-7.6.2/API/namespaces/num.md deleted file mode 100644 index d1b657e10..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/num.md +++ /dev/null @@ -1,705 +0,0 @@ ---- -id: 'num' -title: 'Namespace: num' -sidebar_label: 'num' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### isHex - -▸ **isHex**(`hex`): `boolean` - -Test if string is hex-string - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :---------- | -| `hex` | `string` | hex-string | - -#### Returns - -`boolean` - -true if the input string is a hexadecimal string, false otherwise - -**`Example`** - -```typescript -const hexString1 = '0x2fd23d9182193775423497fc0c472e156c57c69e4089a1967fb288a2d84e914'; -const result1 = isHex(hexString1); -// result1 = true - -const hexString2 = '2fd23d9182193775423497fc0c472e156c57c69e4089a1967fb288a2d84e914'; -const result2 = isHex(hexString2); -// result2 = false -``` - -#### Defined in - -[src/utils/num.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L26) - ---- - -### toBigInt - -▸ **toBigInt**(`value`): `bigint` - -Convert BigNumberish to bigint - -#### Parameters - -| Name | Type | Description | -| :------ | :-------------------------------------- | :--------------- | -| `value` | [`BigNumberish`](types.md#bignumberish) | value to convert | - -#### Returns - -`bigint` - -converted value - -**`Example`** - -```typescript -const str = '123'; -const result = toBigInt(str); -// result = 123n -``` - -#### Defined in - -[src/utils/num.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L42) - ---- - -### tryToBigInt - -▸ **tryToBigInt**(`value`): `undefined` \| `bigint` - -try to convert BigNumberish to bigint -in case of undefined return undefined - -#### Parameters - -| Name | Type | -| :------ | :----------------------------------------------------- | -| `value` | `undefined` \| [`BigNumberish`](types.md#bignumberish) | - -#### Returns - -`undefined` \| `bigint` - -#### Defined in - -[src/utils/num.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L50) - ---- - -### toHex - -▸ **toHex**(`value`): `string` - -Convert BigNumberish to hex-string - -#### Parameters - -| Name | Type | Description | -| :------ | :-------------------------------------- | :--------------- | -| `value` | [`BigNumberish`](types.md#bignumberish) | value to convert | - -#### Returns - -`string` - -converted number in hex-string format - -**`Example`** - -```typescript -toHex(100); // '0x64' -toHex('200'); // '0xc8' -``` - -#### Defined in - -[src/utils/num.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L65) - ---- - -### toStorageKey - -▸ **toStorageKey**(`number`): `string` - -Convert BigNumberish to storage-key-string - -Same as toHex but conforming to the STORAGE_KEY pattern `^0x0[0-7]{1}[a-fA-F0-9]{0,62}$`. - -A storage key is represented as up to 62 hex digits, 3 bits, and 5 leading zeroes: -`0x0 + [0-7] + 62 hex = 0x + 64 hex` - -#### Parameters - -| Name | Type | -| :------- | :-------------------------------------- | -| `number` | [`BigNumberish`](types.md#bignumberish) | - -#### Returns - -`string` - -format: storage-key-string - -**`Example`** - -```typescript -toStorageKey(0x123); // '0x0000000000000000000000000000000000000000000000000000000000000123' -toStorageKey(123); // '0x000000000000000000000000000000000000000000000000000000000000007b' -toStorageKey('test'); // 'Error' -``` - -#### Defined in - -[src/utils/num.ts:89](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L89) - ---- - -### toHex64 - -▸ **toHex64**(`number`): `string` - -Convert BigNumberish to hex format 0x + 64 hex chars - -Similar as toStorageKey but conforming to exactly 0x(64 hex chars). - -#### Parameters - -| Name | Type | -| :------- | :-------------------------------------- | -| `number` | [`BigNumberish`](types.md#bignumberish) | - -#### Returns - -`string` - -format: hex-0x(64)-string - -**`Example`** - -```typescript -toHex64(123); // '0x000000000000000000000000000000000000000000000000000000000000007b' -toHex64(123n); // '0x000000000000000000000000000000000000000000000000000000000000007b' -toHex64('test'); // 'Error' -``` - -#### Defined in - -[src/utils/num.ts:107](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L107) - ---- - -### hexToDecimalString - -▸ **hexToDecimalString**(`hex`): `string` - -Convert hexadecimal string to decimal string - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :-------------------- | -| `hex` | `string` | hex-string to convert | - -#### Returns - -`string` - -converted number in decimal string format - -**`Example`** - -```typescript -hexToDecimalString('64'); // '100' -hexToDecimalString('c8'); // '200' -``` - -#### Defined in - -[src/utils/num.ts:124](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L124) - ---- - -### cleanHex - -▸ **cleanHex**(`hex`): `string` - -Remove hex-string leading zeroes and lowercase it - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :---------- | -| `hex` | `string` | hex-string | - -#### Returns - -`string` - -updated string in hex-string format - -**`Example`** - -```typescript -cleanHex('0x00023AB'); // '0x23ab' -``` - -#### Defined in - -[src/utils/num.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L138) - ---- - -### assertInRange - -▸ **assertInRange**(`input`, `lowerBound`, `upperBound`, `inputName?`): `void` - -Asserts input is equal to or greater then lowerBound and lower then upperBound. - -The `inputName` parameter is used in the assertion message. - -#### Parameters - -| Name | Type | Default value | Description | -| :----------- | :-------------------------------------- | :------------ | :---------------------------------- | -| `input` | [`BigNumberish`](types.md#bignumberish) | `undefined` | Value to check | -| `lowerBound` | [`BigNumberish`](types.md#bignumberish) | `undefined` | Lower bound value | -| `upperBound` | [`BigNumberish`](types.md#bignumberish) | `undefined` | Upper bound value | -| `inputName` | `string` | `''` | Name of the input for error message | - -#### Returns - -`void` - -**`Throws`** - -Error if input is out of range - -**`Example`** - -```typescript -const input1: BigNumberish = 10; -assertInRange(input1, 5, 20, 'value'); - -const input2: BigNumberish = 25; -assertInRange(input2, 5, 20, 'value'); -// throws Error: Message not signable, invalid value length. -``` - -#### Defined in - -[src/utils/num.ts:161](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L161) - ---- - -### bigNumberishArrayToDecimalStringArray - -▸ **bigNumberishArrayToDecimalStringArray**(`data`): `string`[] - -Convert BigNumberish array to decimal string array - -#### Parameters - -| Name | Type | Description | -| :----- | :---------------------------------------- | :------------------------------ | -| `data` | [`BigNumberish`](types.md#bignumberish)[] | array of big-numberish elements | - -#### Returns - -`string`[] - -array of decimal strings - -**`Example`** - -```typescript -const data = [100, 200n]; -const result = bigNumberishArrayToDecimalStringArray(data); -// result = ['100', '200'] -``` - -#### Defined in - -[src/utils/num.ts:190](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L190) - ---- - -### bigNumberishArrayToHexadecimalStringArray - -▸ **bigNumberishArrayToHexadecimalStringArray**(`data`): `string`[] - -Convert BigNumberish array to hexadecimal string array - -#### Parameters - -| Name | Type | Description | -| :----- | :---------------------------------------- | :------------------------------ | -| `data` | [`BigNumberish`](types.md#bignumberish)[] | array of big-numberish elements | - -#### Returns - -`string`[] - -array of hex-strings - -**`Example`** - -```typescript -const data = [100, 200n]; -const result = bigNumberishArrayToHexadecimalStringArray(data); -// result = ['0x64', '0xc8'] -``` - -#### Defined in - -[src/utils/num.ts:206](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L206) - ---- - -### isStringWholeNumber - -▸ **isStringWholeNumber**(`str`): `boolean` - -Test if string is a whole number (0, 1, 2, 3...) - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :------------- | -| `str` | `string` | string to test | - -#### Returns - -`boolean` - -: true if string is a whole number, false otherwise - -**`Example`** - -```typescript -isStringWholeNumber('100'); // true -isStringWholeNumber('10.0'); // false -isStringWholeNumber('test'); // false -``` - -#### Defined in - -[src/utils/num.ts:222](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L222) - ---- - -### getDecimalString - -▸ **getDecimalString**(`str`): `string` - -Convert string to decimal string - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :---------------- | -| `str` | `string` | string to convert | - -#### Returns - -`string` - -converted string in decimal format - -**`Throws`** - -str needs to be a number string in hex or whole number format - -**`Example`** - -```typescript -const result = getDecimalString('0x1a'); -// result = "26" - -const result2 = getDecimalString('Hello'); -// throws Error: "Hello needs to be a hex-string or whole-number-string" -``` - -#### Defined in - -[src/utils/num.ts:241](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L241) - ---- - -### getHexString - -▸ **getHexString**(`str`): `string` - -Convert string to hexadecimal string - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :---------------- | -| `str` | `string` | string to convert | - -#### Returns - -`string` - -converted hex-string - -**`Throws`** - -str needs to be a number string in hex or whole number format - -**`Example`** - -```typescript -const result = getHexString('123'); -// result = "0x7b" - -const result2 = getHexString('Hello'); -// throws Error: Hello needs to be a hex-string or whole-number-string -``` - -#### Defined in - -[src/utils/num.ts:266](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L266) - ---- - -### getHexStringArray - -▸ **getHexStringArray**(`array`): `string`[] - -Convert string array to hex-string array - -#### Parameters - -| Name | Type | Description | -| :------ | :--------- | :----------------------- | -| `array` | `string`[] | array of string elements | - -#### Returns - -`string`[] - -array of converted elements in hex-string format - -**`Example`** - -```typescript -const data = ['100', '200', '0xaa']; -const result = getHexStringArray(data); -// result = ['0x64', '0xc8', '0xaa'] -``` - -#### Defined in - -[src/utils/num.ts:288](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L288) - ---- - -### toCairoBool - -▸ **toCairoBool**(`value`): `string` - -Convert boolean to "0" or "1" - -#### Parameters - -| Name | Type | Description | -| :------ | :-------- | :--------------------------------- | -| `value` | `boolean` | The boolean value to be converted. | - -#### Returns - -`string` - -Returns true if the value is a number, otherwise returns false. - -**`Example`** - -```typescript -const result = toCairoBool(true); -// result ="1" - -const result2 = toCairoBool(false); -// result2 = "0" -``` - -#### Defined in - -[src/utils/num.ts:306](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L306) - ---- - -### hexToBytes - -▸ **hexToBytes**(`str`): `Uint8Array` - -Convert hex-string to an array of Bytes (Uint8Array) - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :---------- | -| `str` | `string` | hex-string | - -#### Returns - -`Uint8Array` - -array containing the converted elements - -**`Throws`** - -str must be a hex-string - -**`Example`** - -```typescript -let result; - -result = hexToBytes('0x64'); -// result = [100] - -result = hexToBytes('test'); -// throws Error: test needs to be a hex-string -``` - -#### Defined in - -[src/utils/num.ts:327](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L327) - ---- - -### addPercent - -▸ **addPercent**(`number`, `percent`): `bigint` - -Adds a percentage amount to the value - -#### Parameters - -| Name | Type | Description | -| :-------- | :-------------------------------------- | :-------------------------------- | -| `number` | [`BigNumberish`](types.md#bignumberish) | value to be modified | -| `percent` | `number` | integer as percent ex. 50 for 50% | - -#### Returns - -`bigint` - -modified value - -**`Example`** - -```typescript -addPercent(100, 50); // 150n -addPercent(100, 100); // 200n -addPercent(200, 50); // 300n -addPercent(200, -50); // 100n -addPercent(200, -100); // 0n -addPercent(200, -150); // -100n -``` - -#### Defined in - -[src/utils/num.ts:353](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L353) - ---- - -### stringToSha256ToArrayBuff4 - -▸ **stringToSha256ToArrayBuff4**(`str`): `Uint8Array` - -Calculate the sha256 hash of an utf8 string, then encode the -result in an uint8Array of 4 elements. -Useful in wallet path calculation. - -#### Parameters - -| Name | Type | Description | -| :---- | :------- | :------------------------------------ | -| `str` | `string` | utf8 string (hex string not handled). | - -#### Returns - -`Uint8Array` - -a uint8Array of 4 bytes. - -**`Example`** - -```typescript -const ledgerPathApplicationName = 'LedgerW'; -const path2Buffer = num.stringToSha256ToArrayBuff4(ledgerPathApplicationName); -// path2Buffer = Uint8Array(4) [43, 206, 231, 219] -``` - -#### Defined in - -[src/utils/num.ts:371](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L371) - ---- - -### isBigNumberish - -▸ **isBigNumberish**(`input`): input is BigNumberish - -Checks if a given value is of BigNumberish type. -234, 234n, "234", "0xea" are valid - -#### Parameters - -| Name | Type | Description | -| :------ | :-------- | :---------- | -| `input` | `unknown` | a value | - -#### Returns - -input is BigNumberish - -true if type of input is `BigNumberish` - -**`Example`** - -```typescript -const res = num.isBigNumberish('ZERO'); -// res = false -``` - -#### Defined in - -[src/utils/num.ts:389](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L389) - ---- - -### toHexString - -▸ **toHexString**(`value`): `string` - -Alias of ToHex - -#### Parameters - -| Name | Type | -| :------ | :-------------------------------------- | -| `value` | [`BigNumberish`](types.md#bignumberish) | - -#### Returns - -`string` - -#### Defined in - -[src/utils/num.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/num.ts#L65) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/selector.md b/www/versioned_docs/version-7.6.2/API/namespaces/selector.md deleted file mode 100644 index b489b4546..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/selector.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -id: 'selector' -title: 'Namespace: selector' -sidebar_label: 'selector' -sidebar_position: 0 -custom_edit_url: null ---- - -## References - -### keccakBn - -Re-exports [keccakBn](hash.md#keccakbn) - ---- - -### starknetKeccak - -Re-exports [starknetKeccak](hash.md#starknetkeccak) - ---- - -### getSelectorFromName - -Re-exports [getSelectorFromName](hash.md#getselectorfromname) - ---- - -### getSelector - -Re-exports [getSelector](hash.md#getselector) - ---- - -### solidityUint256PackedKeccak256 - -Re-exports [solidityUint256PackedKeccak256](hash.md#solidityuint256packedkeccak256) - ---- - -### getL2MessageHash - -Re-exports [getL2MessageHash](hash.md#getl2messagehash) - ---- - -### getL1MessageHash - -Re-exports [getL1MessageHash](hash.md#getl1messagehash) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/src5.md b/www/versioned_docs/version-7.6.2/API/namespaces/src5.md deleted file mode 100644 index 58d5f7721..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/src5.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: 'src5' -title: 'Namespace: src5' -sidebar_label: 'src5' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### supportsInterface - -▸ **supportsInterface**(`provider`, `contractAddress`, `interfaceId`): `Promise`<`boolean`\> - -Implementation of ERC165 introspection. -Verify if a contract has implemented some standard functionalities. - -#### Parameters - -| Name | Type | Description | -| :---------------- | :-------------------------------------- | :-------------------------------------- | -| `provider` | [`Provider`](../classes/Provider.md) | the provider to access to Starknet. | -| `contractAddress` | [`BigNumberish`](types.md#bignumberish) | the address of the contract to check. | -| `interfaceId` | [`BigNumberish`](types.md#bignumberish) | the hash of the functionality to check. | - -#### Returns - -`Promise`<`boolean`\> - -true if the interfaceId is implemented in this contract. - -**`Example`** - -```typescript -const snip9InterfaceV2Id = constants.SNIP9_V2_INTERFACE_ID; -const result = src5.supportsInterface(myProvider, accountContractAddress, snip9InterfaceV2Id); -// result = true -``` - -#### Defined in - -[src/utils/src5.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/src5.ts#L19) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/stark.md b/www/versioned_docs/version-7.6.2/API/namespaces/stark.md deleted file mode 100644 index c4e5c47b6..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/stark.md +++ /dev/null @@ -1,554 +0,0 @@ ---- -id: 'stark' -title: 'Namespace: stark' -sidebar_label: 'stark' -sidebar_position: 0 -custom_edit_url: null ---- - -## Type Aliases - -### feeOverhead - -Ƭ **feeOverhead**: [`ResourceBounds`](types.md#resourcebounds) - -#### Defined in - -[src/utils/stark/index.ts:232](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L232) - -## Functions - -### compressProgram - -▸ **compressProgram**(`jsonProgram`): [`CompressedProgram`](types.md#compressedprogram) - -Compress compiled Cairo 0 program - -[Reference](https://github.com/starkware-libs/cairo-lang/blob/master/src/starkware/starknet/services/api/gateway/transaction.py#L54-L58) - -#### Parameters - -| Name | Type | Description | -| :------------ | :------------------------------------------------------ | :---------------------------------------- | -| `jsonProgram` | `string` \| [`Program`](../interfaces/types.Program.md) | Representing the compiled Cairo 0 program | - -#### Returns - -[`CompressedProgram`](types.md#compressedprogram) - -Compressed Cairo 0 program - -**`Example`** - -```typescript -const contractCairo0 = json.parse(fs.readFileSync('./cairo0contract.json').toString('ascii')); -const result = stark.compressProgram(contractCairo0); -// result = "H4sIAAAAAAAAA+1dC4/bOJL+K4aBu01me7r5EEUyixzQk/TuB..." -``` - -#### Defined in - -[src/utils/stark/index.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L70) - ---- - -### decompressProgram - -▸ **decompressProgram**(`base64`): `any` - -Decompress compressed compiled Cairo 0 program - -#### Parameters - -| Name | Type | Description | -| :------- | :--------------------- | :------------------------- | -| `base64` | `string` \| `string`[] | Compressed Cairo 0 program | - -#### Returns - -`any` - -Parsed decompressed compiled Cairo 0 program - -**`Example`** - -```typescript -const contractCairo0 = json.parse(fs.readFileSync('./cairo0contract.json').toString('ascii')); -const compressedCairo0 = stark.compressProgram(contractCairo0); -const result = stark.decompressProgram(compressedCairo0); -// result = { -// abi: [ -// { -// inputs: [Array], -// name: 'increase_balance', -// outputs: [], -// type: 'function' -// } -// ], -// entry_points_by_type: { CONSTRUCTOR: [], EXTERNAL: [ [Object], [Object] ], L1_HANDLER: [] }, -// program: { -// attributes: [], -// builtins: [ 'pedersen', 'range_check' ], -// compiler_version: '0.10.2', -// data: [ -// '0x480680017fff8000', -// ... -``` - -#### Defined in - -[src/utils/stark/index.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L104) - ---- - -### randomAddress - -▸ **randomAddress**(): `string` - -Random Address based on random keyPair - -#### Returns - -`string` - -an hex string of a random Starknet address - -**`Example`** - -```typescript -const result = stark.randomAddress(); -// result = "0x51fc8126a13cd5ddb29a71ca399cb1e814f086f5af1b502d7151c14929554f" -``` - -#### Defined in - -[src/utils/stark/index.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L119) - ---- - -### formatSignature - -▸ **formatSignature**(`sig?`): [`ArraySignatureType`](types.md#arraysignaturetype) - -Format Signature to standard type (hex array) - -#### Parameters - -| Name | Type | -| :----- | :-------------------------------- | -| `sig?` | [`Signature`](types.md#signature) | - -#### Returns - -[`ArraySignatureType`](types.md#arraysignaturetype) - -Custom hex string array - -**`Throws`** - -if sig not defined, or wrong format - -**`Example`** - -```typescript -const signature = ec.starkCurve.sign('0x12de34', '0x3487123eac'); -const result = stark.formatSignature(signature); -// result = ['0xba8eecee2d69c417e8c6a20cf331c821f716b58ba9e47166c7476afdb38997', -// '0x69ef7438c94104839a6e2aa2385482a77399d2f46e894ae4f50ab6d69239d1c'] -``` - -#### Defined in - -[src/utils/stark/index.ts:137](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L137) - ---- - -### signatureToDecimalArray - -▸ **signatureToDecimalArray**(`sig?`): [`ArraySignatureType`](types.md#arraysignaturetype) - -Format Signature to decimal string array - -#### Parameters - -| Name | Type | -| :----- | :-------------------------------- | -| `sig?` | [`Signature`](types.md#signature) | - -#### Returns - -[`ArraySignatureType`](types.md#arraysignaturetype) - -Custom hex string array - -**`Throws`** - -if sig not defined, or wrong format - -**`Example`** - -```typescript -const signature = ec.starkCurve.sign('0x12de34', '0x3487123eac'); -const result = stark.signatureToDecimalArray(signature); -// result = ['329619989660444495690615805546674399714973829707166906185976654753023887767', -// '2994745480203297689255012826403147585778741462125743754529207781488706428188'] -``` - -#### Defined in - -[src/utils/stark/index.ts:163](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L163) - ---- - -### signatureToHexArray - -▸ **signatureToHexArray**(`sig?`): [`ArraySignatureType`](types.md#arraysignaturetype) - -Format Signature to hex string array - -#### Parameters - -| Name | Type | -| :----- | :-------------------------------- | -| `sig?` | [`Signature`](types.md#signature) | - -#### Returns - -[`ArraySignatureType`](types.md#arraysignaturetype) - -Custom hex string array - -**`Throws`** - -if sig not defined, or wrong format - -**`Example`** - -```typescript -const signature = ec.starkCurve.sign('0x12de34', '0x3487123eac'); -const result = stark.signatureToHexArray(signature); -// result = ['0xba8eecee2d69c417e8c6a20cf331c821f716b58ba9e47166c7476afdb38997', -// '0x69ef7438c94104839a6e2aa2385482a77399d2f46e894ae4f50ab6d69239d1c'] -``` - -#### Defined in - -[src/utils/stark/index.ts:180](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L180) - ---- - -### estimatedFeeToMaxFee - -▸ **estimatedFeeToMaxFee**(`estimatedFee`, `overhead?`): `bigint` - -Convert estimated fee to max fee including a margin - -#### Parameters - -| Name | Type | Description | -| :------------- | :-------------------------------------- | :---------------------------- | -| `estimatedFee` | [`BigNumberish`](types.md#bignumberish) | The estimated fee | -| `overhead?` | `number` | The overhead added to the gas | - -#### Returns - -`bigint` - -The maximum fee with the margin - -**`Example`** - -```typescript -const result = stark.estimatedFeeToMaxFee('8982300000000', 50); -// result = "13473450000000n" -``` - -#### Defined in - -[src/utils/stark/index.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L195) - ---- - -### estimateFeeToBounds - -▸ **estimateFeeToBounds**(`estimate`, `overhead?`, `specVersion?`): [`ResourceBounds`](types.md#resourcebounds) - -Calculates the maximum resource bounds for fee estimation. - -#### Parameters - -| Name | Type | Description | -| :------------- | :---------------------------------------------------------- | :------------------------------------------------------------------------------------------- | -| `estimate` | `0n` \| [`FeeEstimate`](types.md#feeestimate) | The estimate for the fee. If a BigInt is provided, the returned bounds will be set to '0x0'. | -| `overhead?` | [`ResourceBoundsOverhead`](types.md#resourceboundsoverhead) | The percentage overhead added to the max units and max price per unit. | -| `specVersion?` | `"0.7.1"` \| `"0.8.1"` | - | - -#### Returns - -[`ResourceBounds`](types.md#resourcebounds) - -The resource bounds with overhead. - -**`Throws`** - -If the estimate object is undefined or does not have the required properties. - -#### Defined in - -[src/utils/stark/index.ts:210](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L210) - ---- - -### ZEROFee - -▸ **ZEROFee**(`specVersion`): `Object` - -Mock zero fee response - -#### Parameters - -| Name | Type | -| :------------ | :--------------------- | -| `specVersion` | `"0.7.1"` \| `"0.8.1"` | - -#### Returns - -`Object` - -| Name | Type | -| :--------------------- | :---------------------------------------------------- | -| `l1_gas_consumed` | `bigint` | -| `l1_gas_price` | `bigint` | -| `l1_data_gas_consumed` | `bigint` | -| `l1_data_gas_price` | `bigint` | -| `l2_gas_consumed` | `bigint` | -| `l2_gas_price` | `bigint` | -| `overall_fee` | `bigint` | -| `unit` | [`PRICE_UNIT`](types.RPC.RPCSPEC08.API.md#price_unit) | -| `suggestedMaxFee` | `bigint` | -| `resourceBounds` | [`ResourceBounds`](types.md#resourcebounds) | - -#### Defined in - -[src/utils/stark/index.ts:237](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L237) - ---- - -### intDAM - -▸ **intDAM**(`dam`): [`EDAMode`](types.md#edamode-1) - -Converts the data availability mode from EDataAvailabilityMode to EDAMode. - -#### Parameters - -| Name | Type | Description | -| :---- | :---------------------------------------------------------------------------- | :------------------------------------------ | -| `dam` | [`EDataAvailabilityMode`](types.RPC.RPCSPEC08.API.md#edataavailabilitymode-1) | The data availability mode to be converted. | - -#### Returns - -[`EDAMode`](types.md#edamode-1) - -The converted data availability mode. - -**`Throws`** - -If the data availability mode is not a valid value. - -**`Example`** - -```typescript -const result = stark.intDAM(RPC.EDataAvailabilityMode.L1); -// result = 0 -``` - -#### Defined in - -[src/utils/stark/index.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L264) - ---- - -### toTransactionVersion - -▸ **toTransactionVersion**(`defaultVersion`, `providedVersion?`): [`ETransactionVersion`](types.md#etransactionversion-1) - -Convert to ETransactionVersion or throw an error. -Return providedVersion is specified else return defaultVersion - -#### Parameters - -| Name | Type | Description | -| :----------------- | :-------------------------------------- | :----------------------------------- | -| `defaultVersion` | [`BigNumberish`](types.md#bignumberish) | default estimate transaction version | -| `providedVersion?` | [`BigNumberish`](types.md#bignumberish) | estimate transaction version | - -#### Returns - -[`ETransactionVersion`](types.md#etransactionversion-1) - -if providedVersion is not provided, returns the default estimate version, else return the provided version - -**`Throws`** - -if estimate transaction version or default estimate transaction version is unknown - -**`Example`** - -```typescript -const result = stark.toTransactionVersion( - '0x100000000000000000000000000000003', - stark.toFeeVersion(2) -); -// result = "0x100000000000000000000000000000002" -``` - -#### Defined in - -[src/utils/stark/index.ts:283](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L283) - ---- - -### toFeeVersion - -▸ **toFeeVersion**(`providedVersion?`): [`ETransactionVersion`](types.md#etransactionversion-1) \| `undefined` - -Convert Transaction version to Fee version or throw an error - -#### Parameters - -| Name | Type | Description | -| :----------------- | :-------------------------------------- | :----------------------------------------------- | -| `providedVersion?` | [`BigNumberish`](types.md#bignumberish) | 0..3 number representing the transaction version | - -#### Returns - -[`ETransactionVersion`](types.md#etransactionversion-1) \| `undefined` - -the fee estimation version corresponding to the transaction version provided - -**`Throws`** - -if the transaction version is unknown - -**`Example`** - -```typescript -const result = stark.toFeeVersion(2); -// result = "0x100000000000000000000000000000002" -``` - -#### Defined in - -[src/utils/stark/index.ts:311](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L311) - ---- - -### v3Details - -▸ **v3Details**(`details`, `specVersion?`): `V3Details` - -Return provided or default v3 tx details - -#### Parameters - -| Name | Type | Description | -| :------------- | :------------------------------------------------------------ | :------------------------- | -| `details` | [`UniversalDetails`](../interfaces/types.UniversalDetails.md) | details of the transaction | -| `specVersion?` | `"0.7.1"` \| `"0.8.1"` | - | - -#### Returns - -`V3Details` - -an object including the V3 transaction details. - -**`Example`** - -```typescript -const detail: UniversalDetails = { tip: 3456n }; -const result = stark.v3Details(detail); -// result = { -// tip: 3456n, -// paymasterData: [], -// accountDeploymentData: [], -// nonceDataAvailabilityMode: 'L1', -// feeDataAvailabilityMode: 'L1', -// resourceBounds: { -// l2_gas: { max_amount: '0x0', max_price_per_unit: '0x0' }, -// l1_gas: { max_amount: '0x0', max_price_per_unit: '0x0' } -// } -// } -``` - -#### Defined in - -[src/utils/stark/index.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L345) - ---- - -### reduceV2 - -▸ **reduceV2**(`providedVersion`): [`ETransactionVersion`](types.md#etransactionversion-1) - -It will reduce V2 to V1, else (V3) stay the same -F2 -> F1 -V2 -> V1 -F3 -> F3 -V3 -> V3 - -#### Parameters - -| Name | Type | -| :---------------- | :------------------------------------------------------------------------ | -| `providedVersion` | [`ETransactionVersion`](types.RPC.RPCSPEC08.API.md#etransactionversion-1) | - -#### Returns - -[`ETransactionVersion`](types.md#etransactionversion-1) - -if v2 then returns v1. if v3 then return v3 - -**`Example`** - -```typescript -const result = stark.reduceV2(constants.TRANSACTION_VERSION.V2); -// result = "0x1" -``` - -#### Defined in - -[src/utils/stark/index.ts:370](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L370) - ---- - -### getFullPublicKey - -▸ **getFullPublicKey**(`privateKey`): `string` - -get the hex string of the full public key related to a Starknet private key. - -#### Parameters - -| Name | Type | Description | -| :----------- | :-------------------------------------- | :---------------------- | -| `privateKey` | [`BigNumberish`](types.md#bignumberish) | a 252 bits private key. | - -#### Returns - -`string` - -an hex string of a 520 bit number, representing the full public key related to `privateKey`. - -**`Example`** - -```typescript -const result = ec.getFullPublicKey( - '0x43b7240d227aa2fb8434350b3321c40ac1b88c7067982549e7609870621b535' -); -// result = "0x0400b730bd22358612b5a67f8ad52ce80f9e8e893639ade263537e6ef35852e5d3057795f6b090f7c6985ee143f798608a53b3659222c06693c630857a10a92acf" -``` - -#### Defined in - -[src/utils/stark/index.ts:386](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/stark/index.ts#L386) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/transaction.md b/www/versioned_docs/version-7.6.2/API/namespaces/transaction.md deleted file mode 100644 index 32ac2a991..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/transaction.md +++ /dev/null @@ -1,292 +0,0 @@ ---- -id: 'transaction' -title: 'Namespace: transaction' -sidebar_label: 'transaction' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### buildUDCCall - -▸ **buildUDCCall**(`payload`, `address`): `Object` - -Builds a UDCCall object. - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------- | -| `payload` | [`UniversalDeployerContractPayload`](types.md#universaldeployercontractpayload) \| [`UniversalDeployerContractPayload`](types.md#universaldeployercontractpayload)[] | the payload data for the UDCCall. Can be a single payload object or an array of payload objects. | -| `address` | `string` | the address to be used in the UDCCall | - -#### Returns - -`Object` - -the UDCCall object containing an array of calls and an array of addresses. - -| Name | Type | -| :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `calls` | \{ `contractAddress`: `"0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf"` = UDC.ADDRESS; `entrypoint`: `"deployContract"` = UDC.ENTRYPOINT; `calldata`: [`BigNumberish`](types.md#bignumberish)[] }[] | -| `addresses` | `string`[] | - -**`Example`** - -```typescript -const payload: UniversalDeployerContractPayload = { - classHash: '0x1234567890123456789012345678901234567890', - salt: '0x0987654321098765432109876543210987654321', - unique: true, - constructorCalldata: [1, 2, 3], -}; -const address = '0xABCDEF1234567890ABCDEF1234567890ABCDEF12'; -const result = transaction.buildUDCCall(payload, address); -// result = { -// calls: [ -// { -// contractAddress: "0xABCDEF1234567890ABCDEF1234567890ABCDEF12", -// entrypoint: "functionName", -// calldata: [classHash, salt, true, 3, 1, 2, 3] -// }], -// addresses: ["0x6fD084B56a7EDc5C06B3eB40f97Ae5A0C707A865"] -// } -``` - -#### Defined in - -[src/utils/transaction.ts:200](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transaction.ts#L200) - ---- - -### getVersionsByType - -▸ **getVersionsByType**(`versionType?`): \{ `v1`: `"0x100000000000000000000000000000001"` = ETransactionVersion.F1; `v2`: `"0x100000000000000000000000000000002"` = ETransactionVersion.F2; `v3`: `"0x100000000000000000000000000000003"` = ETransactionVersion.F3 } \| \{ `v1`: `"0x1"` = ETransactionVersion.V1; `v2`: `"0x2"` = ETransactionVersion.V2; `v3`: `"0x3"` = ETransactionVersion.V3 } - -Return transaction versions based on version type, default version type is 'transaction'. - -#### Parameters - -| Name | Type | Description | -| :------------- | :------------------------- | :------------------------------------------- | -| `versionType?` | `"fee"` \| `"transaction"` | the type of version ("fee" or "transaction") | - -#### Returns - -\{ `v1`: `"0x100000000000000000000000000000001"` = ETransactionVersion.F1; `v2`: `"0x100000000000000000000000000000002"` = ETransactionVersion.F2; `v3`: `"0x100000000000000000000000000000003"` = ETransactionVersion.F3 } \| \{ `v1`: `"0x1"` = ETransactionVersion.V1; `v2`: `"0x2"` = ETransactionVersion.V2; `v3`: `"0x3"` = ETransactionVersion.V3 } - -an object containing the transaction versions. - -**`Example`** - -```typescript -const result = transaction.getVersionsByType('fee'); -// result = { -// v1: '0x100000000000000000000000000000001', -// v2: '0x100000000000000000000000000000002', -// v3: '0x100000000000000000000000000000003' -// } -``` - -#### Defined in - -[src/utils/transaction.ts:256](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transaction.ts#L256) - ---- - -### transformCallsToMulticallArrays - -▸ **transformCallsToMulticallArrays**(`calls`): `Object` - -Transforms a list of Calls, each with their own calldata, into -two arrays: one with the entry points, and one with the concatenated calldata - -#### Parameters - -| Name | Type | Description | -| :------ | :------------------------ | :------------------------------ | -| `calls` | [`Call`](types.md#call)[] | the list of calls to transform. | - -#### Returns - -`Object` - -An object containing two arrays: callArray and calldata. - -| Name | Type | -| :---------- | :---------------------------------------- | -| `callArray` | [`ParsedStruct`](types.md#parsedstruct)[] | -| `calldata` | [`Calldata`](types.md#calldata) | - -**`Example`** - -```typescript -const calls: Call[] = [ - { - contractAddress: '0x1234567890123456789012345678901234567890', - entrypoint: 'functionName', - calldata: [1, 2, 3], - }, - { - contractAddress: '0x0987654321098765432109876543210987654321', - entrypoint: 'anotherFunction', - calldata: [4, 5, 6], - }, -]; -const result = transaction.transformCallsToMulticallArrays(calls); -// result = { -// callArray: [ -// { to: "0x1234567890123456789012345678901234567890", selector: "1234567890", -// data_offset: "0", data_len: "3" }, -// { to: "0x0987654321098765432109876543210987654321", selector: "1234567890", -// data_offset: "0987654321", data_offset: "3", data_len: "3"} -// ], calldata: [1, 2, 3, 4, 5, 6] -// } -``` - -#### Defined in - -[src/utils/transaction.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transaction.ts#L48) - ---- - -### fromCallsToExecuteCalldata - -▸ **fromCallsToExecuteCalldata**(`calls`): [`Calldata`](types.md#calldata) - -Transforms a list of calls into the Cairo 0 `__execute__` calldata. - -#### Parameters - -| Name | Type | Description | -| :------ | :------------------------ | :----------------------------- | -| `calls` | [`Call`](types.md#call)[] | the list of calls to transform | - -#### Returns - -[`Calldata`](types.md#calldata) - -the Cairo 0 `__execute__` calldata - -**`Example`** - -```typescript -const calls: Call[] = [ - { - contractAddress: '0x1234567890123456789012345678901234567890', - entrypoint: 'functionName', - calldata: [1, 2, 3], - }, - { - contractAddress: '0x0987654321098765432109876543210987654321', - entrypoint: 'anotherFunction', - calldata: [4, 5, 6], - }, -]; -const result = transaction.fromCallsToExecuteCalldata(calls); -// result = ['2', '103929005307130220006098923584552504982110632080', -// '784552248838722632831848474045274978537388011177294206940059575485454596699', '0', -// '3', '54400338722927882010739357306608455014511100705', -// '836430224577382061379420368022192503799782058803937958828224424676927281484', -// '3', '3', '6', '1', '2', '3', '4', '5', '6'] -``` - -#### Defined in - -[src/utils/transaction.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transaction.ts#L93) - ---- - -### fromCallsToExecuteCalldata_cairo1 - -▸ **fromCallsToExecuteCalldata_cairo1**(`calls`): [`Calldata`](types.md#calldata) - -Transforms a list of calls into the Cairo 1 `__execute__` calldata. - -#### Parameters - -| Name | Type | Description | -| :------ | :------------------------ | :------------------------------ | -| `calls` | [`Call`](types.md#call)[] | the list of calls to transform. | - -#### Returns - -[`Calldata`](types.md#calldata) - -the Cairo 1 `__execute__` calldata. - -**`Example`** - -```typescript -const calls: Call[] = [ - { - contractAddress: '0x1234567890123456789012345678901234567890', - entrypoint: 'functionName', - calldata: [1, 2, 3], - }, - { - contractAddress: '0x0987654321098765432109876543210987654321', - entrypoint: 'anotherFunction', - calldata: [4, 5, 6], - }, -]; -const result = transaction.fromCallsToExecuteCalldata_cairo1(calls); -// result = ['2', '103929005307130220006098923584552504982110632080', -// '784552248838722632831848474045274978537388011177294206940059575485454596699', -// '3', '1', '2', '3', '54400338722927882010739357306608455014511100705', -// '836430224577382061379420368022192503799782058803937958828224424676927281484', -// '3', '4', '5', '6'] -``` - -#### Defined in - -[src/utils/transaction.ts:125](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transaction.ts#L125) - ---- - -### getExecuteCalldata - -▸ **getExecuteCalldata**(`calls`, `cairoVersion?`): [`Calldata`](types.md#calldata) - -Create `__execute__` Calldata from Calls based on Cairo versions. - -#### Parameters - -| Name | Type | Default value | Description | -| :------------- | :-------------------------------------- | :------------ | :----------------------------- | -| `calls` | [`Call`](types.md#call)[] | `undefined` | the list of calls to transform | -| `cairoVersion` | [`CairoVersion`](types.md#cairoversion) | `'0'` | the Cairo version | - -#### Returns - -[`Calldata`](types.md#calldata) - -the `__execute__` calldata. - -**`Example`** - -```typescript -const calls: Call[] = [ - { - contractAddress: '0x1234567890123456789012345678901234567890', - entrypoint: 'functionName', - calldata: [1, 2, 3], - }, - { - contractAddress: '0x0987654321098765432109876543210987654321', - entrypoint: 'anotherFunction', - calldata: [4, 5, 6], - }, -]; -const result = transaction.getExecuteCalldata(calls, '1'); -// result = ['2', '103929005307130220006098923584552504982110632080', -// '784552248838722632831848474045274978537388011177294206940059575485454596699', -// '3', '1', '2', '3', '54400338722927882010739357306608455014511100705', -// '836430224577382061379420368022192503799782058803937958828224424676927281484', -// '3', '4', '5', '6'] -``` - -#### Defined in - -[src/utils/transaction.ts:166](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transaction.ts#L166) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/typedData.md b/www/versioned_docs/version-7.6.2/API/namespaces/typedData.md deleted file mode 100644 index d61bf9c9c..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/typedData.md +++ /dev/null @@ -1,459 +0,0 @@ ---- -id: 'typedData' -title: 'Namespace: typedData' -sidebar_label: 'typedData' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### validateTypedData - -▸ **validateTypedData**(`data`): data is TypedData - -Validates that `data` matches the EIP-712 JSON schema. - -#### Parameters - -| Name | Type | -| :----- | :-------- | -| `data` | `unknown` | - -#### Returns - -data is TypedData - -#### Defined in - -[src/utils/typedData.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/typedData.ts#L99) - ---- - -### prepareSelector - -▸ **prepareSelector**(`selector`): `string` - -Prepares the selector for later use, if it's not already in correct format. -The selector in correct format is the starknet_keccak hash of the function name, encoded in ASCII. - -#### Parameters - -| Name | Type | Description | -| :--------- | :------- | :--------------------------- | -| `selector` | `string` | The selector to be prepared. | - -#### Returns - -`string` - -The prepared selector. - -**`Example`** - -```typescript -const result1 = prepareSelector('0xc14cfe23f3fa7ce7b1f8db7d7682305b1692293f71a61cc06637f0d8d8b6c8'); -// result1 = '0xc14cfe23f3fa7ce7b1f8db7d7682305b1692293f71a61cc06637f0d8d8b6c8' - -const result2 = prepareSelector('myFunction'); -// result2 = '0xc14cfe23f3fa7ce7b1f8db7d7682305b1692293f71a61cc06637f0d8d8b6c8' -``` - -#### Defined in - -[src/utils/typedData.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/typedData.ts#L122) - ---- - -### isMerkleTreeType - -▸ **isMerkleTreeType**(`type`): type is StarknetMerkleType - -Checks if the given Starknet type is a Merkle tree type. - -#### Parameters - -| Name | Type | Description | -| :----- | :--------------------------------------------------------------- | :-------------------------- | -| `type` | [`StarknetType`](types.RPC.RPCSPEC07.WALLET_API.md#starknettype) | The StarkNet type to check. | - -#### Returns - -type is StarknetMerkleType - -- True if the type is a Merkle tree type, false otherwise. - -**`Example`** - -```typescript -const type = { name: 'test', type: 'merkletree' }; -const result1 = isMerkleTreeType(type); -// result1 = true - -const type2 = { name: 'test', type: 'non-merkletree' }; -const result2 = isMerkleTreeType(type2); -// result2 = false -``` - -#### Defined in - -[src/utils/typedData.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/typedData.ts#L144) - ---- - -### getDependencies - -▸ **getDependencies**(`types`, `type`, `dependencies?`, `contains?`, `revision?`): `string`[] - -Get the dependencies of a struct type. If a struct has the same dependency multiple times, it's only included once -in the resulting array. - -#### Parameters - -| Name | Type | Default value | Description | -| :-------------- | :-------------------------------------------------------------------------------------- | :---------------- | :--------------------------------------------- | -| `types` | `Record`<`string`, [`StarknetType`](types.RPC.RPCSPEC07.WALLET_API.md#starknettype)[]\> | `undefined` | The types object containing all defined types. | -| `type` | `string` | `undefined` | The name of the type to get dependencies for. | -| `dependencies?` | `string`[] | `[]` | The array to store dependencies. | -| `contains?` | `string` | `''` | The type contained within the struct. | -| `revision?` | [`TypedDataRevision`](types.RPC.RPCSPEC07.WALLET_API.md#typeddatarevision-1) | `Revision.LEGACY` | The revision of the TypedData. | - -#### Returns - -`string`[] - -The array of dependencies. - -#### Defined in - -[src/utils/typedData.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/typedData.ts#L160) - ---- - -### encodeType - -▸ **encodeType**(`types`, `type`, `revision?`): `string` - -Encode a type to a string. All dependent types are alphabetically sorted. - -#### Parameters - -| Name | Type | Default value | Description | -| :---------- | :-------------------------------------------------------------------------------------- | :---------------- | :--------------------------------------------- | -| `types` | `Record`<`string`, [`StarknetType`](types.RPC.RPCSPEC07.WALLET_API.md#starknettype)[]\> | `undefined` | The types object containing all defined types. | -| `type` | `string` | `undefined` | The name of the type to encode. | -| `revision?` | [`TypedDataRevision`](types.RPC.RPCSPEC07.WALLET_API.md#typeddatarevision-1) | `Revision.LEGACY` | The revision of the TypedData. | - -#### Returns - -`string` - -The encoded string. - -**`Example`** - -```typescript -import typedDataExample from '../../__mocks__/typedData/baseExample.json'; - -const result = encodeType(typedDataExample.types, 'Mail'); -// result = "Mail(from:Person,to:Person,contents:felt)Person(name:felt,wallet:felt)"; -``` - -#### Defined in - -[src/utils/typedData.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/typedData.ts#L242) - ---- - -### getTypeHash - -▸ **getTypeHash**(`types`, `type`, `revision?`): `string` - -Get a type string as hash. - -#### Parameters - -| Name | Type | Default value | Description | -| :---------- | :-------------------------------------------------------------------------------------- | :---------------- | :--------------------------------------------- | -| `types` | `Record`<`string`, [`StarknetType`](types.RPC.RPCSPEC07.WALLET_API.md#starknettype)[]\> | `undefined` | The types object containing all defined types. | -| `type` | `string` | `undefined` | The name of the type to hash. | -| `revision?` | [`TypedDataRevision`](types.RPC.RPCSPEC07.WALLET_API.md#typeddatarevision-1) | `Revision.LEGACY` | The revision of the TypedData. | - -#### Returns - -`string` - -The hash. - -**`Example`** - -```typescript -import typedDataExample from '../../__mocks__/typedData/baseExample.json'; - -const result = getTypeHash(typedDataExample.types, 'StarkNetDomain'); -// result = "0x1bfc207425a47a5dfa1a50a4f5241203f50624ca5fdf5e18755765416b8e288"; -``` - -#### Defined in - -[src/utils/typedData.ts:301](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/typedData.ts#L301) - ---- - -### encodeValue - -▸ **encodeValue**(`types`, `type`, `data`, `ctx?`, `revision?`): [`string`, `string`] - -Encodes a single value to an ABI serialisable string, number or Buffer. Returns the data as a tuple, which consists of -an array of ABI compatible types, and an array of corresponding values. - -#### Parameters - -| Name | Type | Default value | Description | -| :---------- | :-------------------------------------------------------------------------------------- | :---------------- | :--------------------------------------------- | -| `types` | `Record`<`string`, [`StarknetType`](types.RPC.RPCSPEC07.WALLET_API.md#starknettype)[]\> | `undefined` | The types object containing all defined types. | -| `type` | `string` | `undefined` | The name of the type to encode. | -| `data` | `unknown` | `undefined` | The data to encode. | -| `ctx?` | `Context` | `{}` | The context of the encoding process. | -| `revision?` | [`TypedDataRevision`](types.RPC.RPCSPEC07.WALLET_API.md#typeddatarevision-1) | `Revision.LEGACY` | The revision of the TypedData. | - -#### Returns - -[`string`, `string`] - -The ABI compatible type and corresponding value. - -**`Example`** - -```typescript -import { getSelectorFromName } from '../../src/utils/hash'; - -const selector = 'transfer'; -const selectorHash = getSelectorFromName(selector); -const result1 = encodeValue({}, 'felt', selectorHash); - -// result1 = ['felt', '0x83afd3f4caedc6eebf44246fe54e38c95e3179a5ec9ea81740eca5b482d12e'] -``` - -#### Defined in - -[src/utils/typedData.ts:332](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/typedData.ts#L332) - ---- - -### encodeData - -▸ **encodeData**<`T`\>(`types`, `type`, `data`, `revision?`): [`string`[], `string`[]] - -Encode the data to an ABI encoded Buffer. The data should be a key -> value object with all the required values. -All dependent types are automatically encoded. - -#### Type parameters - -| Name | Type | -| :--- | :------------------------------------------------------------------------------- | -| `T` | extends [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | - -#### Parameters - -| Name | Type | Default value | Description | -| :---------- | :--------------------------------------------------------------------------- | :---------------- | :--------------------------------------------- | -| `types` | `T`[``"types"``] | `undefined` | The types object containing all defined types. | -| `type` | `string` | `undefined` | The name of the type to encode. | -| `data` | `T`[``"message"``] | `undefined` | The data to encode. | -| `revision?` | [`TypedDataRevision`](types.RPC.RPCSPEC07.WALLET_API.md#typeddatarevision-1) | `Revision.LEGACY` | The revision of the TypedData. | - -#### Returns - -[`string`[], `string`[]] - -The ABI compatible types and corresponding values. - -#### Defined in - -[src/utils/typedData.ts:470](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/typedData.ts#L470) - ---- - -### getStructHash - -▸ **getStructHash**<`T`\>(`types`, `type`, `data`, `revision?`): `string` - -Get encoded data as a hash. The data should be a key -> value object with all the required values. -All dependent types are automatically encoded. - -#### Type parameters - -| Name | Type | -| :--- | :------------------------------------------------------------------------------- | -| `T` | extends [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | - -#### Parameters - -| Name | Type | Default value | Description | -| :---------- | :--------------------------------------------------------------------------- | :---------------- | :--------------------------------------------- | -| `types` | `T`[``"types"``] | `undefined` | The types object containing all defined types. | -| `type` | `string` | `undefined` | The name of the type to hash. | -| `data` | `T`[``"message"``] | `undefined` | The data to hash. | -| `revision?` | [`TypedDataRevision`](types.RPC.RPCSPEC07.WALLET_API.md#typeddatarevision-1) | `Revision.LEGACY` | The revision of the TypedData. | - -#### Returns - -`string` - -The hash of the encoded data. - -**`Example`** - -```typescript -import exampleBaseTypes from '../../__mocks__/typedData/example_baseTypes.json'; - -const result = getStructHash( - exampleBaseTypes.types, - 'StarknetDomain', - exampleBaseTypes.domain as StarknetDomain, - TypedDataRevision.ACTIVE -); -// result = "0x555f72e550b308e50c1a4f8611483a174026c982a9893a05c185eeb85399657"; -``` - -#### Defined in - -[src/utils/typedData.ts:525](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/typedData.ts#L525) - ---- - -### getMessageHash - -▸ **getMessageHash**(`typedData`, `accountAddress`): `string` - -Get the SNIP-12 encoded message to sign, from the typedData object. - -#### Parameters - -| Name | Type | Description | -| :--------------- | :----------------------------------------------------------------------- | :--------------------------------------- | -| `typedData` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | The TypedData object. | -| `accountAddress` | [`BigNumberish`](types.md#bignumberish) | The account address to sign the message. | - -#### Returns - -`string` - -The hash of the message to sign. - -**`Throws`** - -Will throw an error if the typedData does not match the JSON schema. - -**`Example`** - -```typescript -const exampleAddress = '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826'; -const typedDataStringExample = { - types: { - StarkNetDomain: [ - { name: 'name', type: 'felt' }, - { name: 'version', type: 'felt' }, - { name: 'chainId', type: 'felt' }, - ], - Person: [ - { name: 'name', type: 'felt' }, - { name: 'wallet', type: 'felt' }, - ], - String: [ - { name: 'len', type: 'felt' }, - { name: 'data', type: 'felt*' }, - ], - Mail: [ - { name: 'from', type: 'Person' }, - { name: 'to', type: 'Person' }, - { name: 'contents', type: 'String' }, - ], - }, - primaryType: 'Mail', - domain: { - name: 'StarkNet Mail', - version: '1', - chainId: 1, - }, - message: { - from: { - name: 'Cow', - wallet: exampleAddress, - }, - to: { - name: 'Bob', - wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', - }, - contents: stringToStringStruct( - 'this is way longer than just 32 characters, to test if that is possible within a typedData struct.' - ), - }, -}; - -const result = getMessageHash(typedDataStringExample, exampleAddress); -// result = "0x70338fb11b8f70b68b261de8a322bcb004bd85e88ac47d9147982c7f5ac66fd" -``` - -#### Defined in - -[src/utils/typedData.ts:592](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/typedData.ts#L592) - ---- - -### verifyMessage - -▸ **verifyMessage**(`message`, `signature`, `fullPublicKey`, `accountAddress?`): `boolean` - -Checks if a signed EIP712 message is related to an account. -Valid for a standard Starknet signature. - -#### Parameters - -| Name | Type | Description | -| :---------------- | :----------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------- | -| `message` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | a TypedMessage message, or the hash of an EIP712 message (SNIP-12). | -| `signature` | [`Signature`](types.md#signature) | a WeierstrassSignatureType signature, or an array of 2 strings. | -| `fullPublicKey` | [`BigNumberish`](types.md#bignumberish) | a number coded on 520 bits (from ec.getFullPublicKey()). | -| `accountAddress?` | [`BigNumberish`](types.md#bignumberish) | address of the account that has signed the message. Not needed with a message hash is provided in `message` | - -#### Returns - -`boolean` - -true if the message is verified. - -**`Example`** - -```typescript -const myTypedMessage: TypedMessage = .... ; -const sign: Signature = ["0x123...abc", "0x345...def"]; -const fullPubK = "0x0400b730bd22358612b5a67f8ad52ce80f9e8e893639ade263537e6ef35852e5d3057795f6b090f7c6985ee143f798608a53b3659222c06693c630857a10a92acf"; -const accountAddress = "0x43b7240d227aa2fb8434350b3321c40ac1b88c7067982549e7609870621b535"; -const result1 = typedData.verifyMessage(myTypedMessage, sign, fullPubK, accountAddress); -const result2 = typedData.verifyMessage(messageHash, sign, fullPubK); -// result1 = result2 = true -``` - -#### Defined in - -[src/utils/typedData.ts:629](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/typedData.ts#L629) - -▸ **verifyMessage**(`message`, `signature`, `fullPublicKey`): `boolean` - -#### Parameters - -| Name | Type | -| :-------------- | :-------------------------------------- | -| `message` | [`BigNumberish`](types.md#bignumberish) | -| `signature` | [`Signature`](types.md#signature) | -| `fullPublicKey` | [`BigNumberish`](types.md#bignumberish) | - -#### Returns - -`boolean` - -#### Defined in - -[src/utils/typedData.ts:635](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/typedData.ts#L635) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.JRPC.md b/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.JRPC.md deleted file mode 100644 index 9eaa88e7b..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.JRPC.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -id: 'types.RPC.JRPC' -title: 'Namespace: JRPC' -sidebar_label: 'JRPC' -custom_edit_url: null ---- - -[types](types.md).[RPC](types.RPC.md).JRPC - -## Type Aliases - -### RequestBody - -Ƭ **RequestBody**: `Object` - -#### Type declaration - -| Name | Type | -| :-------- | :------------------- | -| `id` | `number` \| `string` | -| `jsonrpc` | `"2.0"` | -| `method` | `string` | -| `params?` | {} | - -#### Defined in - -[src/types/api/jsonrpc/index.ts:1](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/api/jsonrpc/index.ts#L1) - ---- - -### ResponseBody - -Ƭ **ResponseBody**: \{ `id`: `number` \| `string` ; `jsonrpc`: `"2.0"` } & [`SuccessResponseBody`](types.RPC.JRPC.md#successresponsebody) \| [`ErrorResponseBody`](types.RPC.JRPC.md#errorresponsebody) - -#### Defined in - -[src/types/api/jsonrpc/index.ts:8](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/api/jsonrpc/index.ts#L8) - ---- - -### SuccessResponseBody - -Ƭ **SuccessResponseBody**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :-------- | -| `result` | `unknown` | - -#### Defined in - -[src/types/api/jsonrpc/index.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/api/jsonrpc/index.ts#L13) - ---- - -### ErrorResponseBody - -Ƭ **ErrorResponseBody**: `Object` - -#### Type declaration - -| Name | Type | -| :------ | :--------------------------------- | -| `error` | [`Error`](types.RPC.JRPC.md#error) | - -#### Defined in - -[src/types/api/jsonrpc/index.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/api/jsonrpc/index.ts#L17) - ---- - -### Error - -Ƭ **Error**: `Object` - -#### Type declaration - -| Name | Type | -| :-------- | :-------- | -| `code` | `number` | -| `message` | `string` | -| `data?` | `unknown` | - -#### Defined in - -[src/types/api/jsonrpc/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/api/jsonrpc/index.ts#L21) - ---- - -### WebSocketEvent - -Ƭ **WebSocketEvent**: `Omit`<[`RequestBody`](types.RPC.JRPC.md#requestbody), `"id"`\> & \{ `params`: {} } - -#### Defined in - -[src/types/api/jsonrpc/index.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/api/jsonrpc/index.ts#L27) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.API.Errors.md b/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.API.Errors.md deleted file mode 100644 index b2ae269f3..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.API.Errors.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.Errors' -title: 'Namespace: Errors' -sidebar_label: 'Errors' -custom_edit_url: null ---- - -[RPCSPEC07](types.RPC.RPCSPEC07.md).[API](types.RPC.RPCSPEC07.API.md).Errors - -## Interfaces - -- [FAILED_TO_RECEIVE_TXN](../interfaces/types.RPC.RPCSPEC07.API.Errors.FAILED_TO_RECEIVE_TXN.md) -- [NO_TRACE_AVAILABLE](../interfaces/types.RPC.RPCSPEC07.API.Errors.NO_TRACE_AVAILABLE.md) -- [CONTRACT_NOT_FOUND](../interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_NOT_FOUND.md) -- [INVALID_MESSAGE_SELECTOR](../interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_MESSAGE_SELECTOR.md) -- [INVALID_CALL_DATA](../interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CALL_DATA.md) -- [BLOCK_NOT_FOUND](../interfaces/types.RPC.RPCSPEC07.API.Errors.BLOCK_NOT_FOUND.md) -- [INVALID_BLOCK_HASH](../interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_BLOCK_HASH.md) -- [INVALID_TXN_INDEX](../interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TXN_INDEX.md) -- [CLASS_HASH_NOT_FOUND](../interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_HASH_NOT_FOUND.md) -- [TXN_HASH_NOT_FOUND](../interfaces/types.RPC.RPCSPEC07.API.Errors.TXN_HASH_NOT_FOUND.md) -- [PAGE_SIZE_TOO_BIG](../interfaces/types.RPC.RPCSPEC07.API.Errors.PAGE_SIZE_TOO_BIG.md) -- [NO_BLOCKS](../interfaces/types.RPC.RPCSPEC07.API.Errors.NO_BLOCKS.md) -- [INVALID_CONTINUATION_TOKEN](../interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CONTINUATION_TOKEN.md) -- [TOO_MANY_KEYS_IN_FILTER](../interfaces/types.RPC.RPCSPEC07.API.Errors.TOO_MANY_KEYS_IN_FILTER.md) -- [CONTRACT_ERROR](../interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_ERROR.md) -- [TRANSACTION_EXECUTION_ERROR](../interfaces/types.RPC.RPCSPEC07.API.Errors.TRANSACTION_EXECUTION_ERROR.md) -- [CLASS_ALREADY_DECLARED](../interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_ALREADY_DECLARED.md) -- [INVALID_TRANSACTION_NONCE](../interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TRANSACTION_NONCE.md) -- [INSUFFICIENT_MAX_FEE](../interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_MAX_FEE.md) -- [INSUFFICIENT_ACCOUNT_BALANCE](../interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_ACCOUNT_BALANCE.md) -- [VALIDATION_FAILURE](../interfaces/types.RPC.RPCSPEC07.API.Errors.VALIDATION_FAILURE.md) -- [COMPILATION_FAILED](../interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILATION_FAILED.md) -- [CONTRACT_CLASS_SIZE_IS_TOO_LARGE](../interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md) -- [NON_ACCOUNT](../interfaces/types.RPC.RPCSPEC07.API.Errors.NON_ACCOUNT.md) -- [DUPLICATE_TX](../interfaces/types.RPC.RPCSPEC07.API.Errors.DUPLICATE_TX.md) -- [COMPILED_CLASS_HASH_MISMATCH](../interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILED_CLASS_HASH_MISMATCH.md) -- [UNSUPPORTED_TX_VERSION](../interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_TX_VERSION.md) -- [UNSUPPORTED_CONTRACT_CLASS_VERSION](../interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_CONTRACT_CLASS_VERSION.md) -- [UNEXPECTED_ERROR](../interfaces/types.RPC.RPCSPEC07.API.Errors.UNEXPECTED_ERROR.md) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.API.SPEC.md b/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.API.SPEC.md deleted file mode 100644 index d183e56e1..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.API.SPEC.md +++ /dev/null @@ -1,1753 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API.SPEC' -title: 'Namespace: SPEC' -sidebar_label: 'SPEC' -custom_edit_url: null ---- - -[RPCSPEC07](types.RPC.RPCSPEC07.md).[API](types.RPC.RPCSPEC07.API.md).SPEC - -## Type Aliases - -### FELT - -Ƭ **FELT**: `string` - -A field element. represented by at most 63 hex digits - -**`Pattern`** - -^0x(0|[a-fA-F1-9]{1}[a-fA-F0-9]{0,62})$ - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:8 - ---- - -### ETH_ADDRESS - -Ƭ **ETH_ADDRESS**: `string` - -an ethereum address represented as 40 hex digits - -**`Pattern`** - -^0x[a-fA-F0-9]{40}$ - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:13 - ---- - -### STORAGE_KEY - -Ƭ **STORAGE_KEY**: `string` - -A storage key. Represented as up to 62 hex digits, 3 bits, and 5 leading zeroes. - -**`Pattern`** - -^0x(0|[0-7]{1}[a-fA-F0-9]{0,62}$) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:18 - ---- - -### ADDRESS - -Ƭ **ADDRESS**: [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:19 - ---- - -### NUM_AS_HEX - -Ƭ **NUM_AS_HEX**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:20 - ---- - -### u64 - -Ƭ **u64**: `string` - -64 bit integers, represented by hex string of length at most 16 -"pattern": "^0x(0|[a-fA-F1-9]{1}[a-fA-F0-9]{0,15})$" - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:25 - ---- - -### u128 - -Ƭ **u128**: `string` - -64 bit integers, represented by hex string of length at most 32 -"pattern": "^0x(0|[a-fA-F1-9]{1}[a-fA-F0-9]{0,31})$" - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:30 - ---- - -### SIGNATURE - -Ƭ **SIGNATURE**: [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:31 - ---- - -### BLOCK_NUMBER - -Ƭ **BLOCK_NUMBER**: `number` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:32 - ---- - -### BLOCK_HASH - -Ƭ **BLOCK_HASH**: [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:33 - ---- - -### TXN_HASH - -Ƭ **TXN_HASH**: [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:34 - ---- - -### CHAIN_ID - -Ƭ **CHAIN_ID**: [`NUM_AS_HEX`](types.RPC.RPCSPEC07.API.SPEC.md#num_as_hex) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:35 - ---- - -### STRUCT_ABI_TYPE - -Ƭ **STRUCT_ABI_TYPE**: `"struct"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:36 - ---- - -### EVENT_ABI_TYPE - -Ƭ **EVENT_ABI_TYPE**: `"event"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:37 - ---- - -### FUNCTION_ABI_TYPE - -Ƭ **FUNCTION_ABI_TYPE**: `"function"` \| `"l1_handler"` \| `"constructor"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:38 - ---- - -### ENTRY_POINT_TYPE - -Ƭ **ENTRY_POINT_TYPE**: `"EXTERNAL"` \| `"L1_HANDLER"` \| `"CONSTRUCTOR"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:39 - ---- - -### CALL_TYPE - -Ƭ **CALL_TYPE**: `"DELEGATE"` \| `"LIBRARY_CALL"` \| `"CALL"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:40 - ---- - -### TXN_STATUS - -Ƭ **TXN_STATUS**: `"RECEIVED"` \| `"REJECTED"` \| `"ACCEPTED_ON_L2"` \| `"ACCEPTED_ON_L1"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:41 - ---- - -### SIMULATION_FLAG - -Ƭ **SIMULATION_FLAG**: `"SKIP_VALIDATE"` \| `"SKIP_FEE_CHARGE"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:42 - ---- - -### DA_MODE - -Ƭ **DA_MODE**: `"L1"` \| `"L2"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:43 - ---- - -### TXN_TYPE - -Ƭ **TXN_TYPE**: `"DECLARE"` \| `"DEPLOY"` \| `"DEPLOY_ACCOUNT"` \| `"INVOKE"` \| `"L1_HANDLER"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:44 - ---- - -### TXN_FINALITY_STATUS - -Ƭ **TXN_FINALITY_STATUS**: `"ACCEPTED_ON_L2"` \| `"ACCEPTED_ON_L1"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:45 - ---- - -### TXN_EXECUTION_STATUS - -Ƭ **TXN_EXECUTION_STATUS**: `"SUCCEEDED"` \| `"REVERTED"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:46 - ---- - -### BLOCK_STATUS - -Ƭ **BLOCK_STATUS**: `"PENDING"` \| `"ACCEPTED_ON_L2"` \| `"ACCEPTED_ON_L1"` \| `"REJECTED"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:47 - ---- - -### BLOCK_TAG - -Ƭ **BLOCK_TAG**: `"latest"` \| `"pending"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:48 - ---- - -### EVENTS_CHUNK - -Ƭ **EVENTS_CHUNK**: `Object` - -READ API - -#### Type declaration - -| Name | Type | -| :-------------------- | :----------------------------------------------------------------- | -| `events` | [`EMITTED_EVENT`](types.RPC.RPCSPEC07.API.SPEC.md#emitted_event)[] | -| `continuation_token?` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:52 - ---- - -### RESULT_PAGE_REQUEST - -Ƭ **RESULT_PAGE_REQUEST**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------- | :------- | -| `continuation_token?` | `string` | -| `chunk_size` | `number` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:56 - ---- - -### EMITTED_EVENT - -Ƭ **EMITTED_EVENT**: [`EVENT`](types.RPC.RPCSPEC07.API.SPEC.md#event) & \{ `block_hash`: [`BLOCK_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#block_hash) ; `block_number`: [`BLOCK_NUMBER`](types.RPC.RPCSPEC07.API.SPEC.md#block_number) ; `transaction_hash`: [`TXN_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#txn_hash) } - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:60 - ---- - -### EVENT - -Ƭ **EVENT**: \{ `from_address`: [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) } & [`EVENT_CONTENT`](types.RPC.RPCSPEC07.API.SPEC.md#event_content) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:65 - ---- - -### EVENT_CONTENT - -Ƭ **EVENT_CONTENT**: `Object` - -#### Type declaration - -| Name | Type | -| :----- | :----------------------------------------------- | -| `keys` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `data` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:68 - ---- - -### EVENT_FILTER - -Ƭ **EVENT_FILTER**: `Object` - -#### Type declaration - -| Name | Type | -| :------------ | :----------------------------------------------------- | -| `from_block?` | [`BLOCK_ID`](types.RPC.RPCSPEC07.API.SPEC.md#block_id) | -| `to_block?` | [`BLOCK_ID`](types.RPC.RPCSPEC07.API.SPEC.md#block_id) | -| `address?` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `keys?` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[][] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:72 - ---- - -### BLOCK_ID - -Ƭ **BLOCK_ID**: \{ `block_hash?`: [`BLOCK_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#block_hash) ; `block_number?`: [`BLOCK_NUMBER`](types.RPC.RPCSPEC07.API.SPEC.md#block_number) } \| [`BLOCK_TAG`](types.RPC.RPCSPEC07.API.SPEC.md#block_tag) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:78 - ---- - -### SYNC_STATUS - -Ƭ **SYNC_STATUS**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------- | :------------------------------------------------------------- | -| `starting_block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#block_hash) | -| `starting_block_num` | [`BLOCK_NUMBER`](types.RPC.RPCSPEC07.API.SPEC.md#block_number) | -| `current_block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#block_hash) | -| `current_block_num` | [`BLOCK_NUMBER`](types.RPC.RPCSPEC07.API.SPEC.md#block_number) | -| `highest_block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#block_hash) | -| `highest_block_num` | [`BLOCK_NUMBER`](types.RPC.RPCSPEC07.API.SPEC.md#block_number) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:82 - ---- - -### NEW_CLASSES - -Ƭ **NEW_CLASSES**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------- | :--------------------------------------------- | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `compiled_class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:90 - ---- - -### REPLACED_CLASS - -Ƭ **REPLACED_CLASS**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :--------------------------------------------- | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `contract_address` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:94 - ---- - -### NONCE_UPDATE - -Ƭ **NONCE_UPDATE**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :--------------------------------------------------- | -| `contract_address` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:98 - ---- - -### STATE_DIFF - -Ƭ **STATE_DIFF**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------------------- | :------------------------------------------------------------------------------------------- | -| `storage_diffs` | [`CONTRACT_STORAGE_DIFF_ITEM`](types.RPC.RPCSPEC07.API.SPEC.md#contract_storage_diff_item)[] | -| `deprecated_declared_classes` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `declared_classes` | [`NEW_CLASSES`](types.RPC.RPCSPEC07.API.SPEC.md#new_classes)[] | -| `deployed_contracts` | [`DEPLOYED_CONTRACT_ITEM`](types.RPC.RPCSPEC07.API.SPEC.md#deployed_contract_item)[] | -| `replaced_classes` | [`REPLACED_CLASS`](types.RPC.RPCSPEC07.API.SPEC.md#replaced_class)[] | -| `nonces` | [`NONCE_UPDATE`](types.RPC.RPCSPEC07.API.SPEC.md#nonce_update)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:102 - ---- - -### PENDING_STATE_UPDATE - -Ƭ **PENDING_STATE_UPDATE**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :--------------------------------------------------------- | -| `old_root` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `state_diff` | [`STATE_DIFF`](types.RPC.RPCSPEC07.API.SPEC.md#state_diff) | -| `block_hash` | `never` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:110 - ---- - -### STATE_UPDATE - -Ƭ **STATE_UPDATE**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :--------------------------------------------------------- | -| `block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#block_hash) | -| `old_root` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `new_root` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `state_diff` | [`STATE_DIFF`](types.RPC.RPCSPEC07.API.SPEC.md#state_diff) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:115 - ---- - -### BLOCK_BODY_WITH_TX_HASHES - -Ƭ **BLOCK_BODY_WITH_TX_HASHES**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :------------------------------------------------------- | -| `transactions` | [`TXN_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#txn_hash)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:121 - ---- - -### BLOCK_BODY_WITH_TXS - -Ƭ **BLOCK_BODY_WITH_TXS**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :------------------------------------------------------------------------------------------------------------------------------- | -| `transactions` | [`TXN`](types.RPC.RPCSPEC07.API.SPEC.md#txn) & \{ `transaction_hash`: [`TXN_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#txn_hash) }[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:124 - ---- - -### BLOCK_BODY_WITH_RECEIPTS - -Ƭ **BLOCK_BODY_WITH_RECEIPTS**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :------------------------------------------------------------------------------------------------------------------------------------------- | -| `transactions` | \{ `transaction`: [`TXN`](types.RPC.RPCSPEC07.API.SPEC.md#txn) ; `receipt`: [`TXN_RECEIPT`](types.RPC.RPCSPEC07.API.SPEC.md#txn_receipt) }[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:129 - ---- - -### BLOCK_HEADER - -Ƭ **BLOCK_HEADER**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------ | :----------------------------------------------------------------- | -| `block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#block_hash) | -| `parent_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#block_hash) | -| `block_number` | [`BLOCK_NUMBER`](types.RPC.RPCSPEC07.API.SPEC.md#block_number) | -| `new_root` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `timestamp` | `number` | -| `sequencer_address` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `l1_gas_price` | [`RESOURCE_PRICE`](types.RPC.RPCSPEC07.API.SPEC.md#resource_price) | -| `l1_data_gas_price` | [`RESOURCE_PRICE`](types.RPC.RPCSPEC07.API.SPEC.md#resource_price) | -| `l1_da_mode` | `"BLOB"` \| `"CALLDATA"` | -| `starknet_version` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:135 - ---- - -### PENDING_BLOCK_HEADER - -Ƭ **PENDING_BLOCK_HEADER**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------ | :----------------------------------------------------------------- | -| `parent_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#block_hash) | -| `timestamp` | `number` | -| `sequencer_address` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `l1_gas_price` | [`RESOURCE_PRICE`](types.RPC.RPCSPEC07.API.SPEC.md#resource_price) | -| `l1_data_gas_price` | [`RESOURCE_PRICE`](types.RPC.RPCSPEC07.API.SPEC.md#resource_price) | -| `l1_da_mode` | `"BLOB"` \| `"CALLDATA"` | -| `starknet_version` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:147 - ---- - -### BLOCK_WITH_TX_HASHES - -Ƭ **BLOCK_WITH_TX_HASHES**: \{ `status`: [`BLOCK_STATUS`](types.RPC.RPCSPEC07.API.SPEC.md#block_status) } & [`BLOCK_HEADER`](types.RPC.RPCSPEC07.API.SPEC.md#block_header) & [`BLOCK_BODY_WITH_TX_HASHES`](types.RPC.RPCSPEC07.API.SPEC.md#block_body_with_tx_hashes) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:156 - ---- - -### BLOCK_WITH_TXS - -Ƭ **BLOCK_WITH_TXS**: \{ `status`: [`BLOCK_STATUS`](types.RPC.RPCSPEC07.API.SPEC.md#block_status) } & [`BLOCK_HEADER`](types.RPC.RPCSPEC07.API.SPEC.md#block_header) & [`BLOCK_BODY_WITH_TXS`](types.RPC.RPCSPEC07.API.SPEC.md#block_body_with_txs) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:159 - ---- - -### BLOCK_WITH_RECEIPTS - -Ƭ **BLOCK_WITH_RECEIPTS**: \{ `status`: [`BLOCK_STATUS`](types.RPC.RPCSPEC07.API.SPEC.md#block_status) } & [`BLOCK_HEADER`](types.RPC.RPCSPEC07.API.SPEC.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](types.RPC.RPCSPEC07.API.SPEC.md#block_body_with_receipts) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:162 - ---- - -### PENDING_BLOCK_WITH_TX_HASHES - -Ƭ **PENDING_BLOCK_WITH_TX_HASHES**: [`BLOCK_BODY_WITH_TX_HASHES`](types.RPC.RPCSPEC07.API.SPEC.md#block_body_with_tx_hashes) & [`PENDING_BLOCK_HEADER`](types.RPC.RPCSPEC07.API.SPEC.md#pending_block_header) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:165 - ---- - -### PENDING_BLOCK_WITH_TXS - -Ƭ **PENDING_BLOCK_WITH_TXS**: [`BLOCK_BODY_WITH_TXS`](types.RPC.RPCSPEC07.API.SPEC.md#block_body_with_txs) & [`PENDING_BLOCK_HEADER`](types.RPC.RPCSPEC07.API.SPEC.md#pending_block_header) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:166 - ---- - -### PENDING_BLOCK_WITH_RECEIPTS - -Ƭ **PENDING_BLOCK_WITH_RECEIPTS**: [`BLOCK_BODY_WITH_RECEIPTS`](types.RPC.RPCSPEC07.API.SPEC.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](types.RPC.RPCSPEC07.API.SPEC.md#pending_block_header) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:167 - ---- - -### DEPLOYED_CONTRACT_ITEM - -Ƭ **DEPLOYED_CONTRACT_ITEM**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :--------------------------------------------- | -| `address` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:168 - ---- - -### CONTRACT_STORAGE_DIFF_ITEM - -Ƭ **CONTRACT_STORAGE_DIFF_ITEM**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :--------------------------------------------------------------------- | -| `address` | `string` | -| `storage_entries` | [`StorageDiffItem`](types.RPC.RPCSPEC07.API.SPEC.md#storagediffitem)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:172 - ---- - -### StorageDiffItem - -Ƭ **StorageDiffItem**: `Object` - -#### Type declaration - -| Name | Type | -| :------ | :------- | -| `key` | `string` | -| `value` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:176 - ---- - -### TXN - -Ƭ **TXN**: [`INVOKE_TXN`](types.RPC.RPCSPEC07.API.SPEC.md#invoke_txn) \| [`L1_HANDLER_TXN`](types.RPC.RPCSPEC07.API.SPEC.md#l1_handler_txn) \| [`DECLARE_TXN`](types.RPC.RPCSPEC07.API.SPEC.md#declare_txn) \| [`DEPLOY_TXN`](types.RPC.RPCSPEC07.API.SPEC.md#deploy_txn) \| [`DEPLOY_ACCOUNT_TXN`](types.RPC.RPCSPEC07.API.SPEC.md#deploy_account_txn) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:180 - ---- - -### DECLARE_TXN - -Ƭ **DECLARE_TXN**: [`DECLARE_TXN_V0`](types.RPC.RPCSPEC07.API.SPEC.md#declare_txn_v0) \| [`DECLARE_TXN_V1`](types.RPC.RPCSPEC07.API.SPEC.md#declare_txn_v1) \| [`DECLARE_TXN_V2`](types.RPC.RPCSPEC07.API.SPEC.md#declare_txn_v2) \| [`DECLARE_TXN_V3`](types.RPC.RPCSPEC07.API.SPEC.md#declare_txn_v3) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:181 - ---- - -### DECLARE_TXN_V0 - -Ƭ **DECLARE_TXN_V0**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :------------------------------------------------------- | -| `type` | `"DECLARE"` | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `version` | `"0x0"` \| `"0x100000000000000000000000000000000"` | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC07.API.SPEC.md#signature) | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:182 - ---- - -### DECLARE_TXN_V1 - -Ƭ **DECLARE_TXN_V1**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :------------------------------------------------------- | -| `type` | `"DECLARE"` | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `version` | `"0x1"` \| `"0x100000000000000000000000000000001"` | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC07.API.SPEC.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:190 - ---- - -### DECLARE_TXN_V2 - -Ƭ **DECLARE_TXN_V2**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------- | :------------------------------------------------------- | -| `type` | `"DECLARE"` | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `compiled_class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `version` | `"0x2"` \| `"0x100000000000000000000000000000002"` | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC07.API.SPEC.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:199 - ---- - -### DECLARE_TXN_V3 - -Ƭ **DECLARE_TXN_V3**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------------------- | :----------------------------------------------------------------------------------- | -| `type` | `"DECLARE"` | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `compiled_class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `version` | `"0x3"` \| `"0x100000000000000000000000000000003"` | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC07.API.SPEC.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `resource_bounds` | [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC07.API.SPEC.md#resource_bounds_mapping) | -| `tip` | [`u64`](types.RPC.RPCSPEC07.API.SPEC.md#u64) | -| `paymaster_data` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `account_deployment_data` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `nonce_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC07.API.SPEC.md#da_mode) | -| `fee_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC07.API.SPEC.md#da_mode) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:209 - ---- - -### BROADCASTED_TXN - -Ƭ **BROADCASTED_TXN**: [`BROADCASTED_INVOKE_TXN`](types.RPC.RPCSPEC07.API.SPEC.md#broadcasted_invoke_txn) \| [`BROADCASTED_DECLARE_TXN`](types.RPC.RPCSPEC07.API.SPEC.md#broadcasted_declare_txn) \| [`BROADCASTED_DEPLOY_ACCOUNT_TXN`](types.RPC.RPCSPEC07.API.SPEC.md#broadcasted_deploy_account_txn) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:224 - ---- - -### BROADCASTED_INVOKE_TXN - -Ƭ **BROADCASTED_INVOKE_TXN**: [`INVOKE_TXN`](types.RPC.RPCSPEC07.API.SPEC.md#invoke_txn) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:225 - ---- - -### BROADCASTED_DEPLOY_ACCOUNT_TXN - -Ƭ **BROADCASTED_DEPLOY_ACCOUNT_TXN**: [`DEPLOY_ACCOUNT_TXN`](types.RPC.RPCSPEC07.API.SPEC.md#deploy_account_txn) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:226 - ---- - -### BROADCASTED_DECLARE_TXN - -Ƭ **BROADCASTED_DECLARE_TXN**: [`BROADCASTED_DECLARE_TXN_V1`](types.RPC.RPCSPEC07.API.SPEC.md#broadcasted_declare_txn_v1) \| [`BROADCASTED_DECLARE_TXN_V2`](types.RPC.RPCSPEC07.API.SPEC.md#broadcasted_declare_txn_v2) \| [`BROADCASTED_DECLARE_TXN_V3`](types.RPC.RPCSPEC07.API.SPEC.md#broadcasted_declare_txn_v3) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:227 - ---- - -### BROADCASTED_DECLARE_TXN_V1 - -Ƭ **BROADCASTED_DECLARE_TXN_V1**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :--------------------------------------------------------------------------------------- | -| `type` | `"DECLARE"` | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `version` | `"0x1"` \| `"0x100000000000000000000000000000001"` | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC07.API.SPEC.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `contract_class` | [`DEPRECATED_CONTRACT_CLASS`](types.RPC.RPCSPEC07.API.SPEC.md#deprecated_contract_class) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:228 - ---- - -### BROADCASTED_DECLARE_TXN_V2 - -Ƭ **BROADCASTED_DECLARE_TXN_V2**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------- | :----------------------------------------------------------------- | -| `type` | `"DECLARE"` | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `compiled_class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `version` | `"0x2"` \| `"0x100000000000000000000000000000002"` | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC07.API.SPEC.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `contract_class` | [`CONTRACT_CLASS`](types.RPC.RPCSPEC07.API.SPEC.md#contract_class) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:237 - ---- - -### BROADCASTED_DECLARE_TXN_V3 - -Ƭ **BROADCASTED_DECLARE_TXN_V3**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------------------- | :----------------------------------------------------------------------------------- | -| `type` | `"DECLARE"` | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `compiled_class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `version` | `"0x3"` \| `"0x100000000000000000000000000000003"` | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC07.API.SPEC.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `contract_class` | [`CONTRACT_CLASS`](types.RPC.RPCSPEC07.API.SPEC.md#contract_class) | -| `resource_bounds` | [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC07.API.SPEC.md#resource_bounds_mapping) | -| `tip` | [`u64`](types.RPC.RPCSPEC07.API.SPEC.md#u64) | -| `paymaster_data` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `account_deployment_data` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `nonce_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC07.API.SPEC.md#da_mode) | -| `fee_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC07.API.SPEC.md#da_mode) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:247 - ---- - -### DEPLOY_ACCOUNT_TXN - -Ƭ **DEPLOY_ACCOUNT_TXN**: [`DEPLOY_ACCOUNT_TXN_V1`](types.RPC.RPCSPEC07.API.SPEC.md#deploy_account_txn_v1) \| [`DEPLOY_ACCOUNT_TXN_V3`](types.RPC.RPCSPEC07.API.SPEC.md#deploy_account_txn_v3) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:262 - ---- - -### DEPLOY_ACCOUNT_TXN_V1 - -Ƭ **DEPLOY_ACCOUNT_TXN_V1**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------------- | :------------------------------------------------------- | -| `type` | `"DEPLOY_ACCOUNT"` | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `version` | `"0x1"` \| `"0x100000000000000000000000000000001"` | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC07.API.SPEC.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `contract_address_salt` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `constructor_calldata` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:263 - ---- - -### DEPLOY_ACCOUNT_TXN_V3 - -Ƭ **DEPLOY_ACCOUNT_TXN_V3**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------------------- | :----------------------------------------------------------------------------------- | -| `type` | `"DEPLOY_ACCOUNT"` | -| `version` | `"0x3"` \| `"0x100000000000000000000000000000003"` | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC07.API.SPEC.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `contract_address_salt` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `constructor_calldata` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `resource_bounds` | [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC07.API.SPEC.md#resource_bounds_mapping) | -| `tip` | [`u64`](types.RPC.RPCSPEC07.API.SPEC.md#u64) | -| `paymaster_data` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `nonce_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC07.API.SPEC.md#da_mode) | -| `fee_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC07.API.SPEC.md#da_mode) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:273 - ---- - -### DEPLOY_TXN - -Ƭ **DEPLOY_TXN**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------------- | :----------------------------------------------- | -| `type` | `"DEPLOY"` | -| `version` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `contract_address_salt` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `constructor_calldata` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:287 - ---- - -### INVOKE_TXN - -Ƭ **INVOKE_TXN**: [`INVOKE_TXN_V0`](types.RPC.RPCSPEC07.API.SPEC.md#invoke_txn_v0) \| [`INVOKE_TXN_V1`](types.RPC.RPCSPEC07.API.SPEC.md#invoke_txn_v1) \| [`INVOKE_TXN_V3`](types.RPC.RPCSPEC07.API.SPEC.md#invoke_txn_v3) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:294 - ---- - -### INVOKE_TXN_V0 - -Ƭ **INVOKE_TXN_V0**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------------- | :------------------------------------------------------- | -| `type` | `"INVOKE"` | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `version` | `"0x0"` \| `"0x100000000000000000000000000000000"` | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC07.API.SPEC.md#signature) | -| `contract_address` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `entry_point_selector` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `calldata` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:295 - ---- - -### INVOKE_TXN_V1 - -Ƭ **INVOKE_TXN_V1**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :------------------------------------------------------- | -| `type` | `"INVOKE"` | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `calldata` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `version` | `"0x1"` \| `"0x100000000000000000000000000000001"` | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC07.API.SPEC.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:304 - ---- - -### INVOKE_TXN_V3 - -Ƭ **INVOKE_TXN_V3**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------------------- | :----------------------------------------------------------------------------------- | -| `type` | `"INVOKE"` | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `calldata` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `version` | `"0x3"` \| `"0x100000000000000000000000000000003"` | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC07.API.SPEC.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `resource_bounds` | [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC07.API.SPEC.md#resource_bounds_mapping) | -| `tip` | [`u64`](types.RPC.RPCSPEC07.API.SPEC.md#u64) | -| `paymaster_data` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `account_deployment_data` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `nonce_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC07.API.SPEC.md#da_mode) | -| `fee_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC07.API.SPEC.md#da_mode) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:313 - ---- - -### L1_HANDLER_TXN - -Ƭ **L1_HANDLER_TXN**: \{ `version`: `"0x0"` ; `type`: `"L1_HANDLER"` ; `nonce`: [`NUM_AS_HEX`](types.RPC.RPCSPEC07.API.SPEC.md#num_as_hex) } & [`FUNCTION_CALL`](types.RPC.RPCSPEC07.API.SPEC.md#function_call) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:327 - ---- - -### COMMON_RECEIPT_PROPERTIES - -Ƭ **COMMON_RECEIPT_PROPERTIES**: \{ `transaction_hash`: [`TXN_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#txn_hash) ; `actual_fee`: [`FEE_PAYMENT`](types.RPC.RPCSPEC07.API.SPEC.md#fee_payment) ; `finality_status`: [`TXN_FINALITY_STATUS`](types.RPC.RPCSPEC07.API.SPEC.md#txn_finality_status) ; `messages_sent`: [`MSG_TO_L1`](types.RPC.RPCSPEC07.API.SPEC.md#msg_to_l1)[] ; `events`: [`EVENT`](types.RPC.RPCSPEC07.API.SPEC.md#event)[] ; `execution_resources`: [`EXECUTION_RESOURCES`](types.RPC.RPCSPEC07.API.SPEC.md#execution_resources) } & `SUCCESSFUL_COMMON_RECEIPT_PROPERTIES` \| `REVERTED_COMMON_RECEIPT_PROPERTIES` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:332 - ---- - -### INVOKE_TXN_RECEIPT - -Ƭ **INVOKE_TXN_RECEIPT**: \{ `type`: `"INVOKE"` } & [`COMMON_RECEIPT_PROPERTIES`](types.RPC.RPCSPEC07.API.SPEC.md#common_receipt_properties) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:347 - ---- - -### DECLARE_TXN_RECEIPT - -Ƭ **DECLARE_TXN_RECEIPT**: \{ `type`: `"DECLARE"` } & [`COMMON_RECEIPT_PROPERTIES`](types.RPC.RPCSPEC07.API.SPEC.md#common_receipt_properties) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:350 - ---- - -### DEPLOY_ACCOUNT_TXN_RECEIPT - -Ƭ **DEPLOY_ACCOUNT_TXN_RECEIPT**: \{ `type`: `"DEPLOY_ACCOUNT"` ; `contract_address`: [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) } & [`COMMON_RECEIPT_PROPERTIES`](types.RPC.RPCSPEC07.API.SPEC.md#common_receipt_properties) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:353 - ---- - -### DEPLOY_TXN_RECEIPT - -Ƭ **DEPLOY_TXN_RECEIPT**: \{ `type`: `"DEPLOY"` ; `contract_address`: [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) } & [`COMMON_RECEIPT_PROPERTIES`](types.RPC.RPCSPEC07.API.SPEC.md#common_receipt_properties) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:357 - ---- - -### L1_HANDLER_TXN_RECEIPT - -Ƭ **L1_HANDLER_TXN_RECEIPT**: \{ `type`: `"L1_HANDLER"` ; `message_hash`: [`NUM_AS_HEX`](types.RPC.RPCSPEC07.API.SPEC.md#num_as_hex) } & [`COMMON_RECEIPT_PROPERTIES`](types.RPC.RPCSPEC07.API.SPEC.md#common_receipt_properties) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:361 - ---- - -### TXN_RECEIPT - -Ƭ **TXN_RECEIPT**: [`INVOKE_TXN_RECEIPT`](types.RPC.RPCSPEC07.API.SPEC.md#invoke_txn_receipt) \| [`L1_HANDLER_TXN_RECEIPT`](types.RPC.RPCSPEC07.API.SPEC.md#l1_handler_txn_receipt) \| [`DECLARE_TXN_RECEIPT`](types.RPC.RPCSPEC07.API.SPEC.md#declare_txn_receipt) \| [`DEPLOY_TXN_RECEIPT`](types.RPC.RPCSPEC07.API.SPEC.md#deploy_txn_receipt) \| [`DEPLOY_ACCOUNT_TXN_RECEIPT`](types.RPC.RPCSPEC07.API.SPEC.md#deploy_account_txn_receipt) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:365 - ---- - -### TXN_RECEIPT_WITH_BLOCK_INFO - -Ƭ **TXN_RECEIPT_WITH_BLOCK_INFO**: [`TXN_RECEIPT`](types.RPC.RPCSPEC07.API.SPEC.md#txn_receipt) & \{ `block_hash?`: [`BLOCK_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#block_hash) ; `block_number?`: [`BLOCK_NUMBER`](types.RPC.RPCSPEC07.API.SPEC.md#block_number) } - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:366 - ---- - -### MSG_TO_L1 - -Ƭ **MSG_TO_L1**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :----------------------------------------------- | -| `from_address` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `to_address` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `payload` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:370 - ---- - -### MSG_FROM_L1 - -Ƭ **MSG_FROM_L1**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------------- | :----------------------------------------------------------- | -| `from_address` | [`ETH_ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#eth_address) | -| `to_address` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `entry_point_selector` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `payload` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:375 - ---- - -### FUNCTION_CALL - -Ƭ **FUNCTION_CALL**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------------- | :--------------------------------------------------- | -| `contract_address` | [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) | -| `entry_point_selector` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `calldata` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:381 - ---- - -### CONTRACT_CLASS - -Ƭ **CONTRACT_CLASS**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `sierra_program` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | -| `contract_class_version` | `string` | -| `entry_points_by_type` | \{ `CONSTRUCTOR`: [`SIERRA_ENTRY_POINT`](types.RPC.RPCSPEC07.API.SPEC.md#sierra_entry_point)[] ; `EXTERNAL`: [`SIERRA_ENTRY_POINT`](types.RPC.RPCSPEC07.API.SPEC.md#sierra_entry_point)[] ; `L1_HANDLER`: [`SIERRA_ENTRY_POINT`](types.RPC.RPCSPEC07.API.SPEC.md#sierra_entry_point)[] } | -| `entry_points_by_type.CONSTRUCTOR` | [`SIERRA_ENTRY_POINT`](types.RPC.RPCSPEC07.API.SPEC.md#sierra_entry_point)[] | -| `entry_points_by_type.EXTERNAL` | [`SIERRA_ENTRY_POINT`](types.RPC.RPCSPEC07.API.SPEC.md#sierra_entry_point)[] | -| `entry_points_by_type.L1_HANDLER` | [`SIERRA_ENTRY_POINT`](types.RPC.RPCSPEC07.API.SPEC.md#sierra_entry_point)[] | -| `abi` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:386 - ---- - -### DEPRECATED_CONTRACT_CLASS - -Ƭ **DEPRECATED_CONTRACT_CLASS**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `program` | `string` | -| `entry_points_by_type` | \{ `CONSTRUCTOR`: [`DEPRECATED_CAIRO_ENTRY_POINT`](types.RPC.RPCSPEC07.API.SPEC.md#deprecated_cairo_entry_point)[] ; `EXTERNAL`: [`DEPRECATED_CAIRO_ENTRY_POINT`](types.RPC.RPCSPEC07.API.SPEC.md#deprecated_cairo_entry_point)[] ; `L1_HANDLER`: [`DEPRECATED_CAIRO_ENTRY_POINT`](types.RPC.RPCSPEC07.API.SPEC.md#deprecated_cairo_entry_point)[] } | -| `entry_points_by_type.CONSTRUCTOR` | [`DEPRECATED_CAIRO_ENTRY_POINT`](types.RPC.RPCSPEC07.API.SPEC.md#deprecated_cairo_entry_point)[] | -| `entry_points_by_type.EXTERNAL` | [`DEPRECATED_CAIRO_ENTRY_POINT`](types.RPC.RPCSPEC07.API.SPEC.md#deprecated_cairo_entry_point)[] | -| `entry_points_by_type.L1_HANDLER` | [`DEPRECATED_CAIRO_ENTRY_POINT`](types.RPC.RPCSPEC07.API.SPEC.md#deprecated_cairo_entry_point)[] | -| `abi` | [`CONTRACT_ABI`](types.RPC.RPCSPEC07.API.SPEC.md#contract_abi) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:396 - ---- - -### DEPRECATED_CAIRO_ENTRY_POINT - -Ƭ **DEPRECATED_CAIRO_ENTRY_POINT**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :--------------------------------------------------------------------- | -| `offset` | [`NUM_AS_HEX`](types.RPC.RPCSPEC07.API.SPEC.md#num_as_hex) \| `number` | -| `selector` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:405 - ---- - -### SIERRA_ENTRY_POINT - -Ƭ **SIERRA_ENTRY_POINT**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :--------------------------------------------- | -| `selector` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `function_idx` | `number` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:409 - ---- - -### CONTRACT_ABI - -Ƭ **CONTRACT_ABI**: readonly [`CONTRACT_ABI_ENTRY`](types.RPC.RPCSPEC07.API.SPEC.md#contract_abi_entry)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:413 - ---- - -### CONTRACT_ABI_ENTRY - -Ƭ **CONTRACT_ABI_ENTRY**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :--------------------------------------------- | -| `selector` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `input` | `string` | -| `output` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:414 - ---- - -### STRUCT_ABI_ENTRY - -Ƭ **STRUCT_ABI_ENTRY**: `Object` - -#### Type declaration - -| Name | Type | -| :-------- | :------------------------------------------------------------------- | -| `type` | [`STRUCT_ABI_TYPE`](types.RPC.RPCSPEC07.API.SPEC.md#struct_abi_type) | -| `name` | `string` | -| `size` | `number` | -| `members` | [`STRUCT_MEMBER`](types.RPC.RPCSPEC07.API.SPEC.md#struct_member)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:419 - ---- - -### STRUCT_MEMBER - -Ƭ **STRUCT_MEMBER**: [`TYPED_PARAMETER`](types.RPC.RPCSPEC07.API.SPEC.md#typed_parameter) & \{ `offset`: `number` } - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:425 - ---- - -### EVENT_ABI_ENTRY - -Ƭ **EVENT_ABI_ENTRY**: `Object` - -#### Type declaration - -| Name | Type | -| :----- | :--------------------------------------------------------------------- | -| `type` | [`EVENT_ABI_TYPE`](types.RPC.RPCSPEC07.API.SPEC.md#event_abi_type) | -| `name` | `string` | -| `keys` | [`TYPED_PARAMETER`](types.RPC.RPCSPEC07.API.SPEC.md#typed_parameter)[] | -| `data` | [`TYPED_PARAMETER`](types.RPC.RPCSPEC07.API.SPEC.md#typed_parameter)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:428 - ---- - -### FUNCTION_STATE_MUTABILITY - -Ƭ **FUNCTION_STATE_MUTABILITY**: `"view"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:434 - ---- - -### FUNCTION_ABI_ENTRY - -Ƭ **FUNCTION_ABI_ENTRY**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :--------------------------------------------------------------------------------------- | -| `type` | [`FUNCTION_ABI_TYPE`](types.RPC.RPCSPEC07.API.SPEC.md#function_abi_type) | -| `name` | `string` | -| `inputs` | [`TYPED_PARAMETER`](types.RPC.RPCSPEC07.API.SPEC.md#typed_parameter)[] | -| `outputs` | [`TYPED_PARAMETER`](types.RPC.RPCSPEC07.API.SPEC.md#typed_parameter)[] | -| `stateMutability` | [`FUNCTION_STATE_MUTABILITY`](types.RPC.RPCSPEC07.API.SPEC.md#function_state_mutability) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:435 - ---- - -### TYPED_PARAMETER - -Ƭ **TYPED_PARAMETER**: `Object` - -#### Type declaration - -| Name | Type | -| :----- | :------- | -| `name` | `string` | -| `type` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:442 - ---- - -### SIMULATION_FLAG_FOR_ESTIMATE_FEE - -Ƭ **SIMULATION_FLAG_FOR_ESTIMATE_FEE**: `"SKIP_VALIDATE"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:446 - ---- - -### PRICE_UNIT - -Ƭ **PRICE_UNIT**: `"WEI"` \| `"FRI"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:447 - ---- - -### FEE_ESTIMATE - -Ƭ **FEE_ESTIMATE**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------ | :--------------------------------------------------------- | -| `gas_consumed` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `gas_price` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `data_gas_consumed` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `data_gas_price` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `overall_fee` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `unit` | [`PRICE_UNIT`](types.RPC.RPCSPEC07.API.SPEC.md#price_unit) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:448 - ---- - -### FEE_PAYMENT - -Ƭ **FEE_PAYMENT**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :--------------------------------------------------------- | -| `amount` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `unit` | [`PRICE_UNIT`](types.RPC.RPCSPEC07.API.SPEC.md#price_unit) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:456 - ---- - -### RESOURCE_BOUNDS_MAPPING - -Ƭ **RESOURCE_BOUNDS_MAPPING**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :------------------------------------------------------------------- | -| `l1_gas` | [`RESOURCE_BOUNDS`](types.RPC.RPCSPEC07.API.SPEC.md#resource_bounds) | -| `l2_gas` | [`RESOURCE_BOUNDS`](types.RPC.RPCSPEC07.API.SPEC.md#resource_bounds) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:460 - ---- - -### RESOURCE_BOUNDS - -Ƭ **RESOURCE_BOUNDS**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------- | :--------------------------------------------- | -| `max_amount` | [`u64`](types.RPC.RPCSPEC07.API.SPEC.md#u64) | -| `max_price_per_unit` | [`u128`](types.RPC.RPCSPEC07.API.SPEC.md#u128) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:464 - ---- - -### RESOURCE_PRICE - -Ƭ **RESOURCE_PRICE**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :--------------------------------------------- | -| `price_in_fri` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | -| `price_in_wei` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:468 - ---- - -### COMPUTATION_RESOURCES - -Ƭ **COMPUTATION_RESOURCES**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------------------------- | :------- | -| `steps` | `number` | -| `memory_holes?` | `number` | -| `range_check_builtin_applications?` | `number` | -| `pedersen_builtin_applications?` | `number` | -| `poseidon_builtin_applications?` | `number` | -| `ec_op_builtin_applications?` | `number` | -| `ecdsa_builtin_applications?` | `number` | -| `bitwise_builtin_applications?` | `number` | -| `keccak_builtin_applications?` | `number` | -| `segment_arena_builtin?` | `number` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:472 - ---- - -### EXECUTION_RESOURCES - -Ƭ **EXECUTION_RESOURCES**: [`COMPUTATION_RESOURCES`](types.RPC.RPCSPEC07.API.SPEC.md#computation_resources) & \{ `data_availability`: \{ `l1_gas`: `number` ; `l1_data_gas`: `number` } } - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:484 - ---- - -### TRANSACTION_TRACE - -Ƭ **TRANSACTION_TRACE**: `Object` - -TRACE API - -#### Type declaration - -| Name | Type | -| :------------------------- | :------------------------------------------------------------------------------------- | -| `invoke_tx_trace?` | [`INVOKE_TXN_TRACE`](types.RPC.RPCSPEC07.API.SPEC.md#invoke_txn_trace) | -| `declare_tx_trace?` | [`DECLARE_TXN_TRACE`](types.RPC.RPCSPEC07.API.SPEC.md#declare_txn_trace) | -| `deploy_account_tx_trace?` | [`DEPLOY_ACCOUNT_TXN_TRACE`](types.RPC.RPCSPEC07.API.SPEC.md#deploy_account_txn_trace) | -| `l1_handler_tx_trace?` | [`L1_HANDLER_TXN_TRACE`](types.RPC.RPCSPEC07.API.SPEC.md#l1_handler_txn_trace) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:493 - ---- - -### INVOKE_TXN_TRACE - -Ƭ **INVOKE_TXN_TRACE**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------------- | :------------------------------------------------------------------------------------------------------------- | -| `type` | `"INVOKE"` | -| `execute_invocation` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC07.API.SPEC.md#function_invocation) \| \{ `revert_reason`: `string` } | -| `validate_invocation?` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC07.API.SPEC.md#function_invocation) | -| `fee_transfer_invocation?` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC07.API.SPEC.md#function_invocation) | -| `state_diff?` | [`STATE_DIFF`](types.RPC.RPCSPEC07.API.SPEC.md#state_diff) | -| `execution_resources` | [`EXECUTION_RESOURCES`](types.RPC.RPCSPEC07.API.SPEC.md#execution_resources) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:499 - ---- - -### DECLARE_TXN_TRACE - -Ƭ **DECLARE_TXN_TRACE**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------------- | :--------------------------------------------------------------------------- | -| `type` | `"DECLARE"` | -| `validate_invocation?` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC07.API.SPEC.md#function_invocation) | -| `fee_transfer_invocation?` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC07.API.SPEC.md#function_invocation) | -| `state_diff?` | [`STATE_DIFF`](types.RPC.RPCSPEC07.API.SPEC.md#state_diff) | -| `execution_resources` | [`EXECUTION_RESOURCES`](types.RPC.RPCSPEC07.API.SPEC.md#execution_resources) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:509 - ---- - -### DEPLOY_ACCOUNT_TXN_TRACE - -Ƭ **DEPLOY_ACCOUNT_TXN_TRACE**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------------- | :--------------------------------------------------------------------------- | -| `type` | `"DEPLOY_ACCOUNT"` | -| `constructor_invocation` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC07.API.SPEC.md#function_invocation) | -| `validate_invocation?` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC07.API.SPEC.md#function_invocation) | -| `fee_transfer_invocation?` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC07.API.SPEC.md#function_invocation) | -| `state_diff?` | [`STATE_DIFF`](types.RPC.RPCSPEC07.API.SPEC.md#state_diff) | -| `execution_resources` | [`EXECUTION_RESOURCES`](types.RPC.RPCSPEC07.API.SPEC.md#execution_resources) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:516 - ---- - -### L1_HANDLER_TXN_TRACE - -Ƭ **L1_HANDLER_TXN_TRACE**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------- | :--------------------------------------------------------------------------- | -| `type` | `"L1_HANDLER"` | -| `function_invocation` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC07.API.SPEC.md#function_invocation) | -| `state_diff?` | [`STATE_DIFF`](types.RPC.RPCSPEC07.API.SPEC.md#state_diff) | -| `execution_resources` | [`EXECUTION_RESOURCES`](types.RPC.RPCSPEC07.API.SPEC.md#execution_resources) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:524 - ---- - -### NESTED_CALL - -Ƭ **NESTED_CALL**: [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC07.API.SPEC.md#function_invocation) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:530 - ---- - -### FUNCTION_INVOCATION - -Ƭ **FUNCTION_INVOCATION**: [`FUNCTION_CALL`](types.RPC.RPCSPEC07.API.SPEC.md#function_call) & \{ `caller_address`: `string` ; `class_hash`: `string` ; `entry_point_type`: [`ENTRY_POINT_TYPE`](types.RPC.RPCSPEC07.API.SPEC.md#entry_point_type) ; `call_type`: [`CALL_TYPE`](types.RPC.RPCSPEC07.API.SPEC.md#call_type) ; `result`: `string`[] ; `calls`: [`NESTED_CALL`](types.RPC.RPCSPEC07.API.SPEC.md#nested_call)[] ; `events`: [`ORDERED_EVENT`](types.RPC.RPCSPEC07.API.SPEC.md#ordered_event)[] ; `messages`: [`ORDERED_MESSAGE`](types.RPC.RPCSPEC07.API.SPEC.md#ordered_message)[] ; `execution_resources`: [`COMPUTATION_RESOURCES`](types.RPC.RPCSPEC07.API.SPEC.md#computation_resources) } - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:531 - ---- - -### ORDERED_EVENT - -Ƭ **ORDERED_EVENT**: `Object` - -#### Type declaration - -| Name | Type | -| :------ | :----------------------------------------------- | -| `order` | `number` | -| `event` | [`EVENT`](types.RPC.RPCSPEC07.API.SPEC.md#event) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:542 - ---- - -### ORDERED_MESSAGE - -Ƭ **ORDERED_MESSAGE**: `Object` - -#### Type declaration - -| Name | Type | -| :-------- | :------------------------------------------------------- | -| `order` | `number` | -| `message` | [`MSG_TO_L1`](types.RPC.RPCSPEC07.API.SPEC.md#msg_to_l1) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/components.d.ts:546 diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.API.md b/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.API.md deleted file mode 100644 index 41ea4beb5..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.API.md +++ /dev/null @@ -1,1056 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.API' -title: 'Namespace: API' -sidebar_label: 'API' -custom_edit_url: null ---- - -[RPC](types.RPC.md).[RPCSPEC07](types.RPC.RPCSPEC07.md).API - -## Namespaces - -- [Errors](types.RPC.RPCSPEC07.API.Errors.md) -- [SPEC](types.RPC.RPCSPEC07.API.SPEC.md) - -## Type Aliases - -### Methods - -Ƭ **Methods**: `ReadMethods` & `WriteMethods` & `TraceMethods` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/methods.d.ts:4 - ---- - -### ABI - -Ƭ **ABI**: ([`FUNCTION`](types.RPC.RPCSPEC07.API.md#function) \| [`CONSTRUCTOR`](types.RPC.RPCSPEC07.API.md#constructor) \| [`L1_HANDLER`](types.RPC.RPCSPEC07.API.md#l1_handler) \| [`EVENT`](types.RPC.RPCSPEC07.API.md#event) \| [`STRUCT`](types.RPC.RPCSPEC07.API.md#struct) \| [`ENUM`](types.RPC.RPCSPEC07.API.md#enum) \| [`INTERFACE`](types.RPC.RPCSPEC07.API.md#interface) \| [`IMPL`](types.RPC.RPCSPEC07.API.md#impl))[] - -TypeScript Representation of Cairo1 v2+ Starknet Contract ABI - -starknet_metadata.json - tags/v0.5.0 - -'starknet-specs' (OpenRpc protocol types) -https://github.com/starkware-libs/starknet-specs - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/contract.d.ts:9 - ---- - -### FUNCTION - -Ƭ **FUNCTION**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :----------------------------------------- | -| `type` | `"function"` | -| `name` | `string` | -| `inputs` | \{ `name`: `string` ; `type`: `string` }[] | -| `outputs?` | \{ `type`: `string` }[] | -| `state_mutability` | `"view"` \| `"external"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/contract.d.ts:10 - ---- - -### CONSTRUCTOR - -Ƭ **CONSTRUCTOR**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :----------------------------------------- | -| `type` | `"constructor"` | -| `name` | `"constructor"` | -| `inputs` | \{ `name`: `string` ; `type`: `string` }[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/contract.d.ts:22 - ---- - -### L1_HANDLER - -Ƭ **L1_HANDLER**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :----------------------------------------- | -| `type` | `"l1_handler"` | -| `name` | `string` | -| `inputs` | \{ `name`: `string` ; `type`: `string` }[] | -| `outputs?` | \{ `type`: `string` }[] | -| `state_mutability` | `"view"` \| `"external"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/contract.d.ts:30 - ---- - -### EVENT - -Ƭ **EVENT**: \{ `type`: `"event"` ; `name`: `string` } & [`ENUM_EVENT`](types.RPC.RPCSPEC07.API.md#enum_event) \| [`STRUCT_EVENT`](types.RPC.RPCSPEC07.API.md#struct_event) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/contract.d.ts:42 - ---- - -### STRUCT_EVENT - -Ƭ **STRUCT_EVENT**: `Object` - -#### Type declaration - -| Name | Type | -| :-------- | :-------------------------------------------------------- | -| `kind` | `"struct"` | -| `members` | [`EVENT_FIELD`](types.RPC.RPCSPEC07.API.md#event_field)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/contract.d.ts:46 - ---- - -### ENUM_EVENT - -Ƭ **ENUM_EVENT**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :-------------------------------------------------------- | -| `kind` | `"enum"` | -| `variants` | [`EVENT_FIELD`](types.RPC.RPCSPEC07.API.md#event_field)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/contract.d.ts:50 - ---- - -### STRUCT - -Ƭ **STRUCT**: `Object` - -#### Type declaration - -| Name | Type | -| :-------- | :----------------------------------------- | -| `type` | `"struct"` | -| `name` | `string` | -| `members` | \{ `name`: `string` ; `type`: `string` }[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/contract.d.ts:54 - ---- - -### ENUM - -Ƭ **ENUM**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :----------------------------------------- | -| `type` | `"enum"` | -| `name` | `string` | -| `variants` | \{ `name`: `string` ; `type`: `string` }[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/contract.d.ts:62 - ---- - -### INTERFACE - -Ƭ **INTERFACE**: `Object` - -#### Type declaration - -| Name | Type | -| :------ | :-------------------------------------------------- | -| `type` | `"interface"` | -| `name` | `string` | -| `items` | [`FUNCTION`](types.RPC.RPCSPEC07.API.md#function)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/contract.d.ts:70 - ---- - -### IMPL - -Ƭ **IMPL**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :------- | -| `type` | `"impl"` | -| `name` | `string` | -| `interface_name` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/contract.d.ts:75 - ---- - -### EVENT_KIND - -Ƭ **EVENT_KIND**: `"struct"` \| `"enum"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/contract.d.ts:80 - ---- - -### EVENT_FIELD - -Ƭ **EVENT_FIELD**: `Object` - -#### Type declaration - -| Name | Type | -| :----- | :-------------------------------- | -| `name` | `string` | -| `type` | `string` | -| `kind` | `"key"` \| `"data"` \| `"nested"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/contract.d.ts:81 - ---- - -### ContractClass - -Ƭ **ContractClass**: [`CONTRACT_CLASS`](types.RPC.RPCSPEC07.API.SPEC.md#contract_class) \| [`DEPRECATED_CONTRACT_CLASS`](types.RPC.RPCSPEC07.API.SPEC.md#deprecated_contract_class) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:5 - ---- - -### SimulateTransaction - -Ƭ **SimulateTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------ | :----------------------------------------------------------------------- | -| `transaction_trace` | [`TRANSACTION_TRACE`](types.RPC.RPCSPEC07.API.SPEC.md#transaction_trace) | -| `fee_estimation` | [`FEE_ESTIMATE`](types.RPC.RPCSPEC07.API.SPEC.md#fee_estimate) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:6 - ---- - -### SimulateTransactionResponse - -Ƭ **SimulateTransactionResponse**: [`SimulateTransaction`](types.RPC.RPCSPEC07.API.md#simulatetransaction)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:10 - ---- - -### FeeEstimate - -Ƭ **FeeEstimate**: [`FEE_ESTIMATE`](types.RPC.RPCSPEC07.API.SPEC.md#fee_estimate) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:11 - ---- - -### TransactionWithHash - -Ƭ **TransactionWithHash**: [`TXN`](types.RPC.RPCSPEC07.API.SPEC.md#txn) & \{ `transaction_hash`: [`TXN_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#txn_hash) } - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:12 - ---- - -### BlockHashAndNumber - -Ƭ **BlockHashAndNumber**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :------------------------------------------------------------- | -| `block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#block_hash) | -| `block_number` | [`BLOCK_NUMBER`](types.RPC.RPCSPEC07.API.SPEC.md#block_number) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:15 - ---- - -### BlockWithTxs - -Ƭ **BlockWithTxs**: [`BLOCK_WITH_TXS`](types.RPC.RPCSPEC07.API.SPEC.md#block_with_txs) \| [`PENDING_BLOCK_WITH_TXS`](types.RPC.RPCSPEC07.API.SPEC.md#pending_block_with_txs) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:19 - ---- - -### BlockWithTxHashes - -Ƭ **BlockWithTxHashes**: [`BLOCK_WITH_TX_HASHES`](types.RPC.RPCSPEC07.API.SPEC.md#block_with_tx_hashes) \| [`PENDING_BLOCK_WITH_TX_HASHES`](types.RPC.RPCSPEC07.API.SPEC.md#pending_block_with_tx_hashes) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:20 - ---- - -### BlockWithTxReceipts - -Ƭ **BlockWithTxReceipts**: [`BLOCK_WITH_RECEIPTS`](types.RPC.RPCSPEC07.API.SPEC.md#block_with_receipts) \| [`PENDING_BLOCK_WITH_RECEIPTS`](types.RPC.RPCSPEC07.API.SPEC.md#pending_block_with_receipts) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:21 - ---- - -### StateUpdate - -Ƭ **StateUpdate**: [`STATE_UPDATE`](types.RPC.RPCSPEC07.API.SPEC.md#state_update) \| [`PENDING_STATE_UPDATE`](types.RPC.RPCSPEC07.API.SPEC.md#pending_state_update) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:22 - ---- - -### BlockTransactionsTraces - -Ƭ **BlockTransactionsTraces**: \{ `transaction_hash`: [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) ; `trace_root`: [`TRANSACTION_TRACE`](types.RPC.RPCSPEC07.API.SPEC.md#transaction_trace) }[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:23 - ---- - -### Syncing - -Ƭ **Syncing**: `false` \| [`SYNC_STATUS`](types.RPC.RPCSPEC07.API.SPEC.md#sync_status) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:27 - ---- - -### Events - -Ƭ **Events**: [`EVENTS_CHUNK`](types.RPC.RPCSPEC07.API.SPEC.md#events_chunk) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:28 - ---- - -### EmittedEvent - -Ƭ **EmittedEvent**: [`EMITTED_EVENT`](types.RPC.RPCSPEC07.API.SPEC.md#emitted_event) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:29 - ---- - -### Event - -Ƭ **Event**: [`EVENT`](types.RPC.RPCSPEC07.API.SPEC.md#event) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:30 - ---- - -### InvokedTransaction - -Ƭ **InvokedTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :----------------------------------------------------- | -| `transaction_hash` | [`TXN_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#txn_hash) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:31 - ---- - -### DeclaredTransaction - -Ƭ **DeclaredTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :----------------------------------------------------- | -| `transaction_hash` | [`TXN_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#txn_hash) | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:34 - ---- - -### DeployedAccountTransaction - -Ƭ **DeployedAccountTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :----------------------------------------------------- | -| `transaction_hash` | [`TXN_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#txn_hash) | -| `contract_address` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:38 - ---- - -### ContractAddress - -Ƭ **ContractAddress**: [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:42 - ---- - -### Felt - -Ƭ **Felt**: [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:43 - ---- - -### Nonce - -Ƭ **Nonce**: [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:44 - ---- - -### TransactionHash - -Ƭ **TransactionHash**: [`TXN_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#txn_hash) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:45 - ---- - -### TransactionTrace - -Ƭ **TransactionTrace**: [`TRANSACTION_TRACE`](types.RPC.RPCSPEC07.API.SPEC.md#transaction_trace) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:46 - ---- - -### BlockHash - -Ƭ **BlockHash**: [`BLOCK_HASH`](types.RPC.RPCSPEC07.API.SPEC.md#block_hash) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:47 - ---- - -### TransactionReceipt - -Ƭ **TransactionReceipt**: [`TXN_RECEIPT_WITH_BLOCK_INFO`](types.RPC.RPCSPEC07.API.SPEC.md#txn_receipt_with_block_info) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:48 - ---- - -### Receipt - -Ƭ **Receipt**: [`TXN_RECEIPT_WITH_BLOCK_INFO`](types.RPC.RPCSPEC07.API.SPEC.md#txn_receipt_with_block_info) & [`BlockHashAndNumber`](types.RPC.RPCSPEC07.API.md#blockhashandnumber) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:49 - ---- - -### PendingReceipt - -Ƭ **PendingReceipt**: [`TXN_RECEIPT`](types.RPC.RPCSPEC07.API.SPEC.md#txn_receipt) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:50 - ---- - -### EventFilter - -Ƭ **EventFilter**: [`EVENT_FILTER`](types.RPC.RPCSPEC07.API.SPEC.md#event_filter) & [`RESULT_PAGE_REQUEST`](types.RPC.RPCSPEC07.API.SPEC.md#result_page_request) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:51 - ---- - -### SimulationFlags - -Ƭ **SimulationFlags**: [`SIMULATION_FLAG`](types.RPC.RPCSPEC07.API.SPEC.md#simulation_flag)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:52 - ---- - -### L1Message - -Ƭ **L1Message**: [`MSG_FROM_L1`](types.RPC.RPCSPEC07.API.SPEC.md#msg_from_l1) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:53 - ---- - -### BaseTransaction - -Ƭ **BaseTransaction**: [`BROADCASTED_TXN`](types.RPC.RPCSPEC07.API.SPEC.md#broadcasted_txn) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:54 - ---- - -### ChainId - -Ƭ **ChainId**: [`CHAIN_ID`](types.RPC.RPCSPEC07.API.SPEC.md#chain_id) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:55 - ---- - -### Transaction - -Ƭ **Transaction**: [`TXN`](types.RPC.RPCSPEC07.API.SPEC.md#txn) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:56 - ---- - -### TransactionStatus - -Ƭ **TransactionStatus**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------ | :----------------------------------------------------------------------------- | -| `finality_status` | [`TXN_STATUS`](types.RPC.RPCSPEC07.API.SPEC.md#txn_status) | -| `execution_status?` | [`TXN_EXECUTION_STATUS`](types.RPC.RPCSPEC07.API.SPEC.md#txn_execution_status) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:57 - ---- - -### ResourceBounds - -Ƭ **ResourceBounds**: [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC07.API.SPEC.md#resource_bounds_mapping) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:61 - ---- - -### FeePayment - -Ƭ **FeePayment**: [`FEE_PAYMENT`](types.RPC.RPCSPEC07.API.SPEC.md#fee_payment) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:62 - ---- - -### PriceUnit - -Ƭ **PriceUnit**: [`PRICE_UNIT`](types.RPC.RPCSPEC07.API.SPEC.md#price_unit) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:63 - ---- - -### StorageDiffs - -Ƭ **StorageDiffs**: [`CONTRACT_STORAGE_DIFF_ITEM`](types.RPC.RPCSPEC07.API.SPEC.md#contract_storage_diff_item)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:64 - ---- - -### DeprecatedDeclaredClasses - -Ƭ **DeprecatedDeclaredClasses**: [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:65 - ---- - -### NonceUpdates - -Ƭ **NonceUpdates**: [`NONCE_UPDATE`](types.RPC.RPCSPEC07.API.SPEC.md#nonce_update)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:66 - ---- - -### ReplacedClasses - -Ƭ **ReplacedClasses**: [`REPLACED_CLASS`](types.RPC.RPCSPEC07.API.SPEC.md#replaced_class)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:67 - ---- - -### ETransactionType - -Ƭ **ETransactionType**: typeof [`ETransactionType`](types.RPC.RPCSPEC07.API.md#etransactiontype-1)[keyof typeof [`ETransactionType`](types.RPC.RPCSPEC07.API.md#etransactiontype-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:68 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:75 - ---- - -### ESimulationFlag - -Ƭ **ESimulationFlag**: typeof [`ESimulationFlag`](types.RPC.RPCSPEC07.API.md#esimulationflag-1)[keyof typeof [`ESimulationFlag`](types.RPC.RPCSPEC07.API.md#esimulationflag-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:76 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:80 - ---- - -### ETransactionStatus - -Ƭ **ETransactionStatus**: typeof [`ETransactionStatus`](types.RPC.RPCSPEC07.API.md#etransactionstatus-1)[keyof typeof [`ETransactionStatus`](types.RPC.RPCSPEC07.API.md#etransactionstatus-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:81 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:87 - ---- - -### ETransactionFinalityStatus - -Ƭ **ETransactionFinalityStatus**: typeof [`ETransactionFinalityStatus`](types.RPC.RPCSPEC07.API.md#etransactionfinalitystatus-1)[keyof typeof [`ETransactionFinalityStatus`](types.RPC.RPCSPEC07.API.md#etransactionfinalitystatus-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:88 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:92 - ---- - -### ETransactionExecutionStatus - -Ƭ **ETransactionExecutionStatus**: typeof [`ETransactionExecutionStatus`](types.RPC.RPCSPEC07.API.md#etransactionexecutionstatus-1)[keyof typeof [`ETransactionExecutionStatus`](types.RPC.RPCSPEC07.API.md#etransactionexecutionstatus-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:93 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:97 - ---- - -### EBlockTag - -Ƭ **EBlockTag**: typeof [`EBlockTag`](types.RPC.RPCSPEC07.API.md#eblocktag-1)[keyof typeof [`EBlockTag`](types.RPC.RPCSPEC07.API.md#eblocktag-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:98 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:102 - ---- - -### EDataAvailabilityMode - -Ƭ **EDataAvailabilityMode**: typeof [`EDataAvailabilityMode`](types.RPC.RPCSPEC07.API.md#edataavailabilitymode-1)[keyof typeof [`EDataAvailabilityMode`](types.RPC.RPCSPEC07.API.md#edataavailabilitymode-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:103 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:107 - ---- - -### EDAMode - -Ƭ **EDAMode**: typeof [`EDAMode`](types.RPC.RPCSPEC07.API.md#edamode-1)[keyof typeof [`EDAMode`](types.RPC.RPCSPEC07.API.md#edamode-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:108 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:112 - ---- - -### ETransactionVersion - -Ƭ **ETransactionVersion**: typeof [`ETransactionVersion`](types.RPC.RPCSPEC07.API.md#etransactionversion-1)[keyof typeof [`ETransactionVersion`](types.RPC.RPCSPEC07.API.md#etransactionversion-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:117 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:127 - ---- - -### ETransactionVersion2 - -Ƭ **ETransactionVersion2**: typeof [`ETransactionVersion2`](types.RPC.RPCSPEC07.API.md#etransactionversion2-1)[keyof typeof [`ETransactionVersion2`](types.RPC.RPCSPEC07.API.md#etransactionversion2-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:131 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:139 - ---- - -### ETransactionVersion3 - -Ƭ **ETransactionVersion3**: typeof [`ETransactionVersion3`](types.RPC.RPCSPEC07.API.md#etransactionversion3-1)[keyof typeof [`ETransactionVersion3`](types.RPC.RPCSPEC07.API.md#etransactionversion3-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:143 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:147 - -## Variables - -### ETransactionType - -• `Const` **ETransactionType**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :----------------- | -| `DECLARE` | `"DECLARE"` | -| `DEPLOY` | `"DEPLOY"` | -| `DEPLOY_ACCOUNT` | `"DEPLOY_ACCOUNT"` | -| `INVOKE` | `"INVOKE"` | -| `L1_HANDLER` | `"L1_HANDLER"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:68 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:75 - ---- - -### ESimulationFlag - -• `Const` **ESimulationFlag**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :------------------ | -| `SKIP_VALIDATE` | `"SKIP_VALIDATE"` | -| `SKIP_FEE_CHARGE` | `"SKIP_FEE_CHARGE"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:76 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:80 - ---- - -### ETransactionStatus - -• `Const` **ETransactionStatus**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :----------------- | -| `RECEIVED` | `"RECEIVED"` | -| `REJECTED` | `"REJECTED"` | -| `ACCEPTED_ON_L2` | `"ACCEPTED_ON_L2"` | -| `ACCEPTED_ON_L1` | `"ACCEPTED_ON_L1"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:81 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:87 - ---- - -### ETransactionFinalityStatus - -• `Const` **ETransactionFinalityStatus**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :----------------- | -| `ACCEPTED_ON_L2` | `"ACCEPTED_ON_L2"` | -| `ACCEPTED_ON_L1` | `"ACCEPTED_ON_L1"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:88 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:92 - ---- - -### ETransactionExecutionStatus - -• `Const` **ETransactionExecutionStatus**: `Object` - -#### Type declaration - -| Name | Type | -| :---------- | :------------ | -| `SUCCEEDED` | `"SUCCEEDED"` | -| `REVERTED` | `"REVERTED"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:93 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:97 - ---- - -### EBlockTag - -• `Const` **EBlockTag**: `Object` - -#### Type declaration - -| Name | Type | -| :-------- | :---------- | -| `LATEST` | `"latest"` | -| `PENDING` | `"pending"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:98 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:102 - ---- - -### EDataAvailabilityMode - -• `Const` **EDataAvailabilityMode**: `Object` - -#### Type declaration - -| Name | Type | -| :--- | :----- | -| `L1` | `"L1"` | -| `L2` | `"L2"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:103 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:107 - ---- - -### EDAMode - -• `Const` **EDAMode**: `Object` - -#### Type declaration - -| Name | Type | -| :--- | :--- | -| `L1` | `0` | -| `L2` | `1` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:108 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:112 - ---- - -### ETransactionVersion - -• `Const` **ETransactionVersion**: `Object` - -V* Transaction versions HexString -F* Fee Transaction Versions HexString (2 \*\* 128 + TRANSACTION_VERSION) - -#### Type declaration - -| Name | Type | -| :--- | :-------------------------------------- | -| `V0` | `"0x0"` | -| `V1` | `"0x1"` | -| `V2` | `"0x2"` | -| `V3` | `"0x3"` | -| `F0` | `"0x100000000000000000000000000000000"` | -| `F1` | `"0x100000000000000000000000000000001"` | -| `F2` | `"0x100000000000000000000000000000002"` | -| `F3` | `"0x100000000000000000000000000000003"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:117 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:127 - ---- - -### ETransactionVersion2 - -• `Const` **ETransactionVersion2**: `Object` - -Old Transaction Versions - -#### Type declaration - -| Name | Type | -| :--- | :-------------------------------------- | -| `V0` | `"0x0"` | -| `V1` | `"0x1"` | -| `V2` | `"0x2"` | -| `F0` | `"0x100000000000000000000000000000000"` | -| `F1` | `"0x100000000000000000000000000000001"` | -| `F2` | `"0x100000000000000000000000000000002"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:131 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:139 - ---- - -### ETransactionVersion3 - -• `Const` **ETransactionVersion3**: `Object` - -V3 Transaction Versions - -#### Type declaration - -| Name | Type | -| :--- | :-------------------------------------- | -| `V3` | `"0x3"` | -| `F3` | `"0x100000000000000000000000000000003"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:143 - -node_modules/@starknet-io/starknet-types-07/dist/types/api/nonspec.d.ts:147 diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.WALLET_API.md b/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.WALLET_API.md deleted file mode 100644 index e08d937d5..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.WALLET_API.md +++ /dev/null @@ -1,464 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07.WALLET_API' -title: 'Namespace: WALLET_API' -sidebar_label: 'WALLET_API' -custom_edit_url: null ---- - -[RPC](types.RPC.md).[RPCSPEC07](types.RPC.RPCSPEC07.md).WALLET_API - -## Interfaces - -- [StarknetDomain](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetDomain.md) -- [TypedData](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) -- [StarknetWindowObject](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) -- [AddInvokeTransactionParameters](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionParameters.md) -- [AddInvokeTransactionResult](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md) -- [AddDeclareTransactionParameters](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionParameters.md) -- [AddDeclareTransactionResult](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md) -- [RequestAccountsParameters](../interfaces/types.RPC.RPCSPEC07.WALLET_API.RequestAccountsParameters.md) -- [WatchAssetParameters](../interfaces/types.RPC.RPCSPEC07.WALLET_API.WatchAssetParameters.md) -- [AddStarknetChainParameters](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddStarknetChainParameters.md) -- [SwitchStarknetChainParameters](../interfaces/types.RPC.RPCSPEC07.WALLET_API.SwitchStarknetChainParameters.md) -- [AccountDeploymentData](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AccountDeploymentData.md) -- [ApiVersionRequest](../interfaces/types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md) -- [RpcTypeToMessageMap](../interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md) -- [WalletEventHandlers](../interfaces/types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers.md) -- [NOT_ERC20](../interfaces/types.RPC.RPCSPEC07.WALLET_API.NOT_ERC20.md) -- [UNLISTED_NETWORK](../interfaces/types.RPC.RPCSPEC07.WALLET_API.UNLISTED_NETWORK.md) -- [USER_REFUSED_OP](../interfaces/types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md) -- [INVALID_REQUEST_PAYLOAD](../interfaces/types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md) -- [ACCOUNT_ALREADY_DEPLOYED](../interfaces/types.RPC.RPCSPEC07.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md) -- [API_VERSION_NOT_SUPPORTED](../interfaces/types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md) -- [UNKNOWN_ERROR](../interfaces/types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md) - -## Type Aliases - -### Permission - -Ƭ **Permission**: typeof [`Permission`](types.RPC.RPCSPEC07.WALLET_API.md#permission-1)[keyof typeof [`Permission`](types.RPC.RPCSPEC07.WALLET_API.md#permission-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/constants.d.ts:1 - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/constants.d.ts:4 - ---- - -### TypedDataRevision - -Ƭ **TypedDataRevision**: typeof [`TypedDataRevision`](types.RPC.RPCSPEC07.WALLET_API.md#typeddatarevision-1)[keyof typeof [`TypedDataRevision`](types.RPC.RPCSPEC07.WALLET_API.md#typeddatarevision-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:1 - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:5 - ---- - -### StarknetEnumType - -Ƭ **StarknetEnumType**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :------- | -| `name` | `string` | -| `type` | `"enum"` | -| `contains` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:6 - ---- - -### StarknetMerkleType - -Ƭ **StarknetMerkleType**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :------------- | -| `name` | `string` | -| `type` | `"merkletree"` | -| `contains` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:11 - ---- - -### StarknetType - -Ƭ **StarknetType**: \{ `name`: `string` ; `type`: `string` } \| [`StarknetEnumType`](types.RPC.RPCSPEC07.WALLET_API.md#starknetenumtype) \| [`StarknetMerkleType`](types.RPC.RPCSPEC07.WALLET_API.md#starknetmerkletype) - -SPEC: STARKNET_TYPE -A single type, as part of a struct. The `type` field can be any of the EIP-712 supported types. -Note that the `uint` and `int` aliases like in Solidity, and fixed point numbers are not supported by the EIP-712 -standard. - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:22 - ---- - -### Address - -Ƭ **Address**: [`ADDRESS`](types.RPC.RPCSPEC07.API.SPEC.md#address) - -Account Address - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:6 - ---- - -### Signature - -Ƭ **Signature**: [`SIGNATURE`](types.RPC.RPCSPEC07.API.SPEC.md#signature) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:7 - ---- - -### PADDED_TXN_HASH - -Ƭ **PADDED_TXN_HASH**: [`PADDED_FELT`](types.RPC.RPCSPEC07.WALLET_API.md#padded_felt) - -The transaction hash, as assigned in Starknet - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:11 - ---- - -### PADDED_FELT - -Ƭ **PADDED_FELT**: `string` - -A padded felt represent 0x0 + (0-7) + (62 hex digits) - -**`Pattern`** - -^0x(0[0-7]{1}[a-fA-F0-9]{62}$) - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:16 - ---- - -### SpecVersion - -Ƭ **SpecVersion**: `string` - -A Starknet RPC spec version, only two numbers are provided - -**`Pattern`** - -^[0-9]+\\.[0-9]+$ - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:21 - ---- - -### TokenSymbol - -Ƭ **TokenSymbol**: `string` - -ERC20 Token Symbol (min:1 char - max:6 chars) - -**`Pattern`** - -^[A-Za-z0-9]{1,6}$ - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:26 - ---- - -### Asset - -Ƭ **Asset**: `Object` - -Starknet Token -Details of an onchain Starknet ERC20 token - -#### Type declaration - -| Name | Type | -| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `type` | `"ERC20"` | -| `options` | \{ `address`: [`Address`](types.RPC.RPCSPEC07.WALLET_API.md#address) ; `symbol?`: [`TokenSymbol`](types.RPC.RPCSPEC07.WALLET_API.md#tokensymbol) ; `decimals?`: `number` ; `image?`: `string` ; `name?`: `string` } | -| `options.address` | [`Address`](types.RPC.RPCSPEC07.WALLET_API.md#address) | -| `options.symbol?` | [`TokenSymbol`](types.RPC.RPCSPEC07.WALLET_API.md#tokensymbol) | -| `options.decimals?` | `number` | -| `options.image?` | `string` | -| `options.name?` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:31 - ---- - -### StarknetChain - -Ƭ **StarknetChain**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------- | :------------------------------------------------- | -| `id` | `string` | -| `chain_id` | [`ChainId`](types.RPC.RPCSPEC07.API.md#chainid) | -| `chain_name` | `string` | -| `rpc_urls?` | `string`[] | -| `block_explorer_url?` | `string`[] | -| `native_currency?` | [`Asset`](types.RPC.RPCSPEC07.WALLET_API.md#asset) | -| `icon_urls?` | `string`[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:41 - ---- - -### Call - -Ƭ **Call**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :----------------------------------------------------- | -| `contract_address` | [`Address`](types.RPC.RPCSPEC07.WALLET_API.md#address) | -| `entry_point` | `string` | -| `calldata?` | [`FELT`](types.RPC.RPCSPEC07.API.SPEC.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:50 - ---- - -### API_VERSION - -Ƭ **API_VERSION**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/components.d.ts:126 - ---- - -### RpcMessage - -Ƭ **RpcMessage**: \{ [K in keyof RpcTypeToMessageMap]: Object & RpcTypeToMessageMap[K] }[keyof [`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:125 - ---- - -### IsParamsOptional - -Ƭ **IsParamsOptional**<`T`\>: `undefined` extends [`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md)[`T`][``"params"``] ? `true` : `false` - -#### Type parameters - -| Name | Type | -| :--- | :--------------------------------------------------------------------------------------------------------- | -| `T` | extends keyof [`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:130 - ---- - -### RequestFnCall - -Ƭ **RequestFnCall**<`T`\>: \{ `type`: `T` } & [`IsParamsOptional`](types.RPC.RPCSPEC07.WALLET_API.md#isparamsoptional)<`T`\> extends `true` ? \{ `params?`: [`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md)[`T`][``"params"``] } : \{ `params`: [`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md)[`T`][``"params"``] } - -#### Type parameters - -| Name | Type | -| :--- | :------------------------------------------------------------------------------- | -| `T` | extends [`RpcMessage`](types.RPC.RPCSPEC07.WALLET_API.md#rpcmessage)[``"type"``] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:131 - ---- - -### RequestFn - -Ƭ **RequestFn**: (`call`: [`RequestFnCall`](types.RPC.RPCSPEC07.WALLET_API.md#requestfncall)<`T`\>) => `Promise`<[`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md)[`T`][``"result"``]\> - -#### Type declaration - -▸ <`T`\>(`call`): `Promise`<[`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md)[`T`][``"result"``]\> - -##### Type parameters - -| Name | Type | -| :--- | :------------------------------------------------------------------------------- | -| `T` | extends [`RpcMessage`](types.RPC.RPCSPEC07.WALLET_API.md#rpcmessage)[``"type"``] | - -##### Parameters - -| Name | Type | -| :----- | :----------------------------------------------------------------------- | -| `call` | [`RequestFnCall`](types.RPC.RPCSPEC07.WALLET_API.md#requestfncall)<`T`\> | - -##### Returns - -`Promise`<[`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md)[`T`][``"result"``]\> - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/methods.d.ts:138 - ---- - -### AccountChangeEventHandler - -Ƭ **AccountChangeEventHandler**: (`accounts?`: `string`[]) => `void` - -#### Type declaration - -▸ (`accounts?`): `void` - -##### Parameters - -| Name | Type | -| :---------- | :--------- | -| `accounts?` | `string`[] | - -##### Returns - -`void` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/events.d.ts:2 - ---- - -### NetworkChangeEventHandler - -Ƭ **NetworkChangeEventHandler**: (`chainId?`: [`ChainId`](types.RPC.RPCSPEC07.API.md#chainid), `accounts?`: `string`[]) => `void` - -#### Type declaration - -▸ (`chainId?`, `accounts?`): `void` - -##### Parameters - -| Name | Type | -| :---------- | :---------------------------------------------- | -| `chainId?` | [`ChainId`](types.RPC.RPCSPEC07.API.md#chainid) | -| `accounts?` | `string`[] | - -##### Returns - -`void` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/events.d.ts:3 - ---- - -### WalletEvents - -Ƭ **WalletEvents**: \{ [E in keyof WalletEventHandlers]: Object }[keyof [`WalletEventHandlers`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers.md)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/events.d.ts:8 - ---- - -### WalletEventListener - -Ƭ **WalletEventListener**: (`event`: `E`, `handleEvent`: [`WalletEventHandlers`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers.md)[`E`]) => `void` - -#### Type declaration - -▸ <`E`\>(`event`, `handleEvent`): `void` - -##### Type parameters - -| Name | Type | -| :--- | :--------------------------------------------------------------------------------------------------------- | -| `E` | extends keyof [`WalletEventHandlers`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers.md) | - -##### Parameters - -| Name | Type | -| :------------ | :------------------------------------------------------------------------------------------------ | -| `event` | `E` | -| `handleEvent` | [`WalletEventHandlers`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers.md)[`E`] | - -##### Returns - -`void` - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/events.d.ts:14 - -## Variables - -### Permission - -• `Const` **Permission**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :----------- | -| `ACCOUNTS` | `"accounts"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/constants.d.ts:1 - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/constants.d.ts:4 - ---- - -### TypedDataRevision - -• `Const` **TypedDataRevision**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :---- | -| `ACTIVE` | `"1"` | -| `LEGACY` | `"0"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:1 - -node_modules/@starknet-io/starknet-types-07/dist/types/wallet-api/typedData.d.ts:5 diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.md b/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.md deleted file mode 100644 index d65381d28..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC07.md +++ /dev/null @@ -1,691 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC07' -title: 'Namespace: RPCSPEC07' -sidebar_label: 'RPCSPEC07' -custom_edit_url: null ---- - -[types](types.md).[RPC](types.RPC.md).RPCSPEC07 - -## Namespaces - -- [API](types.RPC.RPCSPEC07.API.md) -- [WALLET_API](types.RPC.RPCSPEC07.WALLET_API.md) - -## References - -### Methods - -Re-exports [Methods](types.RPC.RPCSPEC07.API.md#methods) - ---- - -### Errors - -Re-exports [Errors](types.RPC.RPCSPEC07.API.Errors.md) - ---- - -### SPEC - -Re-exports [SPEC](types.RPC.RPCSPEC07.API.SPEC.md) - ---- - -### ABI - -Re-exports [ABI](types.RPC.RPCSPEC07.API.md#abi) - ---- - -### FUNCTION - -Re-exports [FUNCTION](types.RPC.RPCSPEC07.API.md#function) - ---- - -### CONSTRUCTOR - -Re-exports [CONSTRUCTOR](types.RPC.RPCSPEC07.API.md#constructor) - ---- - -### L1_HANDLER - -Re-exports [L1_HANDLER](types.RPC.RPCSPEC07.API.md#l1_handler) - ---- - -### EVENT - -Re-exports [EVENT](types.RPC.RPCSPEC07.API.md#event) - ---- - -### STRUCT_EVENT - -Re-exports [STRUCT_EVENT](types.RPC.RPCSPEC07.API.md#struct_event) - ---- - -### ENUM_EVENT - -Re-exports [ENUM_EVENT](types.RPC.RPCSPEC07.API.md#enum_event) - ---- - -### STRUCT - -Re-exports [STRUCT](types.RPC.RPCSPEC07.API.md#struct) - ---- - -### ENUM - -Re-exports [ENUM](types.RPC.RPCSPEC07.API.md#enum) - ---- - -### INTERFACE - -Re-exports [INTERFACE](types.RPC.RPCSPEC07.API.md#interface) - ---- - -### IMPL - -Re-exports [IMPL](types.RPC.RPCSPEC07.API.md#impl) - ---- - -### EVENT_KIND - -Re-exports [EVENT_KIND](types.RPC.RPCSPEC07.API.md#event_kind) - ---- - -### EVENT_FIELD - -Re-exports [EVENT_FIELD](types.RPC.RPCSPEC07.API.md#event_field) - ---- - -### ContractClass - -Re-exports [ContractClass](types.RPC.RPCSPEC07.API.md#contractclass) - ---- - -### SimulateTransaction - -Re-exports [SimulateTransaction](types.RPC.RPCSPEC07.API.md#simulatetransaction) - ---- - -### SimulateTransactionResponse - -Re-exports [SimulateTransactionResponse](types.RPC.RPCSPEC07.API.md#simulatetransactionresponse) - ---- - -### FeeEstimate - -Re-exports [FeeEstimate](types.RPC.RPCSPEC07.API.md#feeestimate) - ---- - -### TransactionWithHash - -Re-exports [TransactionWithHash](types.RPC.RPCSPEC07.API.md#transactionwithhash) - ---- - -### BlockHashAndNumber - -Re-exports [BlockHashAndNumber](types.RPC.RPCSPEC07.API.md#blockhashandnumber) - ---- - -### BlockWithTxs - -Re-exports [BlockWithTxs](types.RPC.RPCSPEC07.API.md#blockwithtxs) - ---- - -### BlockWithTxHashes - -Re-exports [BlockWithTxHashes](types.RPC.RPCSPEC07.API.md#blockwithtxhashes) - ---- - -### BlockWithTxReceipts - -Re-exports [BlockWithTxReceipts](types.RPC.RPCSPEC07.API.md#blockwithtxreceipts) - ---- - -### StateUpdate - -Re-exports [StateUpdate](types.RPC.RPCSPEC07.API.md#stateupdate) - ---- - -### BlockTransactionsTraces - -Re-exports [BlockTransactionsTraces](types.RPC.RPCSPEC07.API.md#blocktransactionstraces) - ---- - -### Syncing - -Re-exports [Syncing](types.RPC.RPCSPEC07.API.md#syncing) - ---- - -### Events - -Re-exports [Events](types.RPC.RPCSPEC07.API.md#events) - ---- - -### EmittedEvent - -Re-exports [EmittedEvent](types.RPC.RPCSPEC07.API.md#emittedevent) - ---- - -### Event - -Re-exports [Event](types.RPC.RPCSPEC07.API.md#event-1) - ---- - -### InvokedTransaction - -Re-exports [InvokedTransaction](types.RPC.RPCSPEC07.API.md#invokedtransaction) - ---- - -### DeclaredTransaction - -Re-exports [DeclaredTransaction](types.RPC.RPCSPEC07.API.md#declaredtransaction) - ---- - -### DeployedAccountTransaction - -Re-exports [DeployedAccountTransaction](types.RPC.RPCSPEC07.API.md#deployedaccounttransaction) - ---- - -### ContractAddress - -Re-exports [ContractAddress](types.RPC.RPCSPEC07.API.md#contractaddress) - ---- - -### Felt - -Re-exports [Felt](types.RPC.RPCSPEC07.API.md#felt) - ---- - -### Nonce - -Re-exports [Nonce](types.RPC.RPCSPEC07.API.md#nonce) - ---- - -### TransactionHash - -Re-exports [TransactionHash](types.RPC.RPCSPEC07.API.md#transactionhash) - ---- - -### TransactionTrace - -Re-exports [TransactionTrace](types.RPC.RPCSPEC07.API.md#transactiontrace) - ---- - -### BlockHash - -Re-exports [BlockHash](types.RPC.RPCSPEC07.API.md#blockhash) - ---- - -### TransactionReceipt - -Re-exports [TransactionReceipt](types.RPC.RPCSPEC07.API.md#transactionreceipt) - ---- - -### Receipt - -Re-exports [Receipt](types.RPC.RPCSPEC07.API.md#receipt) - ---- - -### PendingReceipt - -Re-exports [PendingReceipt](types.RPC.RPCSPEC07.API.md#pendingreceipt) - ---- - -### EventFilter - -Re-exports [EventFilter](types.RPC.RPCSPEC07.API.md#eventfilter) - ---- - -### SimulationFlags - -Re-exports [SimulationFlags](types.RPC.RPCSPEC07.API.md#simulationflags) - ---- - -### L1Message - -Re-exports [L1Message](types.RPC.RPCSPEC07.API.md#l1message) - ---- - -### BaseTransaction - -Re-exports [BaseTransaction](types.RPC.RPCSPEC07.API.md#basetransaction) - ---- - -### ChainId - -Re-exports [ChainId](types.RPC.RPCSPEC07.API.md#chainid) - ---- - -### Transaction - -Re-exports [Transaction](types.RPC.RPCSPEC07.API.md#transaction) - ---- - -### TransactionStatus - -Re-exports [TransactionStatus](types.RPC.RPCSPEC07.API.md#transactionstatus) - ---- - -### ResourceBounds - -Re-exports [ResourceBounds](types.RPC.RPCSPEC07.API.md#resourcebounds) - ---- - -### FeePayment - -Re-exports [FeePayment](types.RPC.RPCSPEC07.API.md#feepayment) - ---- - -### PriceUnit - -Re-exports [PriceUnit](types.RPC.RPCSPEC07.API.md#priceunit) - ---- - -### StorageDiffs - -Re-exports [StorageDiffs](types.RPC.RPCSPEC07.API.md#storagediffs) - ---- - -### DeprecatedDeclaredClasses - -Re-exports [DeprecatedDeclaredClasses](types.RPC.RPCSPEC07.API.md#deprecateddeclaredclasses) - ---- - -### NonceUpdates - -Re-exports [NonceUpdates](types.RPC.RPCSPEC07.API.md#nonceupdates) - ---- - -### ReplacedClasses - -Re-exports [ReplacedClasses](types.RPC.RPCSPEC07.API.md#replacedclasses) - ---- - -### ETransactionType - -Re-exports [ETransactionType](types.RPC.RPCSPEC07.API.md#etransactiontype-1) - ---- - -### ESimulationFlag - -Re-exports [ESimulationFlag](types.RPC.RPCSPEC07.API.md#esimulationflag-1) - ---- - -### ETransactionStatus - -Re-exports [ETransactionStatus](types.RPC.RPCSPEC07.API.md#etransactionstatus-1) - ---- - -### ETransactionFinalityStatus - -Re-exports [ETransactionFinalityStatus](types.RPC.RPCSPEC07.API.md#etransactionfinalitystatus-1) - ---- - -### ETransactionExecutionStatus - -Re-exports [ETransactionExecutionStatus](types.RPC.RPCSPEC07.API.md#etransactionexecutionstatus-1) - ---- - -### EBlockTag - -Re-exports [EBlockTag](types.RPC.RPCSPEC07.API.md#eblocktag-1) - ---- - -### EDataAvailabilityMode - -Re-exports [EDataAvailabilityMode](types.RPC.RPCSPEC07.API.md#edataavailabilitymode-1) - ---- - -### EDAMode - -Re-exports [EDAMode](types.RPC.RPCSPEC07.API.md#edamode-1) - ---- - -### ETransactionVersion - -Re-exports [ETransactionVersion](types.RPC.RPCSPEC07.API.md#etransactionversion-1) - ---- - -### ETransactionVersion2 - -Re-exports [ETransactionVersion2](types.RPC.RPCSPEC07.API.md#etransactionversion2-1) - ---- - -### ETransactionVersion3 - -Re-exports [ETransactionVersion3](types.RPC.RPCSPEC07.API.md#etransactionversion3-1) - ---- - -### Permission - -Re-exports [Permission](types.RPC.RPCSPEC07.WALLET_API.md#permission-1) - ---- - -### TypedDataRevision - -Re-exports [TypedDataRevision](types.RPC.RPCSPEC07.WALLET_API.md#typeddatarevision-1) - ---- - -### StarknetEnumType - -Re-exports [StarknetEnumType](types.RPC.RPCSPEC07.WALLET_API.md#starknetenumtype) - ---- - -### StarknetMerkleType - -Re-exports [StarknetMerkleType](types.RPC.RPCSPEC07.WALLET_API.md#starknetmerkletype) - ---- - -### StarknetType - -Re-exports [StarknetType](types.RPC.RPCSPEC07.WALLET_API.md#starknettype) - ---- - -### StarknetDomain - -Re-exports [StarknetDomain](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetDomain.md) - ---- - -### TypedData - -Re-exports [TypedData](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) - ---- - -### StarknetWindowObject - -Re-exports [StarknetWindowObject](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) - ---- - -### Address - -Re-exports [Address](types.RPC.RPCSPEC07.WALLET_API.md#address) - ---- - -### Signature - -Re-exports [Signature](types.RPC.RPCSPEC07.WALLET_API.md#signature) - ---- - -### PADDED_TXN_HASH - -Re-exports [PADDED_TXN_HASH](types.RPC.RPCSPEC07.WALLET_API.md#padded_txn_hash) - ---- - -### PADDED_FELT - -Re-exports [PADDED_FELT](types.RPC.RPCSPEC07.WALLET_API.md#padded_felt) - ---- - -### SpecVersion - -Re-exports [SpecVersion](types.RPC.RPCSPEC07.WALLET_API.md#specversion) - ---- - -### TokenSymbol - -Re-exports [TokenSymbol](types.RPC.RPCSPEC07.WALLET_API.md#tokensymbol) - ---- - -### Asset - -Re-exports [Asset](types.RPC.RPCSPEC07.WALLET_API.md#asset) - ---- - -### StarknetChain - -Re-exports [StarknetChain](types.RPC.RPCSPEC07.WALLET_API.md#starknetchain) - ---- - -### Call - -Re-exports [Call](types.RPC.RPCSPEC07.WALLET_API.md#call) - ---- - -### AddInvokeTransactionParameters - -Re-exports [AddInvokeTransactionParameters](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionParameters.md) - ---- - -### AddInvokeTransactionResult - -Re-exports [AddInvokeTransactionResult](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md) - ---- - -### AddDeclareTransactionParameters - -Re-exports [AddDeclareTransactionParameters](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionParameters.md) - ---- - -### AddDeclareTransactionResult - -Re-exports [AddDeclareTransactionResult](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md) - ---- - -### RequestAccountsParameters - -Re-exports [RequestAccountsParameters](../interfaces/types.RPC.RPCSPEC07.WALLET_API.RequestAccountsParameters.md) - ---- - -### WatchAssetParameters - -Re-exports [WatchAssetParameters](../interfaces/types.RPC.RPCSPEC07.WALLET_API.WatchAssetParameters.md) - ---- - -### AddStarknetChainParameters - -Re-exports [AddStarknetChainParameters](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddStarknetChainParameters.md) - ---- - -### SwitchStarknetChainParameters - -Re-exports [SwitchStarknetChainParameters](../interfaces/types.RPC.RPCSPEC07.WALLET_API.SwitchStarknetChainParameters.md) - ---- - -### AccountDeploymentData - -Re-exports [AccountDeploymentData](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AccountDeploymentData.md) - ---- - -### API_VERSION - -Re-exports [API_VERSION](types.RPC.RPCSPEC07.WALLET_API.md#api_version) - ---- - -### ApiVersionRequest - -Re-exports [ApiVersionRequest](../interfaces/types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md) - ---- - -### RpcTypeToMessageMap - -Re-exports [RpcTypeToMessageMap](../interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md) - ---- - -### RpcMessage - -Re-exports [RpcMessage](types.RPC.RPCSPEC07.WALLET_API.md#rpcmessage) - ---- - -### IsParamsOptional - -Re-exports [IsParamsOptional](types.RPC.RPCSPEC07.WALLET_API.md#isparamsoptional) - ---- - -### RequestFnCall - -Re-exports [RequestFnCall](types.RPC.RPCSPEC07.WALLET_API.md#requestfncall) - ---- - -### RequestFn - -Re-exports [RequestFn](types.RPC.RPCSPEC07.WALLET_API.md#requestfn) - ---- - -### AccountChangeEventHandler - -Re-exports [AccountChangeEventHandler](types.RPC.RPCSPEC07.WALLET_API.md#accountchangeeventhandler) - ---- - -### NetworkChangeEventHandler - -Re-exports [NetworkChangeEventHandler](types.RPC.RPCSPEC07.WALLET_API.md#networkchangeeventhandler) - ---- - -### WalletEventHandlers - -Re-exports [WalletEventHandlers](../interfaces/types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers.md) - ---- - -### WalletEvents - -Re-exports [WalletEvents](types.RPC.RPCSPEC07.WALLET_API.md#walletevents) - ---- - -### WalletEventListener - -Re-exports [WalletEventListener](types.RPC.RPCSPEC07.WALLET_API.md#walleteventlistener) - ---- - -### NOT_ERC20 - -Re-exports [NOT_ERC20](../interfaces/types.RPC.RPCSPEC07.WALLET_API.NOT_ERC20.md) - ---- - -### UNLISTED_NETWORK - -Re-exports [UNLISTED_NETWORK](../interfaces/types.RPC.RPCSPEC07.WALLET_API.UNLISTED_NETWORK.md) - ---- - -### USER_REFUSED_OP - -Re-exports [USER_REFUSED_OP](../interfaces/types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md) - ---- - -### INVALID_REQUEST_PAYLOAD - -Re-exports [INVALID_REQUEST_PAYLOAD](../interfaces/types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md) - ---- - -### ACCOUNT_ALREADY_DEPLOYED - -Re-exports [ACCOUNT_ALREADY_DEPLOYED](../interfaces/types.RPC.RPCSPEC07.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md) - ---- - -### API_VERSION_NOT_SUPPORTED - -Re-exports [API_VERSION_NOT_SUPPORTED](../interfaces/types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md) - ---- - -### UNKNOWN_ERROR - -Re-exports [UNKNOWN_ERROR](../interfaces/types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.API.CONTRACT.md b/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.API.CONTRACT.md deleted file mode 100644 index 90460516a..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.API.CONTRACT.md +++ /dev/null @@ -1,222 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API.CONTRACT' -title: 'Namespace: CONTRACT' -sidebar_label: 'CONTRACT' -custom_edit_url: null ---- - -[RPCSPEC08](types.RPC.RPCSPEC08.md).[API](types.RPC.RPCSPEC08.API.md).CONTRACT - -## Type Aliases - -### ABI - -Ƭ **ABI**: ([`FUNCTION`](types.RPC.RPCSPEC08.API.CONTRACT.md#function) \| [`CONSTRUCTOR`](types.RPC.RPCSPEC08.API.CONTRACT.md#constructor) \| [`L1_HANDLER`](types.RPC.RPCSPEC08.API.CONTRACT.md#l1_handler) \| [`EVENT`](types.RPC.RPCSPEC08.API.CONTRACT.md#event) \| [`STRUCT`](types.RPC.RPCSPEC08.API.CONTRACT.md#struct) \| [`ENUM`](types.RPC.RPCSPEC08.API.CONTRACT.md#enum) \| [`INTERFACE`](types.RPC.RPCSPEC08.API.CONTRACT.md#interface) \| [`IMPL`](types.RPC.RPCSPEC08.API.CONTRACT.md#impl))[] - -Cairo v>=2 Contract ABI - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/contract.d.ts:11 - ---- - -### FUNCTION - -Ƭ **FUNCTION**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :----------------- | :-------------------------------------------------------------------- | :--------------------------- | -| `type` | [`ABI_TYPE_FUNCTION`](types.RPC.RPCSPEC08.API.md#abi_type_function-1) | - | -| `name` | `string` | the function's name | -| `inputs` | [`ABI_NAME_AND_TYPE`](types.RPC.RPCSPEC08.API.md#abi_name_and_type)[] | the arguments name and type. | -| `outputs` | [`ABI_TYPE`](types.RPC.RPCSPEC08.API.md#abi_type)[] | the output type. | -| `state_mutability` | [`STATE_MUTABILITY`](types.RPC.RPCSPEC08.API.md#state_mutability) | - | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/contract.d.ts:12 - ---- - -### CONSTRUCTOR - -Ƭ **CONSTRUCTOR**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :-------------------------------------------------------------------------- | -| `type` | [`ABI_TYPE_CONSTRUCTOR`](types.RPC.RPCSPEC08.API.md#abi_type_constructor-1) | -| `name` | [`ABI_TYPE_CONSTRUCTOR`](types.RPC.RPCSPEC08.API.md#abi_type_constructor-1) | -| `inputs` | [`ABI_NAME_AND_TYPE`](types.RPC.RPCSPEC08.API.md#abi_name_and_type)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/contract.d.ts:28 - ---- - -### L1_HANDLER - -Ƭ **L1_HANDLER**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :------------------------------------------------------------------------ | -| `type` | [`ABI_TYPE_L1_HANDLER`](types.RPC.RPCSPEC08.API.md#abi_type_l1_handler-1) | -| `name` | `string` | -| `inputs` | [`ABI_NAME_AND_TYPE`](types.RPC.RPCSPEC08.API.md#abi_name_and_type)[] | -| `outputs` | [`ABI_TYPE`](types.RPC.RPCSPEC08.API.md#abi_type)[] | -| `state_mutability` | [`STATE_MUTABILITY`](types.RPC.RPCSPEC08.API.md#state_mutability) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/contract.d.ts:33 - ---- - -### EVENT - -Ƭ **EVENT**: \{ `type`: [`EVENT_ABI_TYPE`](types.RPC.RPCSPEC08.API.md#event_abi_type-1) ; `name`: `string` } & `SimpleOneOf`<[`ENUM_EVENT`](types.RPC.RPCSPEC08.API.CONTRACT.md#enum_event), [`STRUCT_EVENT`](types.RPC.RPCSPEC08.API.CONTRACT.md#struct_event)\> - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/contract.d.ts:40 - ---- - -### STRUCT_EVENT - -Ƭ **STRUCT_EVENT**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :-------- | :----------------------------------------------------------------- | :------------- | -| `kind` | [`STRUCT_ABI_TYPE`](types.RPC.RPCSPEC08.API.md#struct_abi_type-1) | - | -| `members` | [`EVENT_FIELD`](types.RPC.RPCSPEC08.API.CONTRACT.md#event_field)[] | struct members | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/contract.d.ts:47 - ---- - -### ENUM_EVENT - -Ƭ **ENUM_EVENT**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :--------- | :----------------------------------------------------------------- | :------------ | -| `kind` | [`ABI_TYPE_ENUM`](types.RPC.RPCSPEC08.API.md#abi_type_enum-1) | - | -| `variants` | [`EVENT_FIELD`](types.RPC.RPCSPEC08.API.CONTRACT.md#event_field)[] | enum variants | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/contract.d.ts:54 - ---- - -### STRUCT - -Ƭ **STRUCT**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :-------- | :-------------------------------------------------------------------- | :--------------------------------------------------------------------------- | -| `type` | [`STRUCT_ABI_TYPE`](types.RPC.RPCSPEC08.API.md#struct_abi_type-1) | - | -| `name` | `string` | the (Cairo) struct name, including namespacing | -| `members` | [`ABI_NAME_AND_TYPE`](types.RPC.RPCSPEC08.API.md#abi_name_and_type)[] | name of the struct member. type of the struct member, including namespacing. | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/contract.d.ts:61 - ---- - -### ENUM - -Ƭ **ENUM**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :--------- | :-------------------------------------------------------------------- | :------------------------------------------------------------------------- | -| `type` | [`ABI_TYPE_ENUM`](types.RPC.RPCSPEC08.API.md#abi_type_enum-1) | - | -| `name` | `string` | the (Cairo) enum name, including namespacing | -| `variants` | [`ABI_NAME_AND_TYPE`](types.RPC.RPCSPEC08.API.md#abi_name_and_type)[] | name of the enum variant. type of the enum variant, including namespacing. | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/contract.d.ts:73 - ---- - -### INTERFACE - -Ƭ **INTERFACE**: `Object` - -#### Type declaration - -| Name | Type | -| :------ | :----------------------------------------------------------- | -| `type` | `"interface"` | -| `name` | `string` | -| `items` | [`FUNCTION`](types.RPC.RPCSPEC08.API.CONTRACT.md#function)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/contract.d.ts:85 - ---- - -### IMPL - -Ƭ **IMPL**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :--------------- | :------- | :--------------------------------------------------- | -| `type` | `"impl"` | - | -| `name` | `string` | the name of an impl containing contract entry points | -| `interface_name` | `string` | the name of the trait corresponding to this impl | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/contract.d.ts:90 - ---- - -### EVENT_KIND - -Ƭ **EVENT_KIND**: [`STRUCT_ABI_TYPE`](types.RPC.RPCSPEC08.API.md#struct_abi_type-1) \| [`ABI_TYPE_ENUM`](types.RPC.RPCSPEC08.API.md#abi_type_enum-1) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/contract.d.ts:101 - ---- - -### EVENT_FIELD - -Ƭ **EVENT_FIELD**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :----- | :-------------------------------------------- | :------------------------------------------------------------- | -| `name` | `string` | the name of the struct member or enum variant | -| `type` | `string` | the Cairo type of the member or variant, including namespacing | -| `kind` | `"key"` \| `"data"` \| `"nested"` \| `"flat"` | - | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/contract.d.ts:102 diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.API.md b/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.API.md deleted file mode 100644 index 6c366b6f5..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.API.md +++ /dev/null @@ -1,3969 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.API' -title: 'Namespace: API' -sidebar_label: 'API' -custom_edit_url: null ---- - -[RPC](types.RPC.md).[RPCSPEC08](types.RPC.RPCSPEC08.md).API - -## Namespaces - -- [CONTRACT](types.RPC.RPCSPEC08.API.CONTRACT.md) - -## Interfaces - -- [FAILED_TO_RECEIVE_TXN](../interfaces/types.RPC.RPCSPEC08.API.FAILED_TO_RECEIVE_TXN.md) -- [NO_TRACE_AVAILABLE](../interfaces/types.RPC.RPCSPEC08.API.NO_TRACE_AVAILABLE.md) -- [CONTRACT_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.CONTRACT_NOT_FOUND.md) -- [ENTRYPOINT_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.ENTRYPOINT_NOT_FOUND.md) -- [BLOCK_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md) -- [INVALID_TXN_INDEX](../interfaces/types.RPC.RPCSPEC08.API.INVALID_TXN_INDEX.md) -- [CLASS_HASH_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.CLASS_HASH_NOT_FOUND.md) -- [TXN_HASH_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.TXN_HASH_NOT_FOUND.md) -- [PAGE_SIZE_TOO_BIG](../interfaces/types.RPC.RPCSPEC08.API.PAGE_SIZE_TOO_BIG.md) -- [NO_BLOCKS](../interfaces/types.RPC.RPCSPEC08.API.NO_BLOCKS.md) -- [INVALID_CONTINUATION_TOKEN](../interfaces/types.RPC.RPCSPEC08.API.INVALID_CONTINUATION_TOKEN.md) -- [TOO_MANY_KEYS_IN_FILTER](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER.md) -- [CONTRACT_ERROR](../interfaces/types.RPC.RPCSPEC08.API.CONTRACT_ERROR.md) -- [TRANSACTION_EXECUTION_ERROR](../interfaces/types.RPC.RPCSPEC08.API.TRANSACTION_EXECUTION_ERROR.md) -- [STORAGE_PROOF_NOT_SUPPORTED](../interfaces/types.RPC.RPCSPEC08.API.STORAGE_PROOF_NOT_SUPPORTED.md) -- [CLASS_ALREADY_DECLARED](../interfaces/types.RPC.RPCSPEC08.API.CLASS_ALREADY_DECLARED.md) -- [INVALID_TRANSACTION_NONCE](../interfaces/types.RPC.RPCSPEC08.API.INVALID_TRANSACTION_NONCE.md) -- [INSUFFICIENT_RESOURCES_FOR_VALIDATE](../interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_RESOURCES_FOR_VALIDATE.md) -- [INSUFFICIENT_ACCOUNT_BALANCE](../interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_ACCOUNT_BALANCE.md) -- [VALIDATION_FAILURE](../interfaces/types.RPC.RPCSPEC08.API.VALIDATION_FAILURE.md) -- [COMPILATION_FAILED](../interfaces/types.RPC.RPCSPEC08.API.COMPILATION_FAILED.md) -- [CONTRACT_CLASS_SIZE_IS_TOO_LARGE](../interfaces/types.RPC.RPCSPEC08.API.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md) -- [NON_ACCOUNT](../interfaces/types.RPC.RPCSPEC08.API.NON_ACCOUNT.md) -- [DUPLICATE_TX](../interfaces/types.RPC.RPCSPEC08.API.DUPLICATE_TX.md) -- [COMPILED_CLASS_HASH_MISMATCH](../interfaces/types.RPC.RPCSPEC08.API.COMPILED_CLASS_HASH_MISMATCH.md) -- [UNSUPPORTED_TX_VERSION](../interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_TX_VERSION.md) -- [UNSUPPORTED_CONTRACT_CLASS_VERSION](../interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_CONTRACT_CLASS_VERSION.md) -- [UNEXPECTED_ERROR](../interfaces/types.RPC.RPCSPEC08.API.UNEXPECTED_ERROR.md) -- [INVALID_SUBSCRIPTION_ID](../interfaces/types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID.md) -- [TOO_MANY_ADDRESSES_IN_FILTER](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER.md) -- [TOO_MANY_BLOCKS_BACK](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md) -- [COMPILATION_ERROR](../interfaces/types.RPC.RPCSPEC08.API.COMPILATION_ERROR.md) - -## Type Aliases - -### Methods - -Ƭ **Methods**: `ReadMethods` & `WriteMethods` & `TraceMethods` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/methods.d.ts:5 - ---- - -### WebSocketMethods - -Ƭ **WebSocketMethods**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `starknet_subscribeNewHeads` | \{ `params`: \{ `block_id?`: [`SUBSCRIPTION_BLOCK_ID`](types.RPC.RPCSPEC08.API.md#subscription_block_id) } ; `result`: [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) ; `errors`: [`TOO_MANY_BLOCKS_BACK`](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md) \| [`BLOCK_NOT_FOUND`](../interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md) ; `events`: [``"starknet_subscriptionNewHeads"``, ``"starknet_subscriptionReorg"``] } | New block headers subscription. Creates a WebSocket stream which will fire events for new block headers. | -| `starknet_subscribeNewHeads.params` | \{ `block_id?`: [`SUBSCRIPTION_BLOCK_ID`](types.RPC.RPCSPEC08.API.md#subscription_block_id) } | - | -| `starknet_subscribeNewHeads.params.block_id?` | [`SUBSCRIPTION_BLOCK_ID`](types.RPC.RPCSPEC08.API.md#subscription_block_id) | The block to get notifications from, default is latest, limited to 1024 blocks back | -| `starknet_subscribeNewHeads.result` | [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) | - | -| `starknet_subscribeNewHeads.errors` | [`TOO_MANY_BLOCKS_BACK`](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md) \| [`BLOCK_NOT_FOUND`](../interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md) | - | -| `starknet_subscribeNewHeads.events` | [``"starknet_subscriptionNewHeads"``, ``"starknet_subscriptionReorg"``] | - | -| `starknet_subscribeEvents` | \{ `params`: \{ `from_address?`: [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) ; `keys?`: [`EVENT_KEYS`](types.RPC.RPCSPEC08.API.md#event_keys) ; `block_id?`: [`SUBSCRIPTION_BLOCK_ID`](types.RPC.RPCSPEC08.API.md#subscription_block_id) } ; `result`: [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) ; `errors`: [`TOO_MANY_KEYS_IN_FILTER`](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER.md) \| [`TOO_MANY_BLOCKS_BACK`](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md) \| [`BLOCK_NOT_FOUND`](../interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md) ; `events`: [``"starknet_subscriptionEvents"``, ``"starknet_subscriptionReorg"``] } | New events subscription. Creates a WebSocket stream which will fire events for new Starknet events with applied filters. | -| `starknet_subscribeEvents.params` | \{ `from_address?`: [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) ; `keys?`: [`EVENT_KEYS`](types.RPC.RPCSPEC08.API.md#event_keys) ; `block_id?`: [`SUBSCRIPTION_BLOCK_ID`](types.RPC.RPCSPEC08.API.md#subscription_block_id) } | - | -| `starknet_subscribeEvents.params.from_address?` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | Filter events by from_address which emitted the event | -| `starknet_subscribeEvents.params.keys?` | [`EVENT_KEYS`](types.RPC.RPCSPEC08.API.md#event_keys) | - | -| `starknet_subscribeEvents.params.block_id?` | [`SUBSCRIPTION_BLOCK_ID`](types.RPC.RPCSPEC08.API.md#subscription_block_id) | The block to get notifications from, default is latest, limited to 1024 blocks back | -| `starknet_subscribeEvents.result` | [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) | - | -| `starknet_subscribeEvents.errors` | [`TOO_MANY_KEYS_IN_FILTER`](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER.md) \| [`TOO_MANY_BLOCKS_BACK`](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md) \| [`BLOCK_NOT_FOUND`](../interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md) | - | -| `starknet_subscribeEvents.events` | [``"starknet_subscriptionEvents"``, ``"starknet_subscriptionReorg"``] | - | -| `starknet_subscribeTransactionStatus` | \{ `params`: \{ `transaction_hash`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) } ; `result`: [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) ; `events`: [``"starknet_subscriptionTransactionStatus"``, ``"starknet_subscriptionReorg"``] } | New transaction status subscription. Creates a WebSocket stream which at first fires an event with the current known transaction status, followed by events for every transaction status update | -| `starknet_subscribeTransactionStatus.params` | \{ `transaction_hash`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) } | - | -| `starknet_subscribeTransactionStatus.params.transaction_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - | -| `starknet_subscribeTransactionStatus.result` | [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) | - | -| `starknet_subscribeTransactionStatus.events` | [``"starknet_subscriptionTransactionStatus"``, ``"starknet_subscriptionReorg"``] | - | -| `starknet_subscribePendingTransactions` | \{ `params`: \{ `transaction_details?`: `Boolean` ; `sender_address?`: [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address)[] } ; `result`: [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) ; `errors`: [`TOO_MANY_ADDRESSES_IN_FILTER`](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER.md) ; `events`: [``"starknet_subscriptionPendingTransactions"``] } | New Pending Transactions subscription. Creates a WebSocket stream which will fire events when a new pending transaction is added. While there is no mempool, this notifies of transactions in the pending block. | -| `starknet_subscribePendingTransactions.params` | \{ `transaction_details?`: `Boolean` ; `sender_address?`: [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address)[] } | - | -| `starknet_subscribePendingTransactions.params.transaction_details?` | `Boolean` | "Get all transaction details, and not only the hash. If not provided, only hash is returned. Default is false" | -| `starknet_subscribePendingTransactions.params.sender_address?` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address)[] | Filter transactions to only receive notification from address list | -| `starknet_subscribePendingTransactions.result` | [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) | - | -| `starknet_subscribePendingTransactions.errors` | [`TOO_MANY_ADDRESSES_IN_FILTER`](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER.md) | - | -| `starknet_subscribePendingTransactions.events` | [``"starknet_subscriptionPendingTransactions"``] | - | -| `starknet_unsubscribe` | \{ `params`: \{ `subscription_id`: [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) } ; `result`: `Boolean` ; `errors`: [`INVALID_SUBSCRIPTION_ID`](../interfaces/types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID.md) } | Close a previously opened ws stream, with the corresponding subscription id | -| `starknet_unsubscribe.params` | \{ `subscription_id`: [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) } | - | -| `starknet_unsubscribe.params.subscription_id` | [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) | - | -| `starknet_unsubscribe.result` | `Boolean` | - | -| `starknet_unsubscribe.errors` | [`INVALID_SUBSCRIPTION_ID`](../interfaces/types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID.md) | - | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/methods.d.ts:280 - ---- - -### WebSocketEvents - -Ƭ **WebSocketEvents**: `Object` - -Server -> Client events over WebSockets - -#### Type declaration - -| Name | Type | -| :----------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | -| `starknet_subscriptionReorg` | [`SubscriptionReorgResponse`](types.RPC.RPCSPEC08.API.md#subscriptionreorgresponse) | -| `starknet_subscriptionNewHeads` | [`SubscriptionNewHeadsResponse`](types.RPC.RPCSPEC08.API.md#subscriptionnewheadsresponse) | -| `starknet_subscriptionEvents` | [`SubscriptionEventsResponse`](types.RPC.RPCSPEC08.API.md#subscriptioneventsresponse) | -| `starknet_subscriptionTransactionStatus` | [`SubscriptionTransactionsStatusResponse`](types.RPC.RPCSPEC08.API.md#subscriptiontransactionsstatusresponse) | -| `starknet_subscriptionPendingTransactions` | [`SubscriptionPendingTransactionsResponse`](types.RPC.RPCSPEC08.API.md#subscriptionpendingtransactionsresponse) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/methods.d.ts:360 - ---- - -### FELT - -Ƭ **FELT**: `string` - -A field element. represented by at most 63 hex digits - -**`Pattern`** - -^0x(0|[a-fA-F1-9]{1}[a-fA-F0-9]{0,62})$ - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:7 - ---- - -### ETH_ADDRESS - -Ƭ **ETH_ADDRESS**: `string` - -an ethereum address represented as 40 hex digits - -**`Pattern`** - -^0x[a-fA-F0-9]{40}$ - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:12 - ---- - -### STORAGE_KEY - -Ƭ **STORAGE_KEY**: `string` - -A storage key. Represented as up to 62 hex digits, 3 bits, and 5 leading zeroes. - -**`Pattern`** - -^0x(0|[0-7]{1}[a-fA-F0-9]{0,62}$) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:17 - ---- - -### ADDRESS - -Ƭ **ADDRESS**: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) - -A contract address on Starknet - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:21 - ---- - -### NUM_AS_HEX - -Ƭ **NUM_AS_HEX**: `string` - -string representing an integer number in prefixed hexadecimal format - -**`Example`** - -```ts -'0x..'; -``` - -**`Pattern`** - -^0x[a-fA-F0-9]+$ - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:27 - ---- - -### u64 - -Ƭ **u64**: `string` - -64 bit integers, represented by hex string of length at most 16 -"pattern": "^0x(0|[a-fA-F1-9]{1}[a-fA-F0-9]{0,15})$" - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:32 - ---- - -### u128 - -Ƭ **u128**: `string` - -128 bit integers, represented by hex string of length at most 32 -"pattern": "^0x(0|[a-fA-F1-9]{1}[a-fA-F0-9]{0,31})$" - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:37 - ---- - -### SIGNATURE - -Ƭ **SIGNATURE**: [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:38 - ---- - -### BLOCK_NUMBER - -Ƭ **BLOCK_NUMBER**: `number` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:39 - ---- - -### BLOCK_HASH - -Ƭ **BLOCK_HASH**: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:40 - ---- - -### TXN_HASH - -Ƭ **TXN_HASH**: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) - -The hash of an Starknet transaction - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:44 - ---- - -### L1_TXN_HASH - -Ƭ **L1_TXN_HASH**: [`NUM_AS_HEX`](types.RPC.RPCSPEC08.API.md#num_as_hex) - -The hash of an Ethereum transaction - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:48 - ---- - -### CHAIN_ID - -Ƭ **CHAIN_ID**: [`NUM_AS_HEX`](types.RPC.RPCSPEC08.API.md#num_as_hex) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:49 - ---- - -### STATE_MUTABILITY - -Ƭ **STATE_MUTABILITY**: [`STATE_MUTABILITY_VIEW`](types.RPC.RPCSPEC08.API.md#state_mutability_view-1) \| [`STATE_MUTABILITY_EXTERNAL`](types.RPC.RPCSPEC08.API.md#state_mutability_external-1) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:50 - ---- - -### FUNCTION_ABI_TYPE - -Ƭ **FUNCTION_ABI_TYPE**: [`ABI_TYPE_FUNCTION`](types.RPC.RPCSPEC08.API.md#abi_type_function-1) \| [`ABI_TYPE_L1_HANDLER`](types.RPC.RPCSPEC08.API.md#abi_type_l1_handler-1) \| [`ABI_TYPE_CONSTRUCTOR`](types.RPC.RPCSPEC08.API.md#abi_type_constructor-1) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:51 - ---- - -### ABI_NAME_AND_TYPE - -Ƭ **ABI_NAME_AND_TYPE**: `Object` - -common definition - -#### Type declaration - -| Name | Type | -| :----- | :------- | -| `name` | `string` | -| `type` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:55 - ---- - -### ABI_TYPE - -Ƭ **ABI_TYPE**: `Object` - -common outputs - -#### Type declaration - -| Name | Type | -| :----- | :------- | -| `type` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:62 - ---- - -### ENTRY_POINT_TYPE - -Ƭ **ENTRY_POINT_TYPE**: `Uppercase`<[`STATE_MUTABILITY_EXTERNAL`](types.RPC.RPCSPEC08.API.md#state_mutability_external-1)\> \| `Uppercase`<[`ABI_TYPE_L1_HANDLER`](types.RPC.RPCSPEC08.API.md#abi_type_l1_handler-1)\> \| `Uppercase`<[`ABI_TYPE_CONSTRUCTOR`](types.RPC.RPCSPEC08.API.md#abi_type_constructor-1)\> - -Represents the type of an entry point. - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:68 - ---- - -### TXN_STATUS - -Ƭ **TXN_STATUS**: [`STATUS_RECEIVED`](types.RPC.RPCSPEC08.API.md#status_received-1) \| [`STATUS_REJECTED`](types.RPC.RPCSPEC08.API.md#status_rejected-1) \| [`STATUS_ACCEPTED_ON_L2`](types.RPC.RPCSPEC08.API.md#status_accepted_on_l2-1) \| [`STATUS_ACCEPTED_ON_L1`](types.RPC.RPCSPEC08.API.md#status_accepted_on_l1-1) - -Represents the finality status of the transaction, including the case the txn is still in the mempool or failed validation during the block construction phase - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:72 - ---- - -### SIMULATION_FLAG - -Ƭ **SIMULATION_FLAG**: typeof [`SKIP_VALIDATE`](types.RPC.RPCSPEC08.API.md#skip_validate) \| typeof [`SKIP_FEE_CHARGE`](types.RPC.RPCSPEC08.API.md#skip_fee_charge) - -Flags that indicate how to simulate a given transaction. By default, the sequencer behavior is replicated locally (enough funds are expected to be in the account, and the fee will be deducted from the balance before the simulation of the next transaction). To skip the fee charge, use the SKIP_FEE_CHARGE flag. - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:76 - ---- - -### DA_MODE - -Ƭ **DA_MODE**: [`EDataAvailabilityMode`](types.RPC.RPCSPEC08.API.md#edataavailabilitymode-1) - -Data availability mode. -Specifies a storage domain in Starknet. Each domain has different guarantees regarding availability - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:81 - ---- - -### TXN_TYPE - -Ƭ **TXN_TYPE**: [`TXN_TYPE_DECLARE`](types.RPC.RPCSPEC08.API.md#txn_type_declare-1) \| [`TXN_TYPE_DEPLOY`](types.RPC.RPCSPEC08.API.md#txn_type_deploy-1) \| [`TXN_TYPE_DEPLOY_ACCOUNT`](types.RPC.RPCSPEC08.API.md#txn_type_deploy_account-1) \| [`TXN_TYPE_INVOKE`](types.RPC.RPCSPEC08.API.md#txn_type_invoke-1) \| `Uppercase`<[`ABI_TYPE_L1_HANDLER`](types.RPC.RPCSPEC08.API.md#abi_type_l1_handler-1)\> - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:82 - ---- - -### TXN_FINALITY_STATUS - -Ƭ **TXN_FINALITY_STATUS**: [`STATUS_ACCEPTED_ON_L2`](types.RPC.RPCSPEC08.API.md#status_accepted_on_l2-1) \| [`STATUS_ACCEPTED_ON_L1`](types.RPC.RPCSPEC08.API.md#status_accepted_on_l1-1) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:83 - ---- - -### TXN_EXECUTION_STATUS - -Ƭ **TXN_EXECUTION_STATUS**: [`STATUS_SUCCEEDED`](types.RPC.RPCSPEC08.API.md#status_succeeded-1) \| [`STATUS_REVERTED`](types.RPC.RPCSPEC08.API.md#status_reverted-1) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:84 - ---- - -### BLOCK_STATUS - -Ƭ **BLOCK_STATUS**: [`STATUS_PENDING`](types.RPC.RPCSPEC08.API.md#status_pending-1) \| [`STATUS_ACCEPTED_ON_L2`](types.RPC.RPCSPEC08.API.md#status_accepted_on_l2-1) \| [`STATUS_ACCEPTED_ON_L1`](types.RPC.RPCSPEC08.API.md#status_accepted_on_l1-1) \| [`STATUS_REJECTED`](types.RPC.RPCSPEC08.API.md#status_rejected-1) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:85 - ---- - -### BLOCK_SELECTOR - -Ƭ **BLOCK_SELECTOR**: `SimpleOneOf`<\{ `block_hash`: [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) }, \{ `block_number`: [`BLOCK_NUMBER`](types.RPC.RPCSPEC08.API.md#block_number) }\> - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:86 - ---- - -### BLOCK_TAG - -Ƭ **BLOCK_TAG**: [`EBlockTag`](types.RPC.RPCSPEC08.API.md#eblocktag-1) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:91 - ---- - -### SUBSCRIPTION_BLOCK_TAG - -Ƭ **SUBSCRIPTION_BLOCK_TAG**: `"latest"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:92 - ---- - -### SUBSCRIPTION_ID - -Ƭ **SUBSCRIPTION_ID**: `string` - -An identifier for this subscription stream used to associate events with this subscription. -Integer - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:97 - ---- - -### NEW_TXN_STATUS - -Ƭ **NEW_TXN_STATUS**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :------------------------------------------------------------------ | -| `transaction_hash` | [`TXN_HASH`](types.RPC.RPCSPEC08.API.md#txn_hash) | -| `status` | [`TXN_STATUS_RESULT`](types.RPC.RPCSPEC08.API.md#txn_status_result) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:98 - ---- - -### REORG_DATA - -Ƭ **REORG_DATA**: `Object` - -Data about reorganized blocks, starting and ending block number and hash - -#### Type declaration - -| Name | Type | Description | -| :---------------------- | :-------------------------------------------------------- | :---------------------------------------------------- | -| `starting_block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) | Hash of the first known block of the orphaned chain | -| `starting_block_number` | [`BLOCK_NUMBER`](types.RPC.RPCSPEC08.API.md#block_number) | Number of the first known block of the orphaned chain | -| `ending_block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) | The last known block of the orphaned chain | -| `ending_block_number` | [`BLOCK_NUMBER`](types.RPC.RPCSPEC08.API.md#block_number) | Number of the last known block of the orphaned chain | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:105 - ---- - -### SubscriptionNewHeadsResponse - -Ƭ **SubscriptionNewHeadsResponse**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :-------------------------------------------------------------- | -| `subscription_id` | [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) | -| `result` | [`BLOCK_HEADER`](types.RPC.RPCSPEC08.API.md#block_header) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:123 - ---- - -### SubscriptionEventsResponse - -Ƭ **SubscriptionEventsResponse**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :-------------------------------------------------------------- | -| `subscription_id` | [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) | -| `result` | [`EMITTED_EVENT`](types.RPC.RPCSPEC08.API.md#emitted_event) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:127 - ---- - -### SubscriptionTransactionsStatusResponse - -Ƭ **SubscriptionTransactionsStatusResponse**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :-------------------------------------------------------------- | -| `subscription_id` | [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) | -| `result` | [`NEW_TXN_STATUS`](types.RPC.RPCSPEC08.API.md#new_txn_status) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:131 - ---- - -### SubscriptionPendingTransactionsResponse - -Ƭ **SubscriptionPendingTransactionsResponse**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :--------------------------------------------------------------------------------------------------------------- | -| `subscription_id` | [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) | -| `result` | [`TXN_HASH`](types.RPC.RPCSPEC08.API.md#txn_hash) \| [`TXN_WITH_HASH`](types.RPC.RPCSPEC08.API.md#txn_with_hash) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:135 - ---- - -### SubscriptionReorgResponse - -Ƭ **SubscriptionReorgResponse**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :-------------------------------------------------------------- | -| `subscription_id` | [`SUBSCRIPTION_ID`](types.RPC.RPCSPEC08.API.md#subscription_id) | -| `result` | [`REORG_DATA`](types.RPC.RPCSPEC08.API.md#reorg_data) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:139 - ---- - -### EVENTS_CHUNK - -Ƭ **EVENTS_CHUNK**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :-------------------- | :------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------- | -| `events` | [`EMITTED_EVENT`](types.RPC.RPCSPEC08.API.md#emitted_event)[] | Returns matching events | -| `continuation_token?` | `string` | Use this token in a subsequent query to obtain the next page. Should not appear if there are no more pages. | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:143 - ---- - -### RESULT_PAGE_REQUEST - -Ƭ **RESULT_PAGE_REQUEST**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :-------------------- | :------- | :---------------------------------------------------------------------------------------------- | -| `continuation_token?` | `string` | The token returned from the previous query. If no token is provided the first page is returned. | -| `chunk_size` | `number` | Chunk size | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:153 - ---- - -### EMITTED_EVENT - -Ƭ **EMITTED_EVENT**: [`EVENT`](types.RPC.RPCSPEC08.API.md#event) & \{ `block_hash`: [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) ; `block_number`: [`BLOCK_NUMBER`](types.RPC.RPCSPEC08.API.md#block_number) ; `transaction_hash`: [`TXN_HASH`](types.RPC.RPCSPEC08.API.md#txn_hash) } - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:163 - ---- - -### EVENT - -Ƭ **EVENT**: \{ `from_address`: [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) } & [`EVENT_CONTENT`](types.RPC.RPCSPEC08.API.md#event_content) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:168 - ---- - -### EVENT_CONTENT - -Ƭ **EVENT_CONTENT**: `Object` - -#### Type declaration - -| Name | Type | -| :----- | :------------------------------------------ | -| `keys` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `data` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:171 - ---- - -### EVENT_KEYS - -Ƭ **EVENT_KEYS**: [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[][] - -The keys to filter over. -Per key (by position), designate the possible values to be matched for events to be returned. Empty array designates 'any' value. - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:179 - ---- - -### EVENT_FILTER - -Ƭ **EVENT_FILTER**: `Object` - -#### Type declaration - -| Name | Type | -| :------------ | :---------------------------------------------------- | -| `from_block?` | [`BLOCK_ID`](types.RPC.RPCSPEC08.API.md#block_id) | -| `to_block?` | [`BLOCK_ID`](types.RPC.RPCSPEC08.API.md#block_id) | -| `address?` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `keys?` | [`EVENT_KEYS`](types.RPC.RPCSPEC08.API.md#event_keys) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:180 - ---- - -### BLOCK_ID - -Ƭ **BLOCK_ID**: [`BLOCK_SELECTOR`](types.RPC.RPCSPEC08.API.md#block_selector) \| [`BLOCK_TAG`](types.RPC.RPCSPEC08.API.md#block_tag) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:186 - ---- - -### SUBSCRIPTION_BLOCK_ID - -Ƭ **SUBSCRIPTION_BLOCK_ID**: [`BLOCK_SELECTOR`](types.RPC.RPCSPEC08.API.md#block_selector) \| [`SUBSCRIPTION_BLOCK_TAG`](types.RPC.RPCSPEC08.API.md#subscription_block_tag) - -same as BLOCK_ID, but without 'pending' - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:190 - ---- - -### SYNC_STATUS - -Ƭ **SYNC_STATUS**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------- | :-------------------------------------------------------- | -| `starting_block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) | -| `starting_block_num` | [`BLOCK_NUMBER`](types.RPC.RPCSPEC08.API.md#block_number) | -| `current_block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) | -| `current_block_num` | [`BLOCK_NUMBER`](types.RPC.RPCSPEC08.API.md#block_number) | -| `highest_block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) | -| `highest_block_num` | [`BLOCK_NUMBER`](types.RPC.RPCSPEC08.API.md#block_number) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:191 - ---- - -### NEW_CLASSES - -Ƭ **NEW_CLASSES**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------- | :---------------------------------------- | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `compiled_class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:199 - ---- - -### REPLACED_CLASS - -Ƭ **REPLACED_CLASS**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :---------------------------------------- | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `contract_address` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:203 - ---- - -### NONCE_UPDATE - -Ƭ **NONCE_UPDATE**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :---------------------------------------------- | -| `contract_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:207 - ---- - -### STATE_DIFF - -Ƭ **STATE_DIFF**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------------------- | :-------------------------------------------------------------------------------------- | -| `storage_diffs` | [`CONTRACT_STORAGE_DIFF_ITEM`](types.RPC.RPCSPEC08.API.md#contract_storage_diff_item)[] | -| `deprecated_declared_classes` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `declared_classes` | [`NEW_CLASSES`](types.RPC.RPCSPEC08.API.md#new_classes)[] | -| `deployed_contracts` | [`DEPLOYED_CONTRACT_ITEM`](types.RPC.RPCSPEC08.API.md#deployed_contract_item)[] | -| `replaced_classes` | [`REPLACED_CLASS`](types.RPC.RPCSPEC08.API.md#replaced_class)[] | -| `nonces` | [`NONCE_UPDATE`](types.RPC.RPCSPEC08.API.md#nonce_update)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:211 - ---- - -### PENDING_STATE_UPDATE - -Ƭ **PENDING_STATE_UPDATE**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------------- | -| `old_root` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `state_diff` | [`STATE_DIFF`](types.RPC.RPCSPEC08.API.md#state_diff) | -| `block_hash` | `never` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:219 - ---- - -### STATE_UPDATE - -Ƭ **STATE_UPDATE**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------------- | -| `block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) | -| `old_root` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `new_root` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `state_diff` | [`STATE_DIFF`](types.RPC.RPCSPEC08.API.md#state_diff) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:224 - ---- - -### BLOCK_BODY_WITH_TX_HASHES - -Ƭ **BLOCK_BODY_WITH_TX_HASHES**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :-------------------------------------------------- | -| `transactions` | [`TXN_HASH`](types.RPC.RPCSPEC08.API.md#txn_hash)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:230 - ---- - -### BLOCK_BODY_WITH_TXS - -Ƭ **BLOCK_BODY_WITH_TXS**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :------------------------------------------------------------ | -| `transactions` | [`TXN_WITH_HASH`](types.RPC.RPCSPEC08.API.md#txn_with_hash)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:233 - ---- - -### BLOCK_BODY_WITH_RECEIPTS - -Ƭ **BLOCK_BODY_WITH_RECEIPTS**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :--------------------------------------------------------------------------------------------------------------------------------- | -| `transactions` | \{ `transaction`: [`TXN`](types.RPC.RPCSPEC08.API.md#txn) ; `receipt`: [`TXN_RECEIPT`](types.RPC.RPCSPEC08.API.md#txn_receipt) }[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:236 - ---- - -### BLOCK_HEADER - -Ƭ **BLOCK_HEADER**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------ | :------------------------------------------------------------ | -| `block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) | -| `parent_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) | -| `block_number` | [`BLOCK_NUMBER`](types.RPC.RPCSPEC08.API.md#block_number) | -| `new_root` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `timestamp` | `number` | -| `sequencer_address` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `l1_gas_price` | [`RESOURCE_PRICE`](types.RPC.RPCSPEC08.API.md#resource_price) | -| `l2_gas_price` | [`RESOURCE_PRICE`](types.RPC.RPCSPEC08.API.md#resource_price) | -| `l1_data_gas_price` | [`RESOURCE_PRICE`](types.RPC.RPCSPEC08.API.md#resource_price) | -| `l1_da_mode` | [`L1_DA_MODE`](types.RPC.RPCSPEC08.API.md#l1_da_mode-1) | -| `starknet_version` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:242 - ---- - -### PENDING_BLOCK_HEADER - -Ƭ **PENDING_BLOCK_HEADER**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------ | :------------------------------------------------------------ | -| `parent_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) | -| `timestamp` | `number` | -| `sequencer_address` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `l1_gas_price` | [`RESOURCE_PRICE`](types.RPC.RPCSPEC08.API.md#resource_price) | -| `l2_gas_price` | [`RESOURCE_PRICE`](types.RPC.RPCSPEC08.API.md#resource_price) | -| `l1_data_gas_price` | [`RESOURCE_PRICE`](types.RPC.RPCSPEC08.API.md#resource_price) | -| `l1_da_mode` | [`L1_DA_MODE`](types.RPC.RPCSPEC08.API.md#l1_da_mode-1) | -| `starknet_version` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:255 - ---- - -### BLOCK_WITH_TX_HASHES - -Ƭ **BLOCK_WITH_TX_HASHES**: \{ `status`: [`BLOCK_STATUS`](types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_TX_HASHES`](types.RPC.RPCSPEC08.API.md#block_body_with_tx_hashes) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:265 - ---- - -### BLOCK_WITH_TXS - -Ƭ **BLOCK_WITH_TXS**: \{ `status`: [`BLOCK_STATUS`](types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_TXS`](types.RPC.RPCSPEC08.API.md#block_body_with_txs) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:268 - ---- - -### BLOCK_WITH_RECEIPTS - -Ƭ **BLOCK_WITH_RECEIPTS**: \{ `status`: [`BLOCK_STATUS`](types.RPC.RPCSPEC08.API.md#block_status) } & [`BLOCK_HEADER`](types.RPC.RPCSPEC08.API.md#block_header) & [`BLOCK_BODY_WITH_RECEIPTS`](types.RPC.RPCSPEC08.API.md#block_body_with_receipts) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:271 - ---- - -### PENDING_BLOCK_WITH_TX_HASHES - -Ƭ **PENDING_BLOCK_WITH_TX_HASHES**: [`BLOCK_BODY_WITH_TX_HASHES`](types.RPC.RPCSPEC08.API.md#block_body_with_tx_hashes) & [`PENDING_BLOCK_HEADER`](types.RPC.RPCSPEC08.API.md#pending_block_header) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:274 - ---- - -### PENDING_BLOCK_WITH_TXS - -Ƭ **PENDING_BLOCK_WITH_TXS**: [`BLOCK_BODY_WITH_TXS`](types.RPC.RPCSPEC08.API.md#block_body_with_txs) & [`PENDING_BLOCK_HEADER`](types.RPC.RPCSPEC08.API.md#pending_block_header) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:275 - ---- - -### PENDING_BLOCK_WITH_RECEIPTS - -Ƭ **PENDING_BLOCK_WITH_RECEIPTS**: [`BLOCK_BODY_WITH_RECEIPTS`](types.RPC.RPCSPEC08.API.md#block_body_with_receipts) & [`PENDING_BLOCK_HEADER`](types.RPC.RPCSPEC08.API.md#pending_block_header) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:276 - ---- - -### DEPLOYED_CONTRACT_ITEM - -Ƭ **DEPLOYED_CONTRACT_ITEM**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------- | -| `address` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:277 - ---- - -### CONTRACT_STORAGE_DIFF_ITEM - -Ƭ **CONTRACT_STORAGE_DIFF_ITEM**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :---------------- | :---------------------------------------------------------------- | :------------------------------------------------- | -| `address` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | The contract address for which the storage changed | -| `storage_entries` | [`StorageDiffItem`](types.RPC.RPCSPEC08.API.md#storagediffitem)[] | The changes in the storage of the contract | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:281 - ---- - -### StorageDiffItem - -Ƭ **StorageDiffItem**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :------ | :---------------------------------------- | :----------------------------------------- | -| `key` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | The key of the changed value | -| `value` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | The new value applied to the given address | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:291 - ---- - -### TXN - -Ƭ **TXN**: [`INVOKE_TXN`](types.RPC.RPCSPEC08.API.md#invoke_txn) \| [`L1_HANDLER_TXN`](types.RPC.RPCSPEC08.API.md#l1_handler_txn) \| [`DECLARE_TXN`](types.RPC.RPCSPEC08.API.md#declare_txn) \| [`DEPLOY_TXN`](types.RPC.RPCSPEC08.API.md#deploy_txn) \| [`DEPLOY_ACCOUNT_TXN`](types.RPC.RPCSPEC08.API.md#deploy_account_txn) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:301 - ---- - -### TXN_WITH_HASH - -Ƭ **TXN_WITH_HASH**: [`TXN`](types.RPC.RPCSPEC08.API.md#txn) & \{ `transaction_hash`: [`TXN_HASH`](types.RPC.RPCSPEC08.API.md#txn_hash) } - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:302 - ---- - -### DECLARE_TXN - -Ƭ **DECLARE_TXN**: [`DECLARE_TXN_V0`](types.RPC.RPCSPEC08.API.md#declare_txn_v0) \| [`DECLARE_TXN_V1`](types.RPC.RPCSPEC08.API.md#declare_txn_v1) \| [`DECLARE_TXN_V2`](types.RPC.RPCSPEC08.API.md#declare_txn_v2) \| [`DECLARE_TXN_V3`](types.RPC.RPCSPEC08.API.md#declare_txn_v3) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:305 - ---- - -### DECLARE_TXN_V0 - -Ƭ **DECLARE_TXN_V0**: `Object` - -**`Deprecated`** - -Starknet 0.14 will not support this transaction - -#### Type declaration - -| Name | Type | -| :--------------- | :------------------------------------------------------------------------------------------- | -| `type` | [`TXN_TYPE_DECLARE`](types.RPC.RPCSPEC08.API.md#txn_type_declare-1) | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `version` | typeof [`V0`](types.RPC.RPCSPEC08.API.md#v0) \| typeof [`F0`](types.RPC.RPCSPEC08.API.md#f0) | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC08.API.md#signature) | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:309 - ---- - -### DECLARE_TXN_V1 - -Ƭ **DECLARE_TXN_V1**: `Object` - -**`Deprecated`** - -Starknet 0.14 will not support this transaction - -#### Type declaration - -| Name | Type | -| :--------------- | :------------------------------------------------------------------------------------------- | -| `type` | [`TXN_TYPE_DECLARE`](types.RPC.RPCSPEC08.API.md#txn_type_declare-1) | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `version` | typeof [`V1`](types.RPC.RPCSPEC08.API.md#v1) \| typeof [`F1`](types.RPC.RPCSPEC08.API.md#f1) | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC08.API.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:320 - ---- - -### DECLARE_TXN_V2 - -Ƭ **DECLARE_TXN_V2**: `Object` - -**`Deprecated`** - -Starknet 0.14 will not support this transaction - -#### Type declaration - -| Name | Type | -| :-------------------- | :------------------------------------------------------------------------------------------- | -| `type` | [`TXN_TYPE_DECLARE`](types.RPC.RPCSPEC08.API.md#txn_type_declare-1) | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `compiled_class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `version` | typeof [`V2`](types.RPC.RPCSPEC08.API.md#v2) \| typeof [`F2`](types.RPC.RPCSPEC08.API.md#f2) | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC08.API.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:332 - ---- - -### DECLARE_TXN_V3 - -Ƭ **DECLARE_TXN_V3**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------------------- | :------------------------------------------------------------------------------------------- | -| `type` | [`TXN_TYPE_DECLARE`](types.RPC.RPCSPEC08.API.md#txn_type_declare-1) | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `compiled_class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `version` | typeof [`V3`](types.RPC.RPCSPEC08.API.md#v3) \| typeof [`F3`](types.RPC.RPCSPEC08.API.md#f3) | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC08.API.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `resource_bounds` | [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC08.API.md#resource_bounds_mapping) | -| `tip` | [`u64`](types.RPC.RPCSPEC08.API.md#u64) | -| `paymaster_data` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `account_deployment_data` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `nonce_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC08.API.md#da_mode) | -| `fee_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC08.API.md#da_mode) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:342 - ---- - -### BROADCASTED_TXN - -Ƭ **BROADCASTED_TXN**: [`BROADCASTED_INVOKE_TXN`](types.RPC.RPCSPEC08.API.md#broadcasted_invoke_txn) \| [`BROADCASTED_DECLARE_TXN`](types.RPC.RPCSPEC08.API.md#broadcasted_declare_txn) \| [`BROADCASTED_DEPLOY_ACCOUNT_TXN`](types.RPC.RPCSPEC08.API.md#broadcasted_deploy_account_txn) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:357 - ---- - -### BROADCASTED_INVOKE_TXN - -Ƭ **BROADCASTED_INVOKE_TXN**: [`INVOKE_TXN_V3`](types.RPC.RPCSPEC08.API.md#invoke_txn_v3) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:358 - ---- - -### BROADCASTED_DEPLOY_ACCOUNT_TXN - -Ƭ **BROADCASTED_DEPLOY_ACCOUNT_TXN**: [`DEPLOY_ACCOUNT_TXN_V3`](types.RPC.RPCSPEC08.API.md#deploy_account_txn_v3) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:359 - ---- - -### BROADCASTED_DECLARE_TXN - -Ƭ **BROADCASTED_DECLARE_TXN**: [`BROADCASTED_DECLARE_TXN_V3`](types.RPC.RPCSPEC08.API.md#broadcasted_declare_txn_v3) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:360 - ---- - -### BROADCASTED_DECLARE_TXN_V3 - -Ƭ **BROADCASTED_DECLARE_TXN_V3**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------------------- | :------------------------------------------------------------------------------------------- | -| `type` | [`TXN_TYPE_DECLARE`](types.RPC.RPCSPEC08.API.md#txn_type_declare-1) | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `compiled_class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `version` | typeof [`V3`](types.RPC.RPCSPEC08.API.md#v3) \| typeof [`F3`](types.RPC.RPCSPEC08.API.md#f3) | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC08.API.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `contract_class` | [`CONTRACT_CLASS`](types.RPC.RPCSPEC08.API.md#contract_class) | -| `resource_bounds` | [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC08.API.md#resource_bounds_mapping) | -| `tip` | [`u64`](types.RPC.RPCSPEC08.API.md#u64) | -| `paymaster_data` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `account_deployment_data` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `nonce_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC08.API.md#da_mode) | -| `fee_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC08.API.md#da_mode) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:361 - ---- - -### DEPLOY_ACCOUNT_TXN - -Ƭ **DEPLOY_ACCOUNT_TXN**: [`DEPLOY_ACCOUNT_TXN_V1`](types.RPC.RPCSPEC08.API.md#deploy_account_txn_v1) \| [`DEPLOY_ACCOUNT_TXN_V3`](types.RPC.RPCSPEC08.API.md#deploy_account_txn_v3) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:376 - ---- - -### DEPLOY_ACCOUNT_TXN_V1 - -Ƭ **DEPLOY_ACCOUNT_TXN_V1**: `Object` - -**`Deprecated`** - -Starknet 0.14 will not support this transaction - -#### Type declaration - -| Name | Type | -| :---------------------- | :------------------------------------------------------------------------------------------- | -| `type` | [`TXN_TYPE_DEPLOY_ACCOUNT`](types.RPC.RPCSPEC08.API.md#txn_type_deploy_account-1) | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `version` | typeof [`V1`](types.RPC.RPCSPEC08.API.md#v1) \| typeof [`F1`](types.RPC.RPCSPEC08.API.md#f1) | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC08.API.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `contract_address_salt` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `constructor_calldata` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:380 - ---- - -### DEPLOY_ACCOUNT_TXN_V3 - -Ƭ **DEPLOY_ACCOUNT_TXN_V3**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------------------- | :------------------------------------------------------------------------------------------- | -| `type` | [`TXN_TYPE_DEPLOY_ACCOUNT`](types.RPC.RPCSPEC08.API.md#txn_type_deploy_account-1) | -| `version` | typeof [`V3`](types.RPC.RPCSPEC08.API.md#v3) \| typeof [`F3`](types.RPC.RPCSPEC08.API.md#f3) | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC08.API.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `contract_address_salt` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `constructor_calldata` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `resource_bounds` | [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC08.API.md#resource_bounds_mapping) | -| `tip` | [`u64`](types.RPC.RPCSPEC08.API.md#u64) | -| `paymaster_data` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `nonce_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC08.API.md#da_mode) | -| `fee_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC08.API.md#da_mode) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:390 - ---- - -### DEPLOY_TXN - -Ƭ **DEPLOY_TXN**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------------- | :---------------------------------------------------------------- | -| `type` | [`TXN_TYPE_DEPLOY`](types.RPC.RPCSPEC08.API.md#txn_type_deploy-1) | -| `version` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `contract_address_salt` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `constructor_calldata` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:404 - ---- - -### INVOKE_TXN - -Ƭ **INVOKE_TXN**: [`INVOKE_TXN_V0`](types.RPC.RPCSPEC08.API.md#invoke_txn_v0) \| [`INVOKE_TXN_V1`](types.RPC.RPCSPEC08.API.md#invoke_txn_v1) \| [`INVOKE_TXN_V3`](types.RPC.RPCSPEC08.API.md#invoke_txn_v3) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:411 - ---- - -### INVOKE_TXN_V0 - -Ƭ **INVOKE_TXN_V0**: `Object` - -**`Deprecated`** - -Starknet 0.14 will not support this transaction - -#### Type declaration - -| Name | Type | -| :--------------------- | :------------------------------------------------------------------------------------------- | -| `type` | [`TXN_TYPE_INVOKE`](types.RPC.RPCSPEC08.API.md#txn_type_invoke-1) | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `version` | typeof [`V0`](types.RPC.RPCSPEC08.API.md#v0) \| typeof [`F0`](types.RPC.RPCSPEC08.API.md#f0) | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC08.API.md#signature) | -| `contract_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `entry_point_selector` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `calldata` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:415 - ---- - -### INVOKE_TXN_V1 - -Ƭ **INVOKE_TXN_V1**: `Object` - -**`Deprecated`** - -Starknet 0.14 will not support this transaction - -#### Type declaration - -| Name | Type | -| :--------------- | :------------------------------------------------------------------------------------------- | -| `type` | [`TXN_TYPE_INVOKE`](types.RPC.RPCSPEC08.API.md#txn_type_invoke-1) | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `calldata` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `max_fee` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `version` | typeof [`V1`](types.RPC.RPCSPEC08.API.md#v1) \| typeof [`F1`](types.RPC.RPCSPEC08.API.md#f1) | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC08.API.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:427 - ---- - -### INVOKE_TXN_V3 - -Ƭ **INVOKE_TXN_V3**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------------------- | :------------------------------------------------------------------------------------------- | -| `type` | [`TXN_TYPE_INVOKE`](types.RPC.RPCSPEC08.API.md#txn_type_invoke-1) | -| `sender_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `calldata` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `version` | typeof [`V3`](types.RPC.RPCSPEC08.API.md#v3) \| typeof [`F3`](types.RPC.RPCSPEC08.API.md#f3) | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC08.API.md#signature) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `resource_bounds` | [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC08.API.md#resource_bounds_mapping) | -| `tip` | [`u64`](types.RPC.RPCSPEC08.API.md#u64) | -| `paymaster_data` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `account_deployment_data` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `nonce_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC08.API.md#da_mode) | -| `fee_data_availability_mode` | [`DA_MODE`](types.RPC.RPCSPEC08.API.md#da_mode) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:436 - ---- - -### L1_HANDLER_TXN - -Ƭ **L1_HANDLER_TXN**: \{ `version`: typeof [`V0`](types.RPC.RPCSPEC08.API.md#v0) ; `type`: `Uppercase`<[`ABI_TYPE_L1_HANDLER`](types.RPC.RPCSPEC08.API.md#abi_type_l1_handler-1)\> ; `nonce`: [`NUM_AS_HEX`](types.RPC.RPCSPEC08.API.md#num_as_hex) } & [`FUNCTION_CALL`](types.RPC.RPCSPEC08.API.md#function_call) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:450 - ---- - -### COMMON_RECEIPT_PROPERTIES - -Ƭ **COMMON_RECEIPT_PROPERTIES**: \{ `transaction_hash`: [`TXN_HASH`](types.RPC.RPCSPEC08.API.md#txn_hash) ; `actual_fee`: [`FEE_PAYMENT`](types.RPC.RPCSPEC08.API.md#fee_payment) ; `finality_status`: [`TXN_FINALITY_STATUS`](types.RPC.RPCSPEC08.API.md#txn_finality_status) ; `messages_sent`: [`MSG_TO_L1`](types.RPC.RPCSPEC08.API.md#msg_to_l1)[] ; `events`: [`EVENT`](types.RPC.RPCSPEC08.API.md#event)[] ; `execution_resources`: [`EXECUTION_RESOURCES`](types.RPC.RPCSPEC08.API.md#execution_resources) } & `SimpleOneOf`<`SUCCESSFUL_COMMON_RECEIPT_PROPERTIES`, `REVERTED_COMMON_RECEIPT_PROPERTIES`\> - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:455 - ---- - -### INVOKE_TXN_RECEIPT - -Ƭ **INVOKE_TXN_RECEIPT**: \{ `type`: [`TXN_TYPE_INVOKE`](types.RPC.RPCSPEC08.API.md#txn_type_invoke-1) } & [`COMMON_RECEIPT_PROPERTIES`](types.RPC.RPCSPEC08.API.md#common_receipt_properties) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:470 - ---- - -### DECLARE_TXN_RECEIPT - -Ƭ **DECLARE_TXN_RECEIPT**: \{ `type`: [`TXN_TYPE_DECLARE`](types.RPC.RPCSPEC08.API.md#txn_type_declare-1) } & [`COMMON_RECEIPT_PROPERTIES`](types.RPC.RPCSPEC08.API.md#common_receipt_properties) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:473 - ---- - -### DEPLOY_ACCOUNT_TXN_RECEIPT - -Ƭ **DEPLOY_ACCOUNT_TXN_RECEIPT**: \{ `type`: [`TXN_TYPE_DEPLOY_ACCOUNT`](types.RPC.RPCSPEC08.API.md#txn_type_deploy_account-1) ; `contract_address`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) } & [`COMMON_RECEIPT_PROPERTIES`](types.RPC.RPCSPEC08.API.md#common_receipt_properties) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:476 - ---- - -### DEPLOY_TXN_RECEIPT - -Ƭ **DEPLOY_TXN_RECEIPT**: \{ `type`: [`TXN_TYPE_DEPLOY`](types.RPC.RPCSPEC08.API.md#txn_type_deploy-1) ; `contract_address`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) } & [`COMMON_RECEIPT_PROPERTIES`](types.RPC.RPCSPEC08.API.md#common_receipt_properties) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:480 - ---- - -### L1_HANDLER_TXN_RECEIPT - -Ƭ **L1_HANDLER_TXN_RECEIPT**: \{ `type`: `Uppercase`<[`ABI_TYPE_L1_HANDLER`](types.RPC.RPCSPEC08.API.md#abi_type_l1_handler-1)\> ; `message_hash`: [`NUM_AS_HEX`](types.RPC.RPCSPEC08.API.md#num_as_hex) } & [`COMMON_RECEIPT_PROPERTIES`](types.RPC.RPCSPEC08.API.md#common_receipt_properties) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:484 - ---- - -### TXN_RECEIPT - -Ƭ **TXN_RECEIPT**: [`INVOKE_TXN_RECEIPT`](types.RPC.RPCSPEC08.API.md#invoke_txn_receipt) \| [`L1_HANDLER_TXN_RECEIPT`](types.RPC.RPCSPEC08.API.md#l1_handler_txn_receipt) \| [`DECLARE_TXN_RECEIPT`](types.RPC.RPCSPEC08.API.md#declare_txn_receipt) \| [`DEPLOY_TXN_RECEIPT`](types.RPC.RPCSPEC08.API.md#deploy_txn_receipt) \| [`DEPLOY_ACCOUNT_TXN_RECEIPT`](types.RPC.RPCSPEC08.API.md#deploy_account_txn_receipt) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:488 - ---- - -### TXN_RECEIPT_WITH_BLOCK_INFO - -Ƭ **TXN_RECEIPT_WITH_BLOCK_INFO**: [`TXN_RECEIPT`](types.RPC.RPCSPEC08.API.md#txn_receipt) & \{ `block_hash`: [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) ; `block_number`: [`BLOCK_NUMBER`](types.RPC.RPCSPEC08.API.md#block_number) } \| \{ `block_hash`: `never` ; `block_number`: `never` } - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:489 - ---- - -### MSG_TO_L1 - -Ƭ **MSG_TO_L1**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :------------------------------------------ | -| `from_address` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `to_address` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `payload` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:508 - ---- - -### MSG_FROM_L1 - -Ƭ **MSG_FROM_L1**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------------- | :------------------------------------------------------ | -| `from_address` | [`ETH_ADDRESS`](types.RPC.RPCSPEC08.API.md#eth_address) | -| `to_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `entry_point_selector` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `payload` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:513 - ---- - -### FUNCTION_CALL - -Ƭ **FUNCTION_CALL**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------------- | :---------------------------------------------- | -| `contract_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `entry_point_selector` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `calldata` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:519 - ---- - -### CONTRACT_CLASS - -Ƭ **CONTRACT_CLASS**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `sierra_program` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `contract_class_version` | `string` | -| `entry_points_by_type` | \{ `CONSTRUCTOR`: [`SIERRA_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#sierra_entry_point)[] ; `EXTERNAL`: [`SIERRA_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#sierra_entry_point)[] ; `L1_HANDLER`: [`SIERRA_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#sierra_entry_point)[] } | -| `entry_points_by_type.CONSTRUCTOR` | [`SIERRA_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#sierra_entry_point)[] | -| `entry_points_by_type.EXTERNAL` | [`SIERRA_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#sierra_entry_point)[] | -| `entry_points_by_type.L1_HANDLER` | [`SIERRA_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#sierra_entry_point)[] | -| `abi` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:524 - ---- - -### DEPRECATED_CONTRACT_CLASS - -Ƭ **DEPRECATED_CONTRACT_CLASS**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `program` | `string` | -| `entry_points_by_type` | \{ `CONSTRUCTOR`: [`DEPRECATED_CAIRO_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#deprecated_cairo_entry_point)[] ; `EXTERNAL`: [`DEPRECATED_CAIRO_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#deprecated_cairo_entry_point)[] ; `L1_HANDLER`: [`DEPRECATED_CAIRO_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#deprecated_cairo_entry_point)[] } | -| `entry_points_by_type.CONSTRUCTOR` | [`DEPRECATED_CAIRO_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#deprecated_cairo_entry_point)[] | -| `entry_points_by_type.EXTERNAL` | [`DEPRECATED_CAIRO_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#deprecated_cairo_entry_point)[] | -| `entry_points_by_type.L1_HANDLER` | [`DEPRECATED_CAIRO_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#deprecated_cairo_entry_point)[] | -| `abi` | [`CONTRACT_ABI`](types.RPC.RPCSPEC08.API.md#contract_abi) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:534 - ---- - -### DEPRECATED_CAIRO_ENTRY_POINT - -Ƭ **DEPRECATED_CAIRO_ENTRY_POINT**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :--------- | :---------------------------------------------------- | :--------------------------------------------------------------- | -| `offset` | [`NUM_AS_HEX`](types.RPC.RPCSPEC08.API.md#num_as_hex) | "The offset of the entry point in the program" | -| `selector` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | A unique identifier of the entry point (function) in the program | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:543 - ---- - -### SIERRA_ENTRY_POINT - -Ƭ **SIERRA_ENTRY_POINT**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :---------------------------------------- | -| `selector` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `function_idx` | `number` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:553 - ---- - -### CONTRACT_ABI - -Ƭ **CONTRACT_ABI**: readonly [`CONTRACT_ABI_ENTRY`](types.RPC.RPCSPEC08.API.md#contract_abi_entry)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:557 - ---- - -### CONTRACT_ABI_ENTRY - -Ƭ **CONTRACT_ABI_ENTRY**: [`FUNCTION_ABI_ENTRY`](types.RPC.RPCSPEC08.API.md#function_abi_entry) \| [`EVENT_ABI_ENTRY`](types.RPC.RPCSPEC08.API.md#event_abi_entry) \| [`STRUCT_ABI_ENTRY`](types.RPC.RPCSPEC08.API.md#struct_abi_entry) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:558 - ---- - -### STRUCT_ABI_ENTRY - -Ƭ **STRUCT_ABI_ENTRY**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :-------- | :---------------------------------------------------------------- | :-------------- | -| `type` | [`STRUCT_ABI_TYPE`](types.RPC.RPCSPEC08.API.md#struct_abi_type-1) | Struct ABI type | -| `name` | `string` | Struct name | -| `size` | `number` | - | -| `members` | [`STRUCT_MEMBER`](types.RPC.RPCSPEC08.API.md#struct_member)[] | - | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:559 - ---- - -### STRUCT_MEMBER - -Ƭ **STRUCT_MEMBER**: [`TYPED_PARAMETER`](types.RPC.RPCSPEC08.API.md#typed_parameter) & \{ `offset`: `number` } - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:571 - ---- - -### EVENT_ABI_ENTRY - -Ƭ **EVENT_ABI_ENTRY**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :----- | :---------------------------------------------------------------- | :------------- | -| `type` | [`EVENT_ABI_TYPE`](types.RPC.RPCSPEC08.API.md#event_abi_type-1) | Event ABI type | -| `name` | `string` | Event name | -| `keys` | [`TYPED_PARAMETER`](types.RPC.RPCSPEC08.API.md#typed_parameter)[] | - | -| `data` | [`TYPED_PARAMETER`](types.RPC.RPCSPEC08.API.md#typed_parameter)[] | - | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:577 - ---- - -### FUNCTION_STATE_MUTABILITY - -Ƭ **FUNCTION_STATE_MUTABILITY**: [`STATE_MUTABILITY_VIEW`](types.RPC.RPCSPEC08.API.md#state_mutability_view-1) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:589 - ---- - -### FUNCTION_ABI_ENTRY - -Ƭ **FUNCTION_ABI_ENTRY**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------------------------------------- | :------------------------ | -| `type` | [`FUNCTION_ABI_TYPE`](types.RPC.RPCSPEC08.API.md#function_abi_type) | Function ABI type | -| `name` | `string` | Function name | -| `inputs` | [`TYPED_PARAMETER`](types.RPC.RPCSPEC08.API.md#typed_parameter)[] | Typed parameter | -| `outputs` | [`TYPED_PARAMETER`](types.RPC.RPCSPEC08.API.md#typed_parameter)[] | Typed parameter | -| `stateMutability?` | [`FUNCTION_STATE_MUTABILITY`](types.RPC.RPCSPEC08.API.md#function_state_mutability) | Function state mutability | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:590 - ---- - -### TYPED_PARAMETER - -Ƭ **TYPED_PARAMETER**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :----- | :------- | :------------- | -| `name` | `string` | Parameter name | -| `type` | `string` | Parameter type | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:612 - ---- - -### SIMULATION_FLAG_FOR_ESTIMATE_FEE - -Ƭ **SIMULATION_FLAG_FOR_ESTIMATE_FEE**: typeof [`SKIP_VALIDATE`](types.RPC.RPCSPEC08.API.md#skip_validate) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:622 - ---- - -### PRICE_UNIT - -Ƭ **PRICE_UNIT**: [`PRICE_UNIT_WEI`](types.RPC.RPCSPEC08.API.md#price_unit_wei-1) \| [`PRICE_UNIT_FRI`](types.RPC.RPCSPEC08.API.md#price_unit_fri-1) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:623 - ---- - -### FEE_ESTIMATE - -Ƭ **FEE_ESTIMATE**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :--------------------- | :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `l1_gas_consumed` | `number` | The Ethereum gas consumption of the transaction, charged for L1->L2 messages and, depending on the block's DA_MODE, state diffs. Prev. name gas_consumed | -| `l1_gas_price` | `number` | The gas price (in wei or fri, depending on the tx version) that was used in the cost estimation. Prev. name gas_price | -| `l2_gas_consumed` | `number` | The L2 gas consumption of the transaction. | -| `l2_gas_price` | `number` | The L2 gas price (in wei or fri, depending on the tx version) that was used in the cost estimation. | -| `l1_data_gas_consumed` | `number` | The Ethereum data gas consumption of the transaction. Prev. name data_gas_consumed | -| `l1_data_gas_price` | `number` | The data gas price (in wei or fri, depending on the tx version) that was used in the cost estimation. Prev. name data_gas_price | -| `overall_fee` | `number` | - | -| `unit` | [`PRICE_UNIT`](types.RPC.RPCSPEC08.API.md#price_unit) | - | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:624 - ---- - -### FEE_PAYMENT - -Ƭ **FEE_PAYMENT**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :---------------------------------------------------- | -| `amount` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `unit` | [`PRICE_UNIT`](types.RPC.RPCSPEC08.API.md#price_unit) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:656 - ---- - -### RESOURCE_BOUNDS_MAPPING - -Ƭ **RESOURCE_BOUNDS_MAPPING**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------- | :------------------------------------------------------------------- | -| `l1_gas` | [`RESOURCE_BOUNDS`](types.RPC.RPCSPEC08.API.md#resource_bounds) | The max amount and max price per unit of L1 gas used in this tx | -| `l1_data_gas` | [`RESOURCE_BOUNDS`](types.RPC.RPCSPEC08.API.md#resource_bounds) | The max amount and max price per unit of L1 blob gas used in this tx | -| `l2_gas` | [`RESOURCE_BOUNDS`](types.RPC.RPCSPEC08.API.md#resource_bounds) | The max amount and max price per unit of L2 gas used in this tx | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:660 - ---- - -### RESOURCE_BOUNDS - -Ƭ **RESOURCE_BOUNDS**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------- | :---------------------------------------- | -| `max_amount` | [`u64`](types.RPC.RPCSPEC08.API.md#u64) | -| `max_price_per_unit` | [`u128`](types.RPC.RPCSPEC08.API.md#u128) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:674 - ---- - -### RESOURCE_PRICE - -Ƭ **RESOURCE_PRICE**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :---------------------------------------- | -| `price_in_fri` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `price_in_wei` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:678 - ---- - -### EXECUTION_RESOURCES - -Ƭ **EXECUTION_RESOURCES**: `Object` - -the resources consumed by the transaction - -#### Type declaration - -| Name | Type | Description | -| :------------ | :------- | :-------------------------------------------------------------------------------------------------------------- | -| `l1_gas` | `number` | l1 gas consumed by this transaction, used for l2-->l1 messages and state updates if blobs are not used. integer | -| `l1_data_gas` | `number` | data gas consumed by this transaction, 0 if blobs are not used integer | -| `l2_gas` | `number` | l2 gas consumed by this transaction, used for computation and calldata Integer | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:685 - ---- - -### MERKLE_NODE - -Ƭ **MERKLE_NODE**: `SimpleOneOf`<[`BINARY_NODE`](types.RPC.RPCSPEC08.API.md#binary_node), [`EDGE_NODE`](types.RPC.RPCSPEC08.API.md#edge_node)\> - -a node in the Merkle-Patricia tree, can be a leaf, binary node, or an edge node - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:705 - ---- - -### BINARY_NODE - -Ƭ **BINARY_NODE**: `Object` - -an internal node whose both children are non-zero - -#### Type declaration - -| Name | Type | Description | -| :------ | :---------------------------------------- | :-------------------------- | -| `left` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | the hash of the left child | -| `right` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | the hash of the right child | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:709 - ---- - -### EDGE_NODE - -Ƭ **EDGE_NODE**: `Object` - -represents a path to the highest non-zero descendant node - -#### Type declaration - -| Name | Type | Description | -| :------- | :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------- | -| `path` | [`NUM_AS_HEX`](types.RPC.RPCSPEC08.API.md#num_as_hex) | an integer whose binary representation represents the path from the current node to its highest non-zero descendant (bounded by 2^251) | -| `length` | `number` | the length of the path (bounded by 251) | -| `child` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | the hash of the unique non-zero maximal-height descendant node | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:722 - ---- - -### NODE_HASH_TO_NODE_MAPPING - -Ƭ **NODE_HASH_TO_NODE_MAPPING**: \{ `node_hash`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) ; `node`: [`MERKLE_NODE`](types.RPC.RPCSPEC08.API.md#merkle_node) }[] - -a node_hash -> node mapping of all the nodes in the union of the paths between the requested leaves and the root - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:739 - ---- - -### CONTRACT_EXECUTION_ERROR - -Ƭ **CONTRACT_EXECUTION_ERROR**: [`CONTRACT_EXECUTION_ERROR_INNER`](types.RPC.RPCSPEC08.API.md#contract_execution_error_inner) - -structured error that can later be processed by wallets or sdks. -error frame or the error raised during execution - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:747 - ---- - -### CONTRACT_EXECUTION_ERROR_INNER - -Ƭ **CONTRACT_EXECUTION_ERROR_INNER**: \{ `contract_address`: [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) ; `class_hash`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) ; `selector`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) ; `error`: [`CONTRACT_EXECUTION_ERROR`](types.RPC.RPCSPEC08.API.md#contract_execution_error) } \| `string` - -structured error that can later be processed by wallets or sdks. -error frame or the error raised during execution - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:752 - ---- - -### TRANSACTION_TRACE - -Ƭ **TRANSACTION_TRACE**: [`INVOKE_TXN_TRACE`](types.RPC.RPCSPEC08.API.md#invoke_txn_trace) \| [`DECLARE_TXN_TRACE`](types.RPC.RPCSPEC08.API.md#declare_txn_trace) \| [`DEPLOY_ACCOUNT_TXN_TRACE`](types.RPC.RPCSPEC08.API.md#deploy_account_txn_trace) \| [`L1_HANDLER_TXN_TRACE`](types.RPC.RPCSPEC08.API.md#l1_handler_txn_trace) - -Represents a transaction trace including the execution details. - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:761 - ---- - -### INVOKE_TXN_TRACE - -Ƭ **INVOKE_TXN_TRACE**: `Object` - -Represents a transaction trace for an invoke transaction. - -#### Type declaration - -| Name | Type | -| :------------------------- | :---------------------------------------------------------------------------------------------------------------------- | -| `type` | [`TXN_TYPE_INVOKE`](types.RPC.RPCSPEC08.API.md#txn_type_invoke-1) | -| `execute_invocation` | `SimpleOneOf`<[`FUNCTION_INVOCATION`](types.RPC.RPCSPEC08.API.md#function_invocation), \{ `revert_reason`: `string` }\> | -| `validate_invocation?` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC08.API.md#function_invocation) | -| `fee_transfer_invocation?` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC08.API.md#function_invocation) | -| `state_diff?` | [`STATE_DIFF`](types.RPC.RPCSPEC08.API.md#state_diff) | -| `execution_resources` | [`EXECUTION_RESOURCES`](types.RPC.RPCSPEC08.API.md#execution_resources) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:765 - ---- - -### DECLARE_TXN_TRACE - -Ƭ **DECLARE_TXN_TRACE**: `Object` - -Represents a transaction trace for a declare transaction. - -#### Type declaration - -| Name | Type | -| :------------------------- | :---------------------------------------------------------------------- | -| `type` | [`TXN_TYPE_DECLARE`](types.RPC.RPCSPEC08.API.md#txn_type_declare-1) | -| `validate_invocation?` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC08.API.md#function_invocation) | -| `fee_transfer_invocation?` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC08.API.md#function_invocation) | -| `state_diff?` | [`STATE_DIFF`](types.RPC.RPCSPEC08.API.md#state_diff) | -| `execution_resources` | [`EXECUTION_RESOURCES`](types.RPC.RPCSPEC08.API.md#execution_resources) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:778 - ---- - -### DEPLOY_ACCOUNT_TXN_TRACE - -Ƭ **DEPLOY_ACCOUNT_TXN_TRACE**: `Object` - -Represents a transaction trace for a deploy account transaction. - -#### Type declaration - -| Name | Type | -| :------------------------- | :-------------------------------------------------------------------------------- | -| `type` | [`TXN_TYPE_DEPLOY_ACCOUNT`](types.RPC.RPCSPEC08.API.md#txn_type_deploy_account-1) | -| `constructor_invocation` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC08.API.md#function_invocation) | -| `validate_invocation?` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC08.API.md#function_invocation) | -| `fee_transfer_invocation?` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC08.API.md#function_invocation) | -| `state_diff?` | [`STATE_DIFF`](types.RPC.RPCSPEC08.API.md#state_diff) | -| `execution_resources` | [`EXECUTION_RESOURCES`](types.RPC.RPCSPEC08.API.md#execution_resources) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:788 - ---- - -### L1_HANDLER_TXN_TRACE - -Ƭ **L1_HANDLER_TXN_TRACE**: `Object` - -Represents a transaction trace for an L1 handler transaction. - -#### Type declaration - -| Name | Type | -| :-------------------- | :-------------------------------------------------------------------------------------- | -| `type` | `Uppercase`<[`ABI_TYPE_L1_HANDLER`](types.RPC.RPCSPEC08.API.md#abi_type_l1_handler-1)\> | -| `function_invocation` | [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC08.API.md#function_invocation) | -| `state_diff?` | [`STATE_DIFF`](types.RPC.RPCSPEC08.API.md#state_diff) | -| `execution_resources` | [`EXECUTION_RESOURCES`](types.RPC.RPCSPEC08.API.md#execution_resources) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:799 - ---- - -### NESTED_CALL - -Ƭ **NESTED_CALL**: [`FUNCTION_INVOCATION`](types.RPC.RPCSPEC08.API.md#function_invocation) - -Represents a nested function call. - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:808 - ---- - -### FUNCTION_INVOCATION - -Ƭ **FUNCTION_INVOCATION**: [`FUNCTION_CALL`](types.RPC.RPCSPEC08.API.md#function_call) & \{ `caller_address`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) ; `class_hash`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) ; `entry_point_type`: [`ENTRY_POINT_TYPE`](types.RPC.RPCSPEC08.API.md#entry_point_type) ; `call_type`: [`CALL_TYPE`](types.RPC.RPCSPEC08.API.md#call_type-1) ; `result`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] ; `calls`: [`NESTED_CALL`](types.RPC.RPCSPEC08.API.md#nested_call)[] ; `events`: [`ORDERED_EVENT`](types.RPC.RPCSPEC08.API.md#ordered_event)[] ; `messages`: [`ORDERED_MESSAGE`](types.RPC.RPCSPEC08.API.md#ordered_message)[] ; `execution_resources`: [`INNER_CALL_EXECUTION_RESOURCES`](types.RPC.RPCSPEC08.API.md#inner_call_execution_resources) ; `is_reverted`: `boolean` } - -Represents a function invocation along with its execution details. - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:812 - ---- - -### INNER_CALL_EXECUTION_RESOURCES - -Ƭ **INNER_CALL_EXECUTION_RESOURCES**: `Object` - -the resources consumed by an inner call (does not account for state diffs since data is squashed across the transaction) - -#### Type declaration - -| Name | Type | Description | -| :------- | :------- | :----------------------------------------------------------------------------------------------------- | -| `l1_gas` | `number` | l1 gas consumed by this transaction, used for l2-->l1 messages and state updates if blobs are not used | -| `l2_gas` | `number` | l2 gas consumed by this transaction, used for computation and calldata | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:851 - ---- - -### ORDERED_EVENT - -Ƭ **ORDERED_EVENT**: `Object` - -Represents an ordered event alongside its order within the transaction. - -#### Type declaration - -| Name | Type | -| :------ | :------------------------------------------ | -| `order` | `number` | -| `event` | [`EVENT`](types.RPC.RPCSPEC08.API.md#event) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:864 - ---- - -### ORDERED_MESSAGE - -Ƭ **ORDERED_MESSAGE**: `Object` - -Represents an ordered message alongside its order within the transaction. - -#### Type declaration - -| Name | Type | -| :-------- | :-------------------------------------------------- | -| `order` | `number` | -| `message` | [`MSG_TO_L1`](types.RPC.RPCSPEC08.API.md#msg_to_l1) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:871 - ---- - -### TXN_STATUS_RESULT - -Ƭ **TXN_STATUS_RESULT**: `Object` - -Transaction status result, including finality status and execution status - -#### Type declaration - -| Name | Type | Description | -| :------------------ | :------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------- | -| `finality_status` | [`TXN_STATUS`](types.RPC.RPCSPEC08.API.md#txn_status) | - | -| `execution_status?` | [`TXN_EXECUTION_STATUS`](types.RPC.RPCSPEC08.API.md#txn_execution_status) | - | -| `failure_reason?` | `string` | the failure reason, only appears if finality_status is REJECTED or execution_status is REVERTED | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:878 - ---- - -### CONTRACT_STORAGE_KEYS - -Ƭ **CONTRACT_STORAGE_KEYS**: `Object` - -(contract_address, storage_keys) pairs - -#### Type declaration - -| Name | Type | -| :----------------- | :---------------------------------------------- | -| `contract_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `storage_keys` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/components.d.ts:889 - ---- - -### ContractClass - -Ƭ **ContractClass**: `OneOf`<[[`CONTRACT_CLASS`](types.RPC.RPCSPEC08.API.md#contract_class), [`DEPRECATED_CONTRACT_CLASS`](types.RPC.RPCSPEC08.API.md#deprecated_contract_class)]\> - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:8 - ---- - -### SimulateTransaction - -Ƭ **SimulateTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------ | :------------------------------------------------------------------ | -| `transaction_trace` | [`TRANSACTION_TRACE`](types.RPC.RPCSPEC08.API.md#transaction_trace) | -| `fee_estimation` | [`FEE_ESTIMATE`](types.RPC.RPCSPEC08.API.md#fee_estimate) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:9 - ---- - -### SimulateTransactionResponse - -Ƭ **SimulateTransactionResponse**: [`SimulateTransaction`](types.RPC.RPCSPEC08.API.md#simulatetransaction)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:13 - ---- - -### FeeEstimate - -Ƭ **FeeEstimate**: [`FEE_ESTIMATE`](types.RPC.RPCSPEC08.API.md#fee_estimate) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:14 - ---- - -### TransactionWithHash - -Ƭ **TransactionWithHash**: [`TXN_WITH_HASH`](types.RPC.RPCSPEC08.API.md#txn_with_hash) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:15 - ---- - -### BlockHashAndNumber - -Ƭ **BlockHashAndNumber**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :-------------------------------------------------------- | -| `block_hash` | [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) | -| `block_number` | [`BLOCK_NUMBER`](types.RPC.RPCSPEC08.API.md#block_number) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:16 - ---- - -### BlockWithTxs - -Ƭ **BlockWithTxs**: `OneOf`<[[`BLOCK_WITH_TXS`](types.RPC.RPCSPEC08.API.md#block_with_txs), [`PENDING_BLOCK_WITH_TXS`](types.RPC.RPCSPEC08.API.md#pending_block_with_txs)]\> - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:20 - ---- - -### BlockWithTxHashes - -Ƭ **BlockWithTxHashes**: `OneOf`<[[`BLOCK_WITH_TX_HASHES`](types.RPC.RPCSPEC08.API.md#block_with_tx_hashes), [`PENDING_BLOCK_WITH_TX_HASHES`](types.RPC.RPCSPEC08.API.md#pending_block_with_tx_hashes)]\> - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:21 - ---- - -### BlockWithTxReceipts - -Ƭ **BlockWithTxReceipts**: `OneOf`<[[`BLOCK_WITH_RECEIPTS`](types.RPC.RPCSPEC08.API.md#block_with_receipts), [`PENDING_BLOCK_WITH_RECEIPTS`](types.RPC.RPCSPEC08.API.md#pending_block_with_receipts)]\> - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:22 - ---- - -### StateUpdate - -Ƭ **StateUpdate**: `OneOf`<[[`STATE_UPDATE`](types.RPC.RPCSPEC08.API.md#state_update), [`PENDING_STATE_UPDATE`](types.RPC.RPCSPEC08.API.md#pending_state_update)]\> - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:23 - ---- - -### BlockTransactionsTraces - -Ƭ **BlockTransactionsTraces**: \{ `transaction_hash`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) ; `trace_root`: [`TRANSACTION_TRACE`](types.RPC.RPCSPEC08.API.md#transaction_trace) }[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:24 - ---- - -### Syncing - -Ƭ **Syncing**: `false` \| [`SYNC_STATUS`](types.RPC.RPCSPEC08.API.md#sync_status) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:28 - ---- - -### Events - -Ƭ **Events**: [`EVENTS_CHUNK`](types.RPC.RPCSPEC08.API.md#events_chunk) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:29 - ---- - -### EmittedEvent - -Ƭ **EmittedEvent**: [`EMITTED_EVENT`](types.RPC.RPCSPEC08.API.md#emitted_event) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:30 - ---- - -### Event - -Ƭ **Event**: [`EVENT`](types.RPC.RPCSPEC08.API.md#event) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:31 - ---- - -### InvokedTransaction - -Ƭ **InvokedTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :------------------------------------------------ | -| `transaction_hash` | [`TXN_HASH`](types.RPC.RPCSPEC08.API.md#txn_hash) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:32 - ---- - -### DeclaredTransaction - -Ƭ **DeclaredTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :------------------------------------------------ | -| `transaction_hash` | [`TXN_HASH`](types.RPC.RPCSPEC08.API.md#txn_hash) | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:35 - ---- - -### DeployedAccountTransaction - -Ƭ **DeployedAccountTransaction**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :------------------------------------------------ | -| `transaction_hash` | [`TXN_HASH`](types.RPC.RPCSPEC08.API.md#txn_hash) | -| `contract_address` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:39 - ---- - -### L1L2MessagesStatus - -Ƭ **L1L2MessagesStatus**: [`L1L2MessageStatus`](types.RPC.RPCSPEC08.API.md#l1l2messagestatus)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:43 - ---- - -### StorageProof - -Ƭ **StorageProof**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `classes_proof` | [`NODE_HASH_TO_NODE_MAPPING`](types.RPC.RPCSPEC08.API.md#node_hash_to_node_mapping) | -| `contracts_proof` | \{ `nodes`: [`NODE_HASH_TO_NODE_MAPPING`](types.RPC.RPCSPEC08.API.md#node_hash_to_node_mapping) ; `contract_leaves_data`: \{ `nonce`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) ; `class_hash`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) ; `storage_root`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) }[] } | -| `contracts_proof.nodes` | [`NODE_HASH_TO_NODE_MAPPING`](types.RPC.RPCSPEC08.API.md#node_hash_to_node_mapping) | -| `contracts_proof.contract_leaves_data` | \{ `nonce`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) ; `class_hash`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) ; `storage_root`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) }[] | -| `contracts_storage_proofs` | [`NODE_HASH_TO_NODE_MAPPING`](types.RPC.RPCSPEC08.API.md#node_hash_to_node_mapping)[] | -| `global_roots` | \{ `contracts_tree_root`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) ; `classes_tree_root`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) ; `block_hash`: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) } | -| `global_roots.contracts_tree_root` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `global_roots.classes_tree_root` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `global_roots.block_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:44 - ---- - -### CompiledCasm - -Ƭ **CompiledCasm**: [`CASM_COMPILED_CONTRACT_CLASS`](types.RPC.RPCSPEC08.API.md#casm_compiled_contract_class) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:70 - ---- - -### ContractAddress - -Ƭ **ContractAddress**: [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:71 - ---- - -### Felt - -Ƭ **Felt**: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:72 - ---- - -### Nonce - -Ƭ **Nonce**: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:73 - ---- - -### TransactionHash - -Ƭ **TransactionHash**: [`TXN_HASH`](types.RPC.RPCSPEC08.API.md#txn_hash) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:74 - ---- - -### TransactionTrace - -Ƭ **TransactionTrace**: [`TRANSACTION_TRACE`](types.RPC.RPCSPEC08.API.md#transaction_trace) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:75 - ---- - -### BlockHash - -Ƭ **BlockHash**: [`BLOCK_HASH`](types.RPC.RPCSPEC08.API.md#block_hash) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:76 - ---- - -### TransactionReceipt - -Ƭ **TransactionReceipt**: [`TXN_RECEIPT_WITH_BLOCK_INFO`](types.RPC.RPCSPEC08.API.md#txn_receipt_with_block_info) - -All Type Transaction Receipt - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:80 - ---- - -### TransactionReceiptProductionBlock - -Ƭ **TransactionReceiptProductionBlock**: [`IsInBlock`](types.RPC.RPCSPEC08.API.md#isinblock)<[`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt)\> - -All Type Transaction Receipt from production block - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:84 - ---- - -### TransactionReceiptPendingBlock - -Ƭ **TransactionReceiptPendingBlock**: [`IsPending`](types.RPC.RPCSPEC08.API.md#ispending)<[`TransactionReceipt`](types.RPC.RPCSPEC08.API.md#transactionreceipt)\> - -All Type Transaction Receipt from pending block - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:88 - ---- - -### EventFilter - -Ƭ **EventFilter**: [`EVENT_FILTER`](types.RPC.RPCSPEC08.API.md#event_filter) & [`RESULT_PAGE_REQUEST`](types.RPC.RPCSPEC08.API.md#result_page_request) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:89 - ---- - -### SimulationFlags - -Ƭ **SimulationFlags**: [`SIMULATION_FLAG`](types.RPC.RPCSPEC08.API.md#simulation_flag)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:90 - ---- - -### L1Message - -Ƭ **L1Message**: [`MSG_FROM_L1`](types.RPC.RPCSPEC08.API.md#msg_from_l1) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:91 - ---- - -### BaseTransaction - -Ƭ **BaseTransaction**: [`BROADCASTED_TXN`](types.RPC.RPCSPEC08.API.md#broadcasted_txn) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:92 - ---- - -### ChainId - -Ƭ **ChainId**: [`CHAIN_ID`](types.RPC.RPCSPEC08.API.md#chain_id) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:93 - ---- - -### Transaction - -Ƭ **Transaction**: [`TXN`](types.RPC.RPCSPEC08.API.md#txn) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:94 - ---- - -### TransactionStatus - -Ƭ **TransactionStatus**: [`TXN_STATUS_RESULT`](types.RPC.RPCSPEC08.API.md#txn_status_result) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:95 - ---- - -### ResourceBounds - -Ƭ **ResourceBounds**: [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC08.API.md#resource_bounds_mapping) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:96 - ---- - -### FeePayment - -Ƭ **FeePayment**: [`FEE_PAYMENT`](types.RPC.RPCSPEC08.API.md#fee_payment) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:97 - ---- - -### PriceUnit - -Ƭ **PriceUnit**: [`PRICE_UNIT`](types.RPC.RPCSPEC08.API.md#price_unit) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:98 - ---- - -### L1L2MessageStatus - -Ƭ **L1L2MessageStatus**: `Object` - -Ethereum l1_handler tx hash and status for L1 -> L2 messages sent by the l1 transaction - -#### Type declaration - -| Name | Type | Description | -| :----------------- | :---------------------------------------------------- | :------------------------------------------------------------------ | -| `transaction_hash` | [`TXN_HASH`](types.RPC.RPCSPEC08.API.md#txn_hash) | l1_handler tx hash | -| `finality_status` | [`TXN_STATUS`](types.RPC.RPCSPEC08.API.md#txn_status) | finality status of the L1 -> L2 messages sent by the l1 transaction | -| `failure_reason?` | `string` | the failure reason, only appears if finality_status is REJECTED | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:102 - ---- - -### StorageDiffs - -Ƭ **StorageDiffs**: [`CONTRACT_STORAGE_DIFF_ITEM`](types.RPC.RPCSPEC08.API.md#contract_storage_diff_item)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:116 - ---- - -### DeprecatedDeclaredClasses - -Ƭ **DeprecatedDeclaredClasses**: [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:117 - ---- - -### NonceUpdates - -Ƭ **NonceUpdates**: [`NONCE_UPDATE`](types.RPC.RPCSPEC08.API.md#nonce_update)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:118 - ---- - -### ReplacedClasses - -Ƭ **ReplacedClasses**: [`REPLACED_CLASS`](types.RPC.RPCSPEC08.API.md#replaced_class)[] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/nonspec.d.ts:119 - ---- - -### STATUS_ACCEPTED_ON_L2 - -Ƭ **STATUS_ACCEPTED_ON_L2**: `"ACCEPTED_ON_L2"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:1 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:2 - ---- - -### STATUS_ACCEPTED_ON_L1 - -Ƭ **STATUS_ACCEPTED_ON_L1**: `"ACCEPTED_ON_L1"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:3 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:4 - ---- - -### STATUS_SUCCEEDED - -Ƭ **STATUS_SUCCEEDED**: `"SUCCEEDED"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:5 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:6 - ---- - -### STATUS_REVERTED - -Ƭ **STATUS_REVERTED**: `"REVERTED"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:7 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:8 - ---- - -### STATUS_PENDING - -Ƭ **STATUS_PENDING**: `"PENDING"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:9 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:10 - ---- - -### STATUS_REJECTED - -Ƭ **STATUS_REJECTED**: `"REJECTED"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:11 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:12 - ---- - -### STATUS_RECEIVED - -Ƭ **STATUS_RECEIVED**: `"RECEIVED"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:13 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:14 - ---- - -### TXN_TYPE_DECLARE - -Ƭ **TXN_TYPE_DECLARE**: `"DECLARE"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:15 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:16 - ---- - -### TXN_TYPE_DEPLOY - -Ƭ **TXN_TYPE_DEPLOY**: `"DEPLOY"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:17 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:18 - ---- - -### TXN_TYPE_DEPLOY_ACCOUNT - -Ƭ **TXN_TYPE_DEPLOY_ACCOUNT**: `"DEPLOY_ACCOUNT"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:19 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:20 - ---- - -### TXN_TYPE_INVOKE - -Ƭ **TXN_TYPE_INVOKE**: `"INVOKE"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:21 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:22 - ---- - -### TXN_TYPE_L1_HANDLER - -Ƭ **TXN_TYPE_L1_HANDLER**: `"L1_HANDLER"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:23 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:24 - ---- - -### STRUCT_ABI_TYPE - -Ƭ **STRUCT_ABI_TYPE**: `"struct"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:25 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:26 - ---- - -### EVENT_ABI_TYPE - -Ƭ **EVENT_ABI_TYPE**: `"event"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:27 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:28 - ---- - -### ABI_TYPE_FUNCTION - -Ƭ **ABI_TYPE_FUNCTION**: `"function"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:29 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:30 - ---- - -### ABI_TYPE_CONSTRUCTOR - -Ƭ **ABI_TYPE_CONSTRUCTOR**: `"constructor"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:31 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:32 - ---- - -### ABI_TYPE_L1_HANDLER - -Ƭ **ABI_TYPE_L1_HANDLER**: `"l1_handler"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:33 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:34 - ---- - -### ABI_TYPE_ENUM - -Ƭ **ABI_TYPE_ENUM**: `"enum"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:35 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:36 - ---- - -### STATE_MUTABILITY_VIEW - -Ƭ **STATE_MUTABILITY_VIEW**: `"view"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:37 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:38 - ---- - -### STATE_MUTABILITY_EXTERNAL - -Ƭ **STATE_MUTABILITY_EXTERNAL**: `"external"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:39 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:40 - ---- - -### PRICE_UNIT_WEI - -Ƭ **PRICE_UNIT_WEI**: `"WEI"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:41 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:42 - ---- - -### PRICE_UNIT_FRI - -Ƭ **PRICE_UNIT_FRI**: `"FRI"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:43 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:44 - ---- - -### L1_DA_MODE - -Ƭ **L1_DA_MODE**: typeof [`L1_DA_MODE`](types.RPC.RPCSPEC08.API.md#l1_da_mode-1)[keyof typeof [`L1_DA_MODE`](types.RPC.RPCSPEC08.API.md#l1_da_mode-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:45 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:49 - ---- - -### CALL_TYPE - -Ƭ **CALL_TYPE**: typeof [`CALL_TYPE`](types.RPC.RPCSPEC08.API.md#call_type-1)[keyof typeof [`CALL_TYPE`](types.RPC.RPCSPEC08.API.md#call_type-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:53 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:58 - ---- - -### ETransactionType - -Ƭ **ETransactionType**: typeof [`ETransactionType`](types.RPC.RPCSPEC08.API.md#etransactiontype-1)[keyof typeof [`ETransactionType`](types.RPC.RPCSPEC08.API.md#etransactiontype-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:59 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:66 - ---- - -### ESimulationFlag - -Ƭ **ESimulationFlag**: typeof [`ESimulationFlag`](types.RPC.RPCSPEC08.API.md#esimulationflag-1)[keyof typeof [`ESimulationFlag`](types.RPC.RPCSPEC08.API.md#esimulationflag-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:67 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:71 - ---- - -### ETransactionStatus - -Ƭ **ETransactionStatus**: typeof [`ETransactionStatus`](types.RPC.RPCSPEC08.API.md#etransactionstatus-1)[keyof typeof [`ETransactionStatus`](types.RPC.RPCSPEC08.API.md#etransactionstatus-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:72 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:78 - ---- - -### ETransactionFinalityStatus - -Ƭ **ETransactionFinalityStatus**: typeof [`ETransactionFinalityStatus`](types.RPC.RPCSPEC08.API.md#etransactionfinalitystatus-1)[keyof typeof [`ETransactionFinalityStatus`](types.RPC.RPCSPEC08.API.md#etransactionfinalitystatus-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:79 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:83 - ---- - -### ETransactionExecutionStatus - -Ƭ **ETransactionExecutionStatus**: typeof [`ETransactionExecutionStatus`](types.RPC.RPCSPEC08.API.md#etransactionexecutionstatus-1)[keyof typeof [`ETransactionExecutionStatus`](types.RPC.RPCSPEC08.API.md#etransactionexecutionstatus-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:84 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:88 - ---- - -### EBlockTag - -Ƭ **EBlockTag**: typeof [`EBlockTag`](types.RPC.RPCSPEC08.API.md#eblocktag-1)[keyof typeof [`EBlockTag`](types.RPC.RPCSPEC08.API.md#eblocktag-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:89 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:93 - ---- - -### EDataAvailabilityMode - -Ƭ **EDataAvailabilityMode**: typeof [`EDataAvailabilityMode`](types.RPC.RPCSPEC08.API.md#edataavailabilitymode-1)[keyof typeof [`EDataAvailabilityMode`](types.RPC.RPCSPEC08.API.md#edataavailabilitymode-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:94 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:98 - ---- - -### EDAMode - -Ƭ **EDAMode**: typeof [`EDAMode`](types.RPC.RPCSPEC08.API.md#edamode-1)[keyof typeof [`EDAMode`](types.RPC.RPCSPEC08.API.md#edamode-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:99 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:103 - ---- - -### ETransactionVersion - -Ƭ **ETransactionVersion**: typeof [`ETransactionVersion`](types.RPC.RPCSPEC08.API.md#etransactionversion-1)[keyof typeof [`ETransactionVersion`](types.RPC.RPCSPEC08.API.md#etransactionversion-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:108 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:136 - ---- - -### ETransactionVersion2 - -Ƭ **ETransactionVersion2**: typeof [`ETransactionVersion2`](types.RPC.RPCSPEC08.API.md#etransactionversion2-1)[keyof typeof [`ETransactionVersion2`](types.RPC.RPCSPEC08.API.md#etransactionversion2-1)] - -**`Deprecated`** - -Starknet 0.14 will not support this transaction - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:143 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:154 - ---- - -### ETransactionVersion3 - -Ƭ **ETransactionVersion3**: typeof [`ETransactionVersion3`](types.RPC.RPCSPEC08.API.md#etransactionversion3-1)[keyof typeof [`ETransactionVersion3`](types.RPC.RPCSPEC08.API.md#etransactionversion3-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:158 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:162 - ---- - -### CASM_COMPILED_CONTRACT_CLASS - -Ƭ **CASM_COMPILED_CONTRACT_CLASS**: `Object` - -Starknet get compiled CASM result - -#### Type declaration - -| Name | Type | Description | -| :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------- | -| `entry_points_by_type` | \{ `CONSTRUCTOR`: [`CASM_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#casm_entry_point)[] ; `EXTERNAL`: [`CASM_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#casm_entry_point)[] ; `L1_HANDLER`: [`CASM_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#casm_entry_point)[] } | - | -| `entry_points_by_type.CONSTRUCTOR` | [`CASM_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#casm_entry_point)[] | - | -| `entry_points_by_type.EXTERNAL` | [`CASM_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#casm_entry_point)[] | - | -| `entry_points_by_type.L1_HANDLER` | [`CASM_ENTRY_POINT`](types.RPC.RPCSPEC08.API.md#casm_entry_point)[] | - | -| `bytecode` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | - | -| `prime` | [`NUM_AS_HEX`](types.RPC.RPCSPEC08.API.md#num_as_hex) | - | -| `compiler_version` | `string` | - | -| `hints` | [`number` \| [`HINT`](types.RPC.RPCSPEC08.API.md#hint)[], `number` \| [`HINT`](types.RPC.RPCSPEC08.API.md#hint)[]][] | Array of 2-tuple of pc value and an array of hints to execute. | -| `bytecode_segment_lengths?` | `number` | a list of sizes of segments in the bytecode, each segment is hashed individually when computing the bytecode hash. Integer | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/executable.d.ts:5 - ---- - -### CASM_ENTRY_POINT - -Ƭ **CASM_ENTRY_POINT**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :---------------------------------------- | -| `offset` | `number` | -| `selector` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `builtins` | `string`[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/executable.d.ts:24 - ---- - -### CellRef - -Ƭ **CellRef**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :--------------- | -| `register` | `"AP"` \| `"FP"` | -| `offset` | `number` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/executable.d.ts:29 - ---- - -### Deref - -Ƭ **Deref**: `Object` - -#### Type declaration - -| Name | Type | -| :------ | :---------------------------------------------- | -| `Deref` | [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/executable.d.ts:33 - ---- - -### DoubleDeref - -Ƭ **DoubleDeref**: `Object` - -#### Type declaration - -| Name | Type | Description | -| :------------ | :------------------------------------------------------------ | :------------------------ | -| `DoubleDeref` | [[`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) \| `number`] | A (CellRef, offset) tuple | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/executable.d.ts:36 - ---- - -### Immediate - -Ƭ **Immediate**: `Object` - -#### Type declaration - -| Name | Type | -| :---------- | :---------------------------------------------------- | -| `Immediate` | [`NUM_AS_HEX`](types.RPC.RPCSPEC08.API.md#num_as_hex) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/executable.d.ts:42 - ---- - -### BinOp - -Ƭ **BinOp**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `BinOp` | \{ `op`: `"Add"` \| `"Mul"` ; `a`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `b`: [`Deref`](types.RPC.RPCSPEC08.API.md#deref) \| [`Immediate`](types.RPC.RPCSPEC08.API.md#immediate) } | -| `BinOp.op` | `"Add"` \| `"Mul"` | -| `BinOp.a` | [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) | -| `BinOp.b` | [`Deref`](types.RPC.RPCSPEC08.API.md#deref) \| [`Immediate`](types.RPC.RPCSPEC08.API.md#immediate) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/executable.d.ts:45 - ---- - -### ResOperand - -Ƭ **ResOperand**: [`Deref`](types.RPC.RPCSPEC08.API.md#deref) \| [`DoubleDeref`](types.RPC.RPCSPEC08.API.md#doublederef) \| [`Immediate`](types.RPC.RPCSPEC08.API.md#immediate) \| [`BinOp`](types.RPC.RPCSPEC08.API.md#binop) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/executable.d.ts:52 - ---- - -### HINT - -Ƭ **HINT**: [`DEPRECATED_HINT`](types.RPC.RPCSPEC08.API.md#deprecated_hint) \| [`CORE_HINT`](types.RPC.RPCSPEC08.API.md#core_hint) \| [`STARKNET_HINT`](types.RPC.RPCSPEC08.API.md#starknet_hint) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/executable.d.ts:53 - ---- - -### DEPRECATED_HINT - -Ƭ **DEPRECATED_HINT**: `"AssertCurrentAccessIndicesIsEmpty"` \| `"AssertAllKeysUsed"` \| `"AssertLeAssertThirdArcExcluded"` \| \{ `AssertAllAccessesUsed`: \{ `n_used_accesses`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `AssertLtAssertValidInput`: \{ `a`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `b`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) } } \| \{ `Felt252DictRead`: \{ `dict_ptr`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `key`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `value_dst`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `Felt252DictWrite`: \{ `dict_ptr`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `key`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `value`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) } } - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/executable.d.ts:54 - ---- - -### CORE_HINT - -Ƭ **CORE_HINT**: \{ `AllocSegment`: \{ `dst`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `TestLessThan`: \{ `lhs`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `rhs`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `dst`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `TestLessThanOrEqual`: \{ `lhs`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `rhs`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `dst`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `TestLessThanOrEqualAddress`: \{ `lhs`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `rhs`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `dst`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `WideMul128`: \{ `lhs`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `rhs`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `high`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `low`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `DivMod`: \{ `lhs`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `rhs`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `quotient`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `remainder`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `Uint256DivMod`: \{ `dividend0`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `dividend1`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `divisor0`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `divisor1`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `quotient0`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `quotient1`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `remainder0`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `remainder1`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `Uint512DivModByUint256`: \{ `dividend0`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `dividend1`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `dividend2`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `dividend3`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `divisor0`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `divisor1`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `quotient0`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `quotient1`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `quotient2`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `quotient3`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `remainder0`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `remainder1`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `SquareRoot`: \{ `value`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `dst`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `Uint256SquareRoot`: \{ `value_low`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `value_high`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `sqrt0`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `sqrt1`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `remainder_low`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `remainder_high`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `sqrt_mul_2_minus_remainder_ge_u128`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `LinearSplit`: \{ `value`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `scalar`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `max_x`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `x`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `y`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `AllocFelt252Dict`: \{ `segment_arena_ptr`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) } } \| \{ `Felt252DictEntryInit`: \{ `dict_ptr`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `key`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) } } \| \{ `Felt252DictEntryUpdate`: \{ `dict_ptr`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `value`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) } } \| \{ `GetSegmentArenaIndex`: \{ `dict_end_ptr`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `dict_index`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `InitSquashData`: \{ `dict_accesses`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `ptr_diff`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `n_accesses`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `big_keys`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `first_key`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `GetCurrentAccessIndex`: \{ `range_check_ptr`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) } } \| \{ `ShouldSkipSquashLoop`: \{ `should_skip_loop`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `GetCurrentAccessDelta`: \{ `index_delta_minus1`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `ShouldContinueSquashLoop`: \{ `should_continue`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `GetNextDictKey`: \{ `next_key`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `AssertLeFindSmallArcs`: \{ `range_check_ptr`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `a`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `b`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) } } \| \{ `AssertLeIsFirstArcExcluded`: \{ `skip_exclude_a_flag`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `AssertLeIsSecondArcExcluded`: \{ `skip_exclude_b_minus_a`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `RandomEcPoint`: \{ `x`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `y`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `FieldSqrt`: \{ `val`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `sqrt`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `DebugPrint`: \{ `start`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `end`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) } } \| \{ `AllocConstantSize`: \{ `size`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `dst`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `U256InvModN`: \{ `b0`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `b1`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `n0`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `n1`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `g0_or_no_inv`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `g1_option`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `s_or_r0`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `s_or_r1`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `t_or_k0`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `t_or_k1`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } \| \{ `EvalCircuit`: \{ `n_add_mods`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `add_mod_builtin`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `n_mul_mods`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `mul_mod_builtin`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) } } - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/executable.d.ts:76 - ---- - -### STARKNET_HINT - -Ƭ **STARKNET_HINT**: \{ `SystemCall`: \{ `system`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) } } \| \{ `Cheatcode`: \{ `selector`: [`NUM_AS_HEX`](types.RPC.RPCSPEC08.API.md#num_as_hex) ; `input_start`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `input_end`: [`ResOperand`](types.RPC.RPCSPEC08.API.md#resoperand) ; `output_start`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) ; `output_end`: [`CellRef`](types.RPC.RPCSPEC08.API.md#cellref) } } - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/executable.d.ts:263 - ---- - -### IsPending - -Ƭ **IsPending**<`T`\>: `Extract`<`T`, \{ `block_hash`: `never` ; `block_number`: `never` }\> - -Possible permutations of transaction. -BLOCK TYPE -TYPE OF TRANSACTION -EXECUTION (Reverted or not) -FINALITY (Rejected on not) Receipt do not have Rejected - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/expansions/transactionReceipt.d.ts:8 - ---- - -### IsInBlock - -Ƭ **IsInBlock**<`T`\>: `T` extends \{ `block_hash`: `string` ; `block_number`: `number` } ? `T` extends \{ `block_hash`: `never` } ? `never` : `T` : `never` - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/expansions/transactionReceipt.d.ts:12 - ---- - -### IsType - -Ƭ **IsType**<`T`, `ETransactionType`\>: `Extract`<`T`, \{ `type`: `ETransactionType` }\> - -#### Type parameters - -| Name | -| :----------------- | -| `T` | -| `ETransactionType` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/expansions/transactionReceipt.d.ts:18 - ---- - -### IsSucceeded - -Ƭ **IsSucceeded**<`T`\>: `Extract`<`T`, \{ `execution_status`: `"SUCCEEDED"` }\> - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/expansions/transactionReceipt.d.ts:21 - ---- - -### IsReverted - -Ƭ **IsReverted**<`T`\>: `Extract`<`T`, \{ `execution_status`: `"REVERTED"` }\> - -#### Type parameters - -| Name | -| :--- | -| `T` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/expansions/transactionReceipt.d.ts:24 - -## Variables - -### STATUS_ACCEPTED_ON_L2 - -• **STATUS_ACCEPTED_ON_L2**: `"ACCEPTED_ON_L2"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:1 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:2 - ---- - -### STATUS_ACCEPTED_ON_L1 - -• **STATUS_ACCEPTED_ON_L1**: `"ACCEPTED_ON_L1"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:3 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:4 - ---- - -### STATUS_SUCCEEDED - -• **STATUS_SUCCEEDED**: `"SUCCEEDED"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:5 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:6 - ---- - -### STATUS_REVERTED - -• **STATUS_REVERTED**: `"REVERTED"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:7 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:8 - ---- - -### STATUS_PENDING - -• **STATUS_PENDING**: `"PENDING"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:9 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:10 - ---- - -### STATUS_REJECTED - -• **STATUS_REJECTED**: `"REJECTED"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:11 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:12 - ---- - -### STATUS_RECEIVED - -• **STATUS_RECEIVED**: `"RECEIVED"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:13 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:14 - ---- - -### TXN_TYPE_DECLARE - -• **TXN_TYPE_DECLARE**: `"DECLARE"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:15 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:16 - ---- - -### TXN_TYPE_DEPLOY - -• **TXN_TYPE_DEPLOY**: `"DEPLOY"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:17 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:18 - ---- - -### TXN_TYPE_DEPLOY_ACCOUNT - -• **TXN_TYPE_DEPLOY_ACCOUNT**: `"DEPLOY_ACCOUNT"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:19 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:20 - ---- - -### TXN_TYPE_INVOKE - -• **TXN_TYPE_INVOKE**: `"INVOKE"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:21 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:22 - ---- - -### TXN_TYPE_L1_HANDLER - -• **TXN_TYPE_L1_HANDLER**: `"L1_HANDLER"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:23 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:24 - ---- - -### STRUCT_ABI_TYPE - -• **STRUCT_ABI_TYPE**: `"struct"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:25 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:26 - ---- - -### EVENT_ABI_TYPE - -• **EVENT_ABI_TYPE**: `"event"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:27 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:28 - ---- - -### ABI_TYPE_FUNCTION - -• **ABI_TYPE_FUNCTION**: `"function"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:29 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:30 - ---- - -### ABI_TYPE_CONSTRUCTOR - -• **ABI_TYPE_CONSTRUCTOR**: `"constructor"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:31 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:32 - ---- - -### ABI_TYPE_L1_HANDLER - -• **ABI_TYPE_L1_HANDLER**: `"l1_handler"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:33 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:34 - ---- - -### ABI_TYPE_ENUM - -• **ABI_TYPE_ENUM**: `"enum"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:35 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:36 - ---- - -### STATE_MUTABILITY_VIEW - -• **STATE_MUTABILITY_VIEW**: `"view"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:37 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:38 - ---- - -### STATE_MUTABILITY_EXTERNAL - -• **STATE_MUTABILITY_EXTERNAL**: `"external"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:39 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:40 - ---- - -### PRICE_UNIT_WEI - -• **PRICE_UNIT_WEI**: `"WEI"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:41 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:42 - ---- - -### PRICE_UNIT_FRI - -• **PRICE_UNIT_FRI**: `"FRI"` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:43 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:44 - ---- - -### L1_DA_MODE - -• `Const` **L1_DA_MODE**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :----------- | -| `BLOB` | `"BLOB"` | -| `CALLDATA` | `"CALLDATA"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:45 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:49 - ---- - -### CALL_TYPE - -• `Const` **CALL_TYPE**: `Object` - -Represents the type of a function call. - -#### Type declaration - -| Name | Type | -| :------------- | :--------------- | -| `DELEGATE` | `"DELEGATE"` | -| `LIBRARY_CALL` | `"LIBRARY_CALL"` | -| `CALL` | `"CALL"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:53 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:58 - ---- - -### ETransactionType - -• `Const` **ETransactionType**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :----------------- | -| `DECLARE` | `"DECLARE"` | -| `DEPLOY` | `"DEPLOY"` | -| `DEPLOY_ACCOUNT` | `"DEPLOY_ACCOUNT"` | -| `INVOKE` | `"INVOKE"` | -| `L1_HANDLER` | `"L1_HANDLER"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:59 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:66 - ---- - -### ESimulationFlag - -• `Const` **ESimulationFlag**: `Object` - -#### Type declaration - -| Name | Type | -| :---------------- | :------------------ | -| `SKIP_VALIDATE` | `"SKIP_VALIDATE"` | -| `SKIP_FEE_CHARGE` | `"SKIP_FEE_CHARGE"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:67 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:71 - ---- - -### ETransactionStatus - -• `Const` **ETransactionStatus**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :----------------- | -| `RECEIVED` | `"RECEIVED"` | -| `REJECTED` | `"REJECTED"` | -| `ACCEPTED_ON_L2` | `"ACCEPTED_ON_L2"` | -| `ACCEPTED_ON_L1` | `"ACCEPTED_ON_L1"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:72 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:78 - ---- - -### ETransactionFinalityStatus - -• `Const` **ETransactionFinalityStatus**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :----------------- | -| `ACCEPTED_ON_L2` | `"ACCEPTED_ON_L2"` | -| `ACCEPTED_ON_L1` | `"ACCEPTED_ON_L1"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:79 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:83 - ---- - -### ETransactionExecutionStatus - -• `Const` **ETransactionExecutionStatus**: `Object` - -#### Type declaration - -| Name | Type | -| :---------- | :------------ | -| `SUCCEEDED` | `"SUCCEEDED"` | -| `REVERTED` | `"REVERTED"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:84 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:88 - ---- - -### EBlockTag - -• `Const` **EBlockTag**: `Object` - -#### Type declaration - -| Name | Type | -| :-------- | :---------- | -| `LATEST` | `"latest"` | -| `PENDING` | `"pending"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:89 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:93 - ---- - -### EDataAvailabilityMode - -• `Const` **EDataAvailabilityMode**: `Object` - -#### Type declaration - -| Name | Type | -| :--- | :----- | -| `L1` | `"L1"` | -| `L2` | `"L2"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:94 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:98 - ---- - -### EDAMode - -• `Const` **EDAMode**: `Object` - -#### Type declaration - -| Name | Type | -| :--- | :--- | -| `L1` | `0` | -| `L2` | `1` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:99 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:103 - ---- - -### ETransactionVersion - -• `Const` **ETransactionVersion**: `Object` - -V* Transaction versions HexString -F* Fee Transaction Versions HexString (2 \*\* 128 + TRANSACTION_VERSION) - -#### Type declaration - -| Name | Type | Description | -| :--- | :-------------------------------------- | :--------------------------------------------------------------- | -| `V0` | `"0x0"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `V1` | `"0x1"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `V2` | `"0x2"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `V3` | `"0x3"` | - | -| `F0` | `"0x100000000000000000000000000000000"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `F1` | `"0x100000000000000000000000000000001"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `F2` | `"0x100000000000000000000000000000002"` | **`Deprecated`** Starknet 0.14 will not support this transaction | -| `F3` | `"0x100000000000000000000000000000003"` | - | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:108 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:136 - ---- - -### ETransactionVersion2 - -• `Const` **ETransactionVersion2**: `Object` - -**`Deprecated`** - -Starknet 0.14 will not support this transaction - -#### Type declaration - -| Name | Type | -| :--- | :-------------------------------------- | -| `V0` | `"0x0"` | -| `V1` | `"0x1"` | -| `V2` | `"0x2"` | -| `F0` | `"0x100000000000000000000000000000000"` | -| `F1` | `"0x100000000000000000000000000000001"` | -| `F2` | `"0x100000000000000000000000000000002"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:143 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:154 - ---- - -### ETransactionVersion3 - -• `Const` **ETransactionVersion3**: `Object` - -V3 Transaction Versions - -#### Type declaration - -| Name | Type | -| :--- | :-------------------------------------- | -| `V3` | `"0x3"` | -| `F3` | `"0x100000000000000000000000000000003"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:158 - -node_modules/@starknet-io/starknet-types-08/dist/types/api/constants.d.ts:162 diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md b/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md deleted file mode 100644 index 48f8ee2e9..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md +++ /dev/null @@ -1,474 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.PAYMASTER_API' -title: 'Namespace: PAYMASTER_API' -sidebar_label: 'PAYMASTER_API' -custom_edit_url: null ---- - -[RPC](types.RPC.md).[RPCSPEC08](types.RPC.RPCSPEC08.md).PAYMASTER_API - -## Interfaces - -- [INVALID_ADDRESS](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ADDRESS.md) -- [TOKEN_NOT_SUPPORTED](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TOKEN_NOT_SUPPORTED.md) -- [INVALID_SIGNATURE](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_SIGNATURE.md) -- [MAX_AMOUNT_TOO_LOW](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.MAX_AMOUNT_TOO_LOW.md) -- [CLASS_HASH_NOT_SUPPORTED](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.CLASS_HASH_NOT_SUPPORTED.md) -- [TRANSACTION_EXECUTION_ERROR](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TRANSACTION_EXECUTION_ERROR.md) -- [INVALID_TIME_BOUNDS](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_TIME_BOUNDS.md) -- [INVALID_DEPLOYMENT_DATA](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_DEPLOYMENT_DATA.md) -- [INVALID_CLASS_HASH](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_CLASS_HASH.md) -- [INVALID_ID](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ID.md) -- [UNKNOWN_ERROR](../interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.UNKNOWN_ERROR.md) - -## Type Aliases - -### Methods - -Ƭ **Methods**: `ReadMethods` & `WriteMethods` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/methods.d.ts:32 - ---- - -### u256 - -Ƭ **u256**: `string` - -256 bit unsigned integers, represented by a hex string of length at most 64 - -**`Pattern`** - -^0x(0|[a-fA-F1-9]{1}[a-fA-F0-9]{0,63})$ - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:7 - ---- - -### CALL - -Ƭ **CALL**: `Object` - -The object that defines an invocation of a function in a contract - -#### Type declaration - -| Name | Type | -| :--------- | :---------------------------------------------- | -| `to` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `selector` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `calldata` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:11 - ---- - -### TRACKING_ID - -Ƭ **TRACKING_ID**: [`FELT`](types.RPC.RPCSPEC08.API.md#felt) - -A unique identifier corresponding to an `execute` request to the paymaster - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:19 - ---- - -### USER_DEPLOY_TRANSACTION - -Ƭ **USER_DEPLOY_TRANSACTION**: `Object` - -User transaction - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------------------------------------------------- | -| `type` | `"deploy"` | -| `deployment` | [`ACCOUNT_DEPLOYMENT_DATA`](types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:23 - ---- - -### USER_INVOKE_TRANSACTION - -Ƭ **USER_INVOKE_TRANSACTION**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :---------------------------------------------------------------- | -| `type` | `"invoke"` | -| `invoke` | [`USER_INVOKE`](types.RPC.RPCSPEC08.PAYMASTER_API.md#user_invoke) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:27 - ---- - -### USER_INVOKE - -Ƭ **USER_INVOKE**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :---------------------------------------------------- | -| `user_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `calls` | [`CALL`](types.RPC.RPCSPEC08.PAYMASTER_API.md#call)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:31 - ---- - -### USER_DEPLOY_AND_INVOKE_TRANSACTION - -Ƭ **USER_DEPLOY_AND_INVOKE_TRANSACTION**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------------------------------------------------- | -| `type` | `"deploy_and_invoke"` | -| `deployment` | [`ACCOUNT_DEPLOYMENT_DATA`](types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) | -| `invoke` | [`USER_INVOKE`](types.RPC.RPCSPEC08.PAYMASTER_API.md#user_invoke) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:35 - ---- - -### USER_TRANSACTION - -Ƭ **USER_TRANSACTION**: [`USER_DEPLOY_TRANSACTION`](types.RPC.RPCSPEC08.PAYMASTER_API.md#user_deploy_transaction) \| [`USER_INVOKE_TRANSACTION`](types.RPC.RPCSPEC08.PAYMASTER_API.md#user_invoke_transaction) \| [`USER_DEPLOY_AND_INVOKE_TRANSACTION`](types.RPC.RPCSPEC08.PAYMASTER_API.md#user_deploy_and_invoke_transaction) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:40 - ---- - -### EXECUTABLE_USER_DEPLOY_TRANSACTION - -Ƭ **EXECUTABLE_USER_DEPLOY_TRANSACTION**: `Object` - -User transaction - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------------------------------------------------- | -| `type` | `"deploy"` | -| `deployment` | [`ACCOUNT_DEPLOYMENT_DATA`](types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:44 - ---- - -### EXECUTABLE_USER_INVOKE_TRANSACTION - -Ƭ **EXECUTABLE_USER_INVOKE_TRANSACTION**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :-------------------------------------------------------------------------------------- | -| `type` | `"invoke"` | -| `invoke` | [`EXECUTABLE_USER_INVOKE`](types.RPC.RPCSPEC08.PAYMASTER_API.md#executable_user_invoke) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:48 - ---- - -### EXECUTABLE_USER_INVOKE - -Ƭ **EXECUTABLE_USER_INVOKE**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :----------------------------------------------------------------------------------------- | -| `user_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `typed_data` | [`OutsideExecutionTypedData`](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddata) | -| `signature` | [`SIGNATURE`](types.RPC.RPCSPEC08.API.md#signature) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:52 - ---- - -### EXECUTABLE_USER_DEPLOY_AND_INVOKE_TRANSACTION - -Ƭ **EXECUTABLE_USER_DEPLOY_AND_INVOKE_TRANSACTION**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------------------------------------------------- | -| `type` | `"deploy_and_invoke"` | -| `deployment` | [`ACCOUNT_DEPLOYMENT_DATA`](types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) | -| `invoke` | [`EXECUTABLE_USER_INVOKE`](types.RPC.RPCSPEC08.PAYMASTER_API.md#executable_user_invoke) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:57 - ---- - -### EXECUTABLE_USER_TRANSACTION - -Ƭ **EXECUTABLE_USER_TRANSACTION**: [`EXECUTABLE_USER_DEPLOY_TRANSACTION`](types.RPC.RPCSPEC08.PAYMASTER_API.md#executable_user_deploy_transaction) \| [`EXECUTABLE_USER_INVOKE_TRANSACTION`](types.RPC.RPCSPEC08.PAYMASTER_API.md#executable_user_invoke_transaction) \| [`EXECUTABLE_USER_DEPLOY_AND_INVOKE_TRANSACTION`](types.RPC.RPCSPEC08.PAYMASTER_API.md#executable_user_deploy_and_invoke_transaction) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:62 - ---- - -### SPONSORED_TRANSACTION - -Ƭ **SPONSORED_TRANSACTION**: `Object` - -Execution parameters - -#### Type declaration - -| Name | Type | -| :----- | :------------ | -| `mode` | `"sponsored"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:66 - ---- - -### GASLESS_TRANSACTION - -Ƭ **GASLESS_TRANSACTION**: `Object` - -#### Type declaration - -| Name | Type | -| :---------- | :---------------------------------------- | -| `mode` | `"default"` | -| `gas_token` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:69 - ---- - -### FEE_MODE - -Ƭ **FEE_MODE**: [`SPONSORED_TRANSACTION`](types.RPC.RPCSPEC08.PAYMASTER_API.md#sponsored_transaction) \| [`GASLESS_TRANSACTION`](types.RPC.RPCSPEC08.PAYMASTER_API.md#gasless_transaction) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:73 - ---- - -### EXECUTION_PARAMETERS_V1 - -Ƭ **EXECUTION_PARAMETERS_V1**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :------------------------------------------------------------- | -| `version` | `"0x1"` | -| `fee_mode` | [`FEE_MODE`](types.RPC.RPCSPEC08.PAYMASTER_API.md#fee_mode) | -| `time_bounds?` | [`TIME_BOUNDS`](types.RPC.RPCSPEC08.WALLET_API.md#time_bounds) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:74 - ---- - -### EXECUTION_PARAMETERS - -Ƭ **EXECUTION_PARAMETERS**: [`EXECUTION_PARAMETERS_V1`](types.RPC.RPCSPEC08.PAYMASTER_API.md#execution_parameters_v1) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:79 - ---- - -### ACCOUNT_DEPLOYMENT_DATA - -Ƭ **ACCOUNT_DEPLOYMENT_DATA**: `Object` - -Data required to deploy an account at an address - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------- | -| `address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `class_hash` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `salt` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `calldata` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `sigdata?` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `version` | `1` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:83 - ---- - -### TOKEN_DATA - -Ƭ **TOKEN_DATA**: `Object` - -Object containing data about the token: contract address, number of decimals and current price in STRK - -#### Type declaration - -| Name | Type | -| :-------------- | :-------------------------------------------------- | -| `token_address` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `decimals` | `number` | -| `price_in_strk` | [`u256`](types.RPC.RPCSPEC08.PAYMASTER_API.md#u256) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:94 - ---- - -### FEE_ESTIMATE - -Ƭ **FEE_ESTIMATE**: `Object` - -#### Type declaration - -| Name | Type | -| :------------------------------- | :---------------------------------------- | -| `gas_token_price_in_strk` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `estimated_fee_in_strk` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `estimated_fee_in_gas_token` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `suggested_max_fee_in_strk` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `suggested_max_fee_in_gas_token` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/components.d.ts:99 - ---- - -### BuildDeployTransactionResponse - -Ƭ **BuildDeployTransactionResponse**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :---------------------------------------------------------------------------------------- | -| `type` | `"deploy"` | -| `deployment` | [`ACCOUNT_DEPLOYMENT_DATA`](types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) | -| `parameters` | [`EXECUTION_PARAMETERS`](types.RPC.RPCSPEC08.PAYMASTER_API.md#execution_parameters) | -| `fee` | [`FEE_ESTIMATE`](types.RPC.RPCSPEC08.PAYMASTER_API.md#fee_estimate) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/nonspec.d.ts:7 - ---- - -### BuildInvokeTransactionResponse - -Ƭ **BuildInvokeTransactionResponse**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :----------------------------------------------------------------------------------------- | -| `type` | `"invoke"` | -| `typed_data` | [`OutsideExecutionTypedData`](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddata) | -| `parameters` | [`EXECUTION_PARAMETERS`](types.RPC.RPCSPEC08.PAYMASTER_API.md#execution_parameters) | -| `fee` | [`FEE_ESTIMATE`](types.RPC.RPCSPEC08.PAYMASTER_API.md#fee_estimate) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/nonspec.d.ts:13 - ---- - -### BuildDeployAndInvokeTransactionResponse - -Ƭ **BuildDeployAndInvokeTransactionResponse**: `Object` - -#### Type declaration - -| Name | Type | -| :----------- | :----------------------------------------------------------------------------------------- | -| `type` | `"deploy_and_invoke"` | -| `deployment` | [`ACCOUNT_DEPLOYMENT_DATA`](types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) | -| `typed_data` | [`OutsideExecutionTypedData`](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddata) | -| `parameters` | [`EXECUTION_PARAMETERS`](types.RPC.RPCSPEC08.PAYMASTER_API.md#execution_parameters) | -| `fee` | [`FEE_ESTIMATE`](types.RPC.RPCSPEC08.PAYMASTER_API.md#fee_estimate) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/nonspec.d.ts:19 - ---- - -### BuildTransactionResponse - -Ƭ **BuildTransactionResponse**: [`BuildDeployTransactionResponse`](types.RPC.RPCSPEC08.PAYMASTER_API.md#builddeploytransactionresponse) \| [`BuildInvokeTransactionResponse`](types.RPC.RPCSPEC08.PAYMASTER_API.md#buildinvoketransactionresponse) \| [`BuildDeployAndInvokeTransactionResponse`](types.RPC.RPCSPEC08.PAYMASTER_API.md#builddeployandinvoketransactionresponse) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/nonspec.d.ts:26 - ---- - -### ExecuteResponse - -Ƭ **ExecuteResponse**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :---------------------------------------------------------------- | -| `tracking_id` | [`TRACKING_ID`](types.RPC.RPCSPEC08.PAYMASTER_API.md#tracking_id) | -| `transaction_hash` | [`TXN_HASH`](types.RPC.RPCSPEC08.API.md#txn_hash) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/nonspec.d.ts:27 - ---- - -### AccountDeploymentData - -Ƭ **AccountDeploymentData**: [`ACCOUNT_DEPLOYMENT_DATA`](types.RPC.RPCSPEC08.PAYMASTER_API.md#account_deployment_data) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/snip-29/nonspec.d.ts:31 diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.WALLET_API.md b/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.WALLET_API.md deleted file mode 100644 index 589d968b7..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.WALLET_API.md +++ /dev/null @@ -1,621 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08.WALLET_API' -title: 'Namespace: WALLET_API' -sidebar_label: 'WALLET_API' -custom_edit_url: null ---- - -[RPC](types.RPC.md).[RPCSPEC08](types.RPC.RPCSPEC08.md).WALLET_API - -## Interfaces - -- [StarknetDomain](../interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetDomain.md) -- [TypedData](../interfaces/types.RPC.RPCSPEC08.WALLET_API.TypedData.md) -- [StarknetWindowObject](../interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetWindowObject.md) -- [AddInvokeTransactionParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionParameters.md) -- [AddInvokeTransactionResult](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionResult.md) -- [AddDeclareTransactionParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionParameters.md) -- [AddDeclareTransactionResult](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionResult.md) -- [RequestAccountsParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RequestAccountsParameters.md) -- [WatchAssetParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.WatchAssetParameters.md) -- [AddStarknetChainParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddStarknetChainParameters.md) -- [SwitchStarknetChainParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.SwitchStarknetChainParameters.md) -- [AccountDeploymentData](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AccountDeploymentData.md) -- [ApiVersionRequest](../interfaces/types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md) -- [RpcTypeToMessageMap](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md) -- [WalletEventHandlers](../interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md) -- [NOT_ERC20](../interfaces/types.RPC.RPCSPEC08.WALLET_API.NOT_ERC20.md) -- [UNLISTED_NETWORK](../interfaces/types.RPC.RPCSPEC08.WALLET_API.UNLISTED_NETWORK.md) -- [USER_REFUSED_OP](../interfaces/types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md) -- [INVALID_REQUEST_PAYLOAD](../interfaces/types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md) -- [ACCOUNT_ALREADY_DEPLOYED](../interfaces/types.RPC.RPCSPEC08.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md) -- [API_VERSION_NOT_SUPPORTED](../interfaces/types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md) -- [UNKNOWN_ERROR](../interfaces/types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md) - -## Type Aliases - -### Permission - -Ƭ **Permission**: typeof [`Permission`](types.RPC.RPCSPEC08.WALLET_API.md#permission-1)[keyof typeof [`Permission`](types.RPC.RPCSPEC08.WALLET_API.md#permission-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/constants.d.ts:1 - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/constants.d.ts:4 - ---- - -### BLOCK_TIMESTAMP - -Ƭ **BLOCK_TIMESTAMP**: `number` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:3 - ---- - -### TIME_BOUNDS - -Ƭ **TIME_BOUNDS**: `Object` - -Object containing timestamps corresponding to `Execute After` and `Execute Before` - -#### Type declaration - -| Name | Type | -| :--------------- | :--------------------------------------------------------------------- | -| `execute_after` | [`BLOCK_TIMESTAMP`](types.RPC.RPCSPEC08.WALLET_API.md#block_timestamp) | -| `execute_before` | [`BLOCK_TIMESTAMP`](types.RPC.RPCSPEC08.WALLET_API.md#block_timestamp) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:7 - ---- - -### TypedDataRevision - -Ƭ **TypedDataRevision**: typeof [`TypedDataRevision`](types.RPC.RPCSPEC08.WALLET_API.md#typeddatarevision-1)[keyof typeof [`TypedDataRevision`](types.RPC.RPCSPEC08.WALLET_API.md#typeddatarevision-1)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:11 - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:15 - ---- - -### StarknetEnumType - -Ƭ **StarknetEnumType**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :------------------------------------------------------------ | -| `name` | `string` | -| `type` | [`ABI_TYPE_ENUM`](types.RPC.RPCSPEC08.API.md#abi_type_enum-1) | -| `contains` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:16 - ---- - -### StarknetMerkleType - -Ƭ **StarknetMerkleType**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :------------- | -| `name` | `string` | -| `type` | `"merkletree"` | -| `contains` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:21 - ---- - -### StarknetType - -Ƭ **StarknetType**: \{ `name`: `string` ; `type`: `string` } \| [`StarknetEnumType`](types.RPC.RPCSPEC08.WALLET_API.md#starknetenumtype) \| [`StarknetMerkleType`](types.RPC.RPCSPEC08.WALLET_API.md#starknetmerkletype) - -SPEC: STARKNET_TYPE -A single type, as part of a struct. The `type` field can be any of the EIP-712 supported types. -Note that the `uint` and `int` aliases like in Solidity, and fixed point numbers are not supported by the EIP-712 -standard. - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:32 - ---- - -### OutsideExecutionTypedData - -Ƭ **OutsideExecutionTypedData**: [`OutsideExecutionTypedDataV1`](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddatav1) \| [`OutsideExecutionTypedDataV2`](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddatav2) - -"A typed data object (in the sense of SNIP-12) which represents an outside execution payload, according to SNIP-9 - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:58 - ---- - -### OutsideExecutionTypedDataV1 - -Ƭ **OutsideExecutionTypedDataV1**: `Object` - -#### Type declaration - -| Name | Type | -| :------------ | :----------------------------------------------------------------------------------------- | -| `types` | `Record`<`string`, [`StarknetType`](types.RPC.RPCSPEC08.WALLET_API.md#starknettype)[]\> | -| `primaryType` | `string` | -| `domain` | [`StarknetDomain`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetDomain.md) | -| `message` | [`OutsideExecutionMessageV1`](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutionmessagev1) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:59 - ---- - -### OutsideExecutionTypedDataV2 - -Ƭ **OutsideExecutionTypedDataV2**: `Object` - -#### Type declaration - -| Name | Type | -| :------------ | :----------------------------------------------------------------------------------------- | -| `types` | `Record`<`string`, [`StarknetType`](types.RPC.RPCSPEC08.WALLET_API.md#starknettype)[]\> | -| `primaryType` | `string` | -| `domain` | [`StarknetDomain`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetDomain.md) | -| `message` | [`OutsideExecutionMessageV2`](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutionmessagev2) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:65 - ---- - -### OutsideExecutionMessageV1 - -Ƭ **OutsideExecutionMessageV1**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :------------------------------------------------------------------- | -| `caller` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `nonce` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `execute_after` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `execute_before` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `calls_len` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `calls` | [`OutsideCallV1`](types.RPC.RPCSPEC08.WALLET_API.md#outsidecallv1)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:71 - ---- - -### OutsideCallV1 - -Ƭ **OutsideCallV1**: `Object` - -#### Type declaration - -| Name | Type | -| :------------- | :---------------------------------------------- | -| `to` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `selector` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `calldata_len` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | -| `calldata` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:79 - ---- - -### OutsideExecutionMessageV2 - -Ƭ **OutsideExecutionMessageV2**: `Object` - -#### Type declaration - -| Name | Type | -| :--------------- | :------------------------------------------------------------------- | -| `Caller` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `Nonce` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `Execute After` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `Execute Before` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `Calls` | [`OutsideCallV2`](types.RPC.RPCSPEC08.WALLET_API.md#outsidecallv2)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:85 - ---- - -### OutsideCallV2 - -Ƭ **OutsideCallV2**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :---------------------------------------------- | -| `To` | [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) | -| `Selector` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt) | -| `Calldata` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:92 - ---- - -### Address - -Ƭ **Address**: [`ADDRESS`](types.RPC.RPCSPEC08.API.md#address) - -Account Address - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:6 - ---- - -### Signature - -Ƭ **Signature**: [`SIGNATURE`](types.RPC.RPCSPEC08.API.md#signature) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:7 - ---- - -### PADDED_TXN_HASH - -Ƭ **PADDED_TXN_HASH**: [`PADDED_FELT`](types.RPC.RPCSPEC08.WALLET_API.md#padded_felt) - -The transaction hash, as assigned in Starknet - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:11 - ---- - -### PADDED_FELT - -Ƭ **PADDED_FELT**: `string` - -A padded felt represent 0x0 + (0-7) + (62 hex digits) - -**`Pattern`** - -^0x(0[0-7]{1}[a-fA-F0-9]{62}$) - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:16 - ---- - -### SpecVersion - -Ƭ **SpecVersion**: `string` - -A Starknet RPC spec version, only two numbers are provided - -**`Pattern`** - -^[0-9]+\\.[0-9]+$ - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:21 - ---- - -### TokenSymbol - -Ƭ **TokenSymbol**: `string` - -ERC20 Token Symbol (min:1 char - max:6 chars) - -**`Pattern`** - -^[A-Za-z0-9]{1,6}$ - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:26 - ---- - -### Asset - -Ƭ **Asset**: `Object` - -Starknet Token -Details of an onchain Starknet ERC20 token - -#### Type declaration - -| Name | Type | -| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `type` | `"ERC20"` | -| `options` | \{ `address`: [`Address`](types.RPC.RPCSPEC08.WALLET_API.md#address) ; `symbol?`: [`TokenSymbol`](types.RPC.RPCSPEC08.WALLET_API.md#tokensymbol) ; `decimals?`: `number` ; `image?`: `string` ; `name?`: `string` } | -| `options.address` | [`Address`](types.RPC.RPCSPEC08.WALLET_API.md#address) | -| `options.symbol?` | [`TokenSymbol`](types.RPC.RPCSPEC08.WALLET_API.md#tokensymbol) | -| `options.decimals?` | `number` | -| `options.image?` | `string` | -| `options.name?` | `string` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:31 - ---- - -### StarknetChain - -Ƭ **StarknetChain**: `Object` - -#### Type declaration - -| Name | Type | -| :-------------------- | :------------------------------------------------- | -| `id` | `string` | -| `chain_id` | [`ChainId`](types.RPC.RPCSPEC08.API.md#chainid) | -| `chain_name` | `string` | -| `rpc_urls?` | `string`[] | -| `block_explorer_url?` | `string`[] | -| `native_currency?` | [`Asset`](types.RPC.RPCSPEC08.WALLET_API.md#asset) | -| `icon_urls?` | `string`[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:41 - ---- - -### Call - -Ƭ **Call**: `Object` - -#### Type declaration - -| Name | Type | -| :----------------- | :----------------------------------------------------- | -| `contract_address` | [`Address`](types.RPC.RPCSPEC08.WALLET_API.md#address) | -| `entry_point` | `string` | -| `calldata?` | [`FELT`](types.RPC.RPCSPEC08.API.md#felt)[] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:50 - ---- - -### API_VERSION - -Ƭ **API_VERSION**: `string` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/components.d.ts:126 - ---- - -### RpcMessage - -Ƭ **RpcMessage**: \{ [K in keyof RpcTypeToMessageMap]: Object & RpcTypeToMessageMap[K] }[keyof [`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:125 - ---- - -### IsParamsOptional - -Ƭ **IsParamsOptional**<`T`\>: `undefined` extends [`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md)[`T`][``"params"``] ? `true` : `false` - -#### Type parameters - -| Name | Type | -| :--- | :--------------------------------------------------------------------------------------------------------- | -| `T` | extends keyof [`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md) | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:130 - ---- - -### RequestFnCall - -Ƭ **RequestFnCall**<`T`\>: \{ `type`: `T` } & [`IsParamsOptional`](types.RPC.RPCSPEC08.WALLET_API.md#isparamsoptional)<`T`\> extends `true` ? \{ `params?`: [`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md)[`T`][``"params"``] } : \{ `params`: [`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md)[`T`][``"params"``] } - -#### Type parameters - -| Name | Type | -| :--- | :------------------------------------------------------------------------------- | -| `T` | extends [`RpcMessage`](types.RPC.RPCSPEC08.WALLET_API.md#rpcmessage)[``"type"``] | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:131 - ---- - -### RequestFn - -Ƭ **RequestFn**: (`call`: [`RequestFnCall`](types.RPC.RPCSPEC08.WALLET_API.md#requestfncall)<`T`\>) => `Promise`<[`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md)[`T`][``"result"``]\> - -#### Type declaration - -▸ <`T`\>(`call`): `Promise`<[`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md)[`T`][``"result"``]\> - -##### Type parameters - -| Name | Type | -| :--- | :------------------------------------------------------------------------------- | -| `T` | extends [`RpcMessage`](types.RPC.RPCSPEC08.WALLET_API.md#rpcmessage)[``"type"``] | - -##### Parameters - -| Name | Type | -| :----- | :----------------------------------------------------------------------- | -| `call` | [`RequestFnCall`](types.RPC.RPCSPEC08.WALLET_API.md#requestfncall)<`T`\> | - -##### Returns - -`Promise`<[`RpcTypeToMessageMap`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md)[`T`][``"result"``]\> - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/methods.d.ts:138 - ---- - -### AccountChangeEventHandler - -Ƭ **AccountChangeEventHandler**: (`accounts?`: `string`[]) => `void` - -#### Type declaration - -▸ (`accounts?`): `void` - -##### Parameters - -| Name | Type | -| :---------- | :--------- | -| `accounts?` | `string`[] | - -##### Returns - -`void` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/events.d.ts:2 - ---- - -### NetworkChangeEventHandler - -Ƭ **NetworkChangeEventHandler**: (`chainId?`: [`ChainId`](types.RPC.RPCSPEC08.API.md#chainid), `accounts?`: `string`[]) => `void` - -#### Type declaration - -▸ (`chainId?`, `accounts?`): `void` - -##### Parameters - -| Name | Type | -| :---------- | :---------------------------------------------- | -| `chainId?` | [`ChainId`](types.RPC.RPCSPEC08.API.md#chainid) | -| `accounts?` | `string`[] | - -##### Returns - -`void` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/events.d.ts:3 - ---- - -### WalletEvents - -Ƭ **WalletEvents**: \{ [E in keyof WalletEventHandlers]: Object }[keyof [`WalletEventHandlers`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md)] - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/events.d.ts:8 - ---- - -### WalletEventListener - -Ƭ **WalletEventListener**: (`event`: `E`, `handleEvent`: [`WalletEventHandlers`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md)[`E`]) => `void` - -#### Type declaration - -▸ <`E`\>(`event`, `handleEvent`): `void` - -##### Type parameters - -| Name | Type | -| :--- | :--------------------------------------------------------------------------------------------------------- | -| `E` | extends keyof [`WalletEventHandlers`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md) | - -##### Parameters - -| Name | Type | -| :------------ | :------------------------------------------------------------------------------------------------ | -| `event` | `E` | -| `handleEvent` | [`WalletEventHandlers`](../interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md)[`E`] | - -##### Returns - -`void` - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/events.d.ts:14 - -## Variables - -### Permission - -• `Const` **Permission**: `Object` - -#### Type declaration - -| Name | Type | -| :--------- | :----------- | -| `ACCOUNTS` | `"accounts"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/constants.d.ts:1 - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/constants.d.ts:4 - ---- - -### TypedDataRevision - -• `Const` **TypedDataRevision**: `Object` - -#### Type declaration - -| Name | Type | -| :------- | :---- | -| `ACTIVE` | `"1"` | -| `LEGACY` | `"0"` | - -#### Defined in - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:11 - -node_modules/@starknet-io/starknet-types-08/dist/types/wallet-api/typedData.d.ts:15 diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.md b/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.md deleted file mode 100644 index ccbdc6552..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.RPCSPEC08.md +++ /dev/null @@ -1,1952 +0,0 @@ ---- -id: 'types.RPC.RPCSPEC08' -title: 'Namespace: RPCSPEC08' -sidebar_label: 'RPCSPEC08' -custom_edit_url: null ---- - -[types](types.md).[RPC](types.RPC.md).RPCSPEC08 - -## Namespaces - -- [API](types.RPC.RPCSPEC08.API.md) -- [WALLET_API](types.RPC.RPCSPEC08.WALLET_API.md) -- [PAYMASTER_API](types.RPC.RPCSPEC08.PAYMASTER_API.md) - -## References - -### CONTRACT - -Re-exports [CONTRACT](types.RPC.RPCSPEC08.API.CONTRACT.md) - ---- - -### Methods - -Re-exports [Methods](types.RPC.RPCSPEC08.API.md#methods) - ---- - -### WebSocketMethods - -Re-exports [WebSocketMethods](types.RPC.RPCSPEC08.API.md#websocketmethods) - ---- - -### WebSocketEvents - -Re-exports [WebSocketEvents](types.RPC.RPCSPEC08.API.md#websocketevents) - ---- - -### FAILED_TO_RECEIVE_TXN - -Re-exports [FAILED_TO_RECEIVE_TXN](../interfaces/types.RPC.RPCSPEC08.API.FAILED_TO_RECEIVE_TXN.md) - ---- - -### NO_TRACE_AVAILABLE - -Re-exports [NO_TRACE_AVAILABLE](../interfaces/types.RPC.RPCSPEC08.API.NO_TRACE_AVAILABLE.md) - ---- - -### CONTRACT_NOT_FOUND - -Re-exports [CONTRACT_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.CONTRACT_NOT_FOUND.md) - ---- - -### ENTRYPOINT_NOT_FOUND - -Re-exports [ENTRYPOINT_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.ENTRYPOINT_NOT_FOUND.md) - ---- - -### BLOCK_NOT_FOUND - -Re-exports [BLOCK_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md) - ---- - -### INVALID_TXN_INDEX - -Re-exports [INVALID_TXN_INDEX](../interfaces/types.RPC.RPCSPEC08.API.INVALID_TXN_INDEX.md) - ---- - -### CLASS_HASH_NOT_FOUND - -Re-exports [CLASS_HASH_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.CLASS_HASH_NOT_FOUND.md) - ---- - -### TXN_HASH_NOT_FOUND - -Re-exports [TXN_HASH_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.TXN_HASH_NOT_FOUND.md) - ---- - -### PAGE_SIZE_TOO_BIG - -Re-exports [PAGE_SIZE_TOO_BIG](../interfaces/types.RPC.RPCSPEC08.API.PAGE_SIZE_TOO_BIG.md) - ---- - -### NO_BLOCKS - -Re-exports [NO_BLOCKS](../interfaces/types.RPC.RPCSPEC08.API.NO_BLOCKS.md) - ---- - -### INVALID_CONTINUATION_TOKEN - -Re-exports [INVALID_CONTINUATION_TOKEN](../interfaces/types.RPC.RPCSPEC08.API.INVALID_CONTINUATION_TOKEN.md) - ---- - -### TOO_MANY_KEYS_IN_FILTER - -Re-exports [TOO_MANY_KEYS_IN_FILTER](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER.md) - ---- - -### CONTRACT_ERROR - -Re-exports [CONTRACT_ERROR](../interfaces/types.RPC.RPCSPEC08.API.CONTRACT_ERROR.md) - ---- - -### TRANSACTION_EXECUTION_ERROR - -Re-exports [TRANSACTION_EXECUTION_ERROR](../interfaces/types.RPC.RPCSPEC08.API.TRANSACTION_EXECUTION_ERROR.md) - ---- - -### STORAGE_PROOF_NOT_SUPPORTED - -Re-exports [STORAGE_PROOF_NOT_SUPPORTED](../interfaces/types.RPC.RPCSPEC08.API.STORAGE_PROOF_NOT_SUPPORTED.md) - ---- - -### CLASS_ALREADY_DECLARED - -Re-exports [CLASS_ALREADY_DECLARED](../interfaces/types.RPC.RPCSPEC08.API.CLASS_ALREADY_DECLARED.md) - ---- - -### INVALID_TRANSACTION_NONCE - -Re-exports [INVALID_TRANSACTION_NONCE](../interfaces/types.RPC.RPCSPEC08.API.INVALID_TRANSACTION_NONCE.md) - ---- - -### INSUFFICIENT_RESOURCES_FOR_VALIDATE - -Re-exports [INSUFFICIENT_RESOURCES_FOR_VALIDATE](../interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_RESOURCES_FOR_VALIDATE.md) - ---- - -### INSUFFICIENT_ACCOUNT_BALANCE - -Re-exports [INSUFFICIENT_ACCOUNT_BALANCE](../interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_ACCOUNT_BALANCE.md) - ---- - -### VALIDATION_FAILURE - -Re-exports [VALIDATION_FAILURE](../interfaces/types.RPC.RPCSPEC08.API.VALIDATION_FAILURE.md) - ---- - -### COMPILATION_FAILED - -Re-exports [COMPILATION_FAILED](../interfaces/types.RPC.RPCSPEC08.API.COMPILATION_FAILED.md) - ---- - -### CONTRACT_CLASS_SIZE_IS_TOO_LARGE - -Re-exports [CONTRACT_CLASS_SIZE_IS_TOO_LARGE](../interfaces/types.RPC.RPCSPEC08.API.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md) - ---- - -### NON_ACCOUNT - -Re-exports [NON_ACCOUNT](../interfaces/types.RPC.RPCSPEC08.API.NON_ACCOUNT.md) - ---- - -### DUPLICATE_TX - -Re-exports [DUPLICATE_TX](../interfaces/types.RPC.RPCSPEC08.API.DUPLICATE_TX.md) - ---- - -### COMPILED_CLASS_HASH_MISMATCH - -Re-exports [COMPILED_CLASS_HASH_MISMATCH](../interfaces/types.RPC.RPCSPEC08.API.COMPILED_CLASS_HASH_MISMATCH.md) - ---- - -### UNSUPPORTED_TX_VERSION - -Re-exports [UNSUPPORTED_TX_VERSION](../interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_TX_VERSION.md) - ---- - -### UNSUPPORTED_CONTRACT_CLASS_VERSION - -Re-exports [UNSUPPORTED_CONTRACT_CLASS_VERSION](../interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_CONTRACT_CLASS_VERSION.md) - ---- - -### UNEXPECTED_ERROR - -Re-exports [UNEXPECTED_ERROR](../interfaces/types.RPC.RPCSPEC08.API.UNEXPECTED_ERROR.md) - ---- - -### INVALID_SUBSCRIPTION_ID - -Re-exports [INVALID_SUBSCRIPTION_ID](../interfaces/types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID.md) - ---- - -### TOO_MANY_ADDRESSES_IN_FILTER - -Re-exports [TOO_MANY_ADDRESSES_IN_FILTER](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER.md) - ---- - -### TOO_MANY_BLOCKS_BACK - -Re-exports [TOO_MANY_BLOCKS_BACK](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md) - ---- - -### COMPILATION_ERROR - -Re-exports [COMPILATION_ERROR](../interfaces/types.RPC.RPCSPEC08.API.COMPILATION_ERROR.md) - ---- - -### FELT - -Re-exports [FELT](types.RPC.RPCSPEC08.API.md#felt) - ---- - -### ETH_ADDRESS - -Re-exports [ETH_ADDRESS](types.RPC.RPCSPEC08.API.md#eth_address) - ---- - -### STORAGE_KEY - -Re-exports [STORAGE_KEY](types.RPC.RPCSPEC08.API.md#storage_key) - ---- - -### ADDRESS - -Re-exports [ADDRESS](types.RPC.RPCSPEC08.API.md#address) - ---- - -### NUM_AS_HEX - -Re-exports [NUM_AS_HEX](types.RPC.RPCSPEC08.API.md#num_as_hex) - ---- - -### u64 - -Re-exports [u64](types.RPC.RPCSPEC08.API.md#u64) - ---- - -### u128 - -Re-exports [u128](types.RPC.RPCSPEC08.API.md#u128) - ---- - -### SIGNATURE - -Re-exports [SIGNATURE](types.RPC.RPCSPEC08.API.md#signature) - ---- - -### BLOCK_NUMBER - -Re-exports [BLOCK_NUMBER](types.RPC.RPCSPEC08.API.md#block_number) - ---- - -### BLOCK_HASH - -Re-exports [BLOCK_HASH](types.RPC.RPCSPEC08.API.md#block_hash) - ---- - -### TXN_HASH - -Re-exports [TXN_HASH](types.RPC.RPCSPEC08.API.md#txn_hash) - ---- - -### L1_TXN_HASH - -Re-exports [L1_TXN_HASH](types.RPC.RPCSPEC08.API.md#l1_txn_hash) - ---- - -### CHAIN_ID - -Re-exports [CHAIN_ID](types.RPC.RPCSPEC08.API.md#chain_id) - ---- - -### STATE_MUTABILITY - -Re-exports [STATE_MUTABILITY](types.RPC.RPCSPEC08.API.md#state_mutability) - ---- - -### FUNCTION_ABI_TYPE - -Re-exports [FUNCTION_ABI_TYPE](types.RPC.RPCSPEC08.API.md#function_abi_type) - ---- - -### ABI_NAME_AND_TYPE - -Re-exports [ABI_NAME_AND_TYPE](types.RPC.RPCSPEC08.API.md#abi_name_and_type) - ---- - -### ABI_TYPE - -Re-exports [ABI_TYPE](types.RPC.RPCSPEC08.API.md#abi_type) - ---- - -### ENTRY_POINT_TYPE - -Re-exports [ENTRY_POINT_TYPE](types.RPC.RPCSPEC08.API.md#entry_point_type) - ---- - -### TXN_STATUS - -Re-exports [TXN_STATUS](types.RPC.RPCSPEC08.API.md#txn_status) - ---- - -### SIMULATION_FLAG - -Re-exports [SIMULATION_FLAG](types.RPC.RPCSPEC08.API.md#simulation_flag) - ---- - -### DA_MODE - -Re-exports [DA_MODE](types.RPC.RPCSPEC08.API.md#da_mode) - ---- - -### TXN_TYPE - -Re-exports [TXN_TYPE](types.RPC.RPCSPEC08.API.md#txn_type) - ---- - -### TXN_FINALITY_STATUS - -Re-exports [TXN_FINALITY_STATUS](types.RPC.RPCSPEC08.API.md#txn_finality_status) - ---- - -### TXN_EXECUTION_STATUS - -Re-exports [TXN_EXECUTION_STATUS](types.RPC.RPCSPEC08.API.md#txn_execution_status) - ---- - -### BLOCK_STATUS - -Re-exports [BLOCK_STATUS](types.RPC.RPCSPEC08.API.md#block_status) - ---- - -### BLOCK_SELECTOR - -Re-exports [BLOCK_SELECTOR](types.RPC.RPCSPEC08.API.md#block_selector) - ---- - -### BLOCK_TAG - -Re-exports [BLOCK_TAG](types.RPC.RPCSPEC08.API.md#block_tag) - ---- - -### SUBSCRIPTION_BLOCK_TAG - -Re-exports [SUBSCRIPTION_BLOCK_TAG](types.RPC.RPCSPEC08.API.md#subscription_block_tag) - ---- - -### SUBSCRIPTION_ID - -Re-exports [SUBSCRIPTION_ID](types.RPC.RPCSPEC08.API.md#subscription_id) - ---- - -### NEW_TXN_STATUS - -Re-exports [NEW_TXN_STATUS](types.RPC.RPCSPEC08.API.md#new_txn_status) - ---- - -### REORG_DATA - -Re-exports [REORG_DATA](types.RPC.RPCSPEC08.API.md#reorg_data) - ---- - -### SubscriptionNewHeadsResponse - -Re-exports [SubscriptionNewHeadsResponse](types.RPC.RPCSPEC08.API.md#subscriptionnewheadsresponse) - ---- - -### SubscriptionEventsResponse - -Re-exports [SubscriptionEventsResponse](types.RPC.RPCSPEC08.API.md#subscriptioneventsresponse) - ---- - -### SubscriptionTransactionsStatusResponse - -Re-exports [SubscriptionTransactionsStatusResponse](types.RPC.RPCSPEC08.API.md#subscriptiontransactionsstatusresponse) - ---- - -### SubscriptionPendingTransactionsResponse - -Re-exports [SubscriptionPendingTransactionsResponse](types.RPC.RPCSPEC08.API.md#subscriptionpendingtransactionsresponse) - ---- - -### SubscriptionReorgResponse - -Re-exports [SubscriptionReorgResponse](types.RPC.RPCSPEC08.API.md#subscriptionreorgresponse) - ---- - -### EVENTS_CHUNK - -Re-exports [EVENTS_CHUNK](types.RPC.RPCSPEC08.API.md#events_chunk) - ---- - -### RESULT_PAGE_REQUEST - -Re-exports [RESULT_PAGE_REQUEST](types.RPC.RPCSPEC08.API.md#result_page_request) - ---- - -### EMITTED_EVENT - -Re-exports [EMITTED_EVENT](types.RPC.RPCSPEC08.API.md#emitted_event) - ---- - -### EVENT - -Re-exports [EVENT](types.RPC.RPCSPEC08.API.md#event) - ---- - -### EVENT_CONTENT - -Re-exports [EVENT_CONTENT](types.RPC.RPCSPEC08.API.md#event_content) - ---- - -### EVENT_KEYS - -Re-exports [EVENT_KEYS](types.RPC.RPCSPEC08.API.md#event_keys) - ---- - -### EVENT_FILTER - -Re-exports [EVENT_FILTER](types.RPC.RPCSPEC08.API.md#event_filter) - ---- - -### BLOCK_ID - -Re-exports [BLOCK_ID](types.RPC.RPCSPEC08.API.md#block_id) - ---- - -### SUBSCRIPTION_BLOCK_ID - -Re-exports [SUBSCRIPTION_BLOCK_ID](types.RPC.RPCSPEC08.API.md#subscription_block_id) - ---- - -### SYNC_STATUS - -Re-exports [SYNC_STATUS](types.RPC.RPCSPEC08.API.md#sync_status) - ---- - -### NEW_CLASSES - -Re-exports [NEW_CLASSES](types.RPC.RPCSPEC08.API.md#new_classes) - ---- - -### REPLACED_CLASS - -Re-exports [REPLACED_CLASS](types.RPC.RPCSPEC08.API.md#replaced_class) - ---- - -### NONCE_UPDATE - -Re-exports [NONCE_UPDATE](types.RPC.RPCSPEC08.API.md#nonce_update) - ---- - -### STATE_DIFF - -Re-exports [STATE_DIFF](types.RPC.RPCSPEC08.API.md#state_diff) - ---- - -### PENDING_STATE_UPDATE - -Re-exports [PENDING_STATE_UPDATE](types.RPC.RPCSPEC08.API.md#pending_state_update) - ---- - -### STATE_UPDATE - -Re-exports [STATE_UPDATE](types.RPC.RPCSPEC08.API.md#state_update) - ---- - -### BLOCK_BODY_WITH_TX_HASHES - -Re-exports [BLOCK_BODY_WITH_TX_HASHES](types.RPC.RPCSPEC08.API.md#block_body_with_tx_hashes) - ---- - -### BLOCK_BODY_WITH_TXS - -Re-exports [BLOCK_BODY_WITH_TXS](types.RPC.RPCSPEC08.API.md#block_body_with_txs) - ---- - -### BLOCK_BODY_WITH_RECEIPTS - -Re-exports [BLOCK_BODY_WITH_RECEIPTS](types.RPC.RPCSPEC08.API.md#block_body_with_receipts) - ---- - -### BLOCK_HEADER - -Re-exports [BLOCK_HEADER](types.RPC.RPCSPEC08.API.md#block_header) - ---- - -### PENDING_BLOCK_HEADER - -Re-exports [PENDING_BLOCK_HEADER](types.RPC.RPCSPEC08.API.md#pending_block_header) - ---- - -### BLOCK_WITH_TX_HASHES - -Re-exports [BLOCK_WITH_TX_HASHES](types.RPC.RPCSPEC08.API.md#block_with_tx_hashes) - ---- - -### BLOCK_WITH_TXS - -Re-exports [BLOCK_WITH_TXS](types.RPC.RPCSPEC08.API.md#block_with_txs) - ---- - -### BLOCK_WITH_RECEIPTS - -Re-exports [BLOCK_WITH_RECEIPTS](types.RPC.RPCSPEC08.API.md#block_with_receipts) - ---- - -### PENDING_BLOCK_WITH_TX_HASHES - -Re-exports [PENDING_BLOCK_WITH_TX_HASHES](types.RPC.RPCSPEC08.API.md#pending_block_with_tx_hashes) - ---- - -### PENDING_BLOCK_WITH_TXS - -Re-exports [PENDING_BLOCK_WITH_TXS](types.RPC.RPCSPEC08.API.md#pending_block_with_txs) - ---- - -### PENDING_BLOCK_WITH_RECEIPTS - -Re-exports [PENDING_BLOCK_WITH_RECEIPTS](types.RPC.RPCSPEC08.API.md#pending_block_with_receipts) - ---- - -### DEPLOYED_CONTRACT_ITEM - -Re-exports [DEPLOYED_CONTRACT_ITEM](types.RPC.RPCSPEC08.API.md#deployed_contract_item) - ---- - -### CONTRACT_STORAGE_DIFF_ITEM - -Re-exports [CONTRACT_STORAGE_DIFF_ITEM](types.RPC.RPCSPEC08.API.md#contract_storage_diff_item) - ---- - -### StorageDiffItem - -Re-exports [StorageDiffItem](types.RPC.RPCSPEC08.API.md#storagediffitem) - ---- - -### TXN - -Re-exports [TXN](types.RPC.RPCSPEC08.API.md#txn) - ---- - -### TXN_WITH_HASH - -Re-exports [TXN_WITH_HASH](types.RPC.RPCSPEC08.API.md#txn_with_hash) - ---- - -### DECLARE_TXN - -Re-exports [DECLARE_TXN](types.RPC.RPCSPEC08.API.md#declare_txn) - ---- - -### DECLARE_TXN_V0 - -Re-exports [DECLARE_TXN_V0](types.RPC.RPCSPEC08.API.md#declare_txn_v0) - ---- - -### DECLARE_TXN_V1 - -Re-exports [DECLARE_TXN_V1](types.RPC.RPCSPEC08.API.md#declare_txn_v1) - ---- - -### DECLARE_TXN_V2 - -Re-exports [DECLARE_TXN_V2](types.RPC.RPCSPEC08.API.md#declare_txn_v2) - ---- - -### DECLARE_TXN_V3 - -Re-exports [DECLARE_TXN_V3](types.RPC.RPCSPEC08.API.md#declare_txn_v3) - ---- - -### BROADCASTED_TXN - -Re-exports [BROADCASTED_TXN](types.RPC.RPCSPEC08.API.md#broadcasted_txn) - ---- - -### BROADCASTED_INVOKE_TXN - -Re-exports [BROADCASTED_INVOKE_TXN](types.RPC.RPCSPEC08.API.md#broadcasted_invoke_txn) - ---- - -### BROADCASTED_DEPLOY_ACCOUNT_TXN - -Re-exports [BROADCASTED_DEPLOY_ACCOUNT_TXN](types.RPC.RPCSPEC08.API.md#broadcasted_deploy_account_txn) - ---- - -### BROADCASTED_DECLARE_TXN - -Re-exports [BROADCASTED_DECLARE_TXN](types.RPC.RPCSPEC08.API.md#broadcasted_declare_txn) - ---- - -### BROADCASTED_DECLARE_TXN_V3 - -Re-exports [BROADCASTED_DECLARE_TXN_V3](types.RPC.RPCSPEC08.API.md#broadcasted_declare_txn_v3) - ---- - -### DEPLOY_ACCOUNT_TXN - -Re-exports [DEPLOY_ACCOUNT_TXN](types.RPC.RPCSPEC08.API.md#deploy_account_txn) - ---- - -### DEPLOY_ACCOUNT_TXN_V1 - -Re-exports [DEPLOY_ACCOUNT_TXN_V1](types.RPC.RPCSPEC08.API.md#deploy_account_txn_v1) - ---- - -### DEPLOY_ACCOUNT_TXN_V3 - -Re-exports [DEPLOY_ACCOUNT_TXN_V3](types.RPC.RPCSPEC08.API.md#deploy_account_txn_v3) - ---- - -### DEPLOY_TXN - -Re-exports [DEPLOY_TXN](types.RPC.RPCSPEC08.API.md#deploy_txn) - ---- - -### INVOKE_TXN - -Re-exports [INVOKE_TXN](types.RPC.RPCSPEC08.API.md#invoke_txn) - ---- - -### INVOKE_TXN_V0 - -Re-exports [INVOKE_TXN_V0](types.RPC.RPCSPEC08.API.md#invoke_txn_v0) - ---- - -### INVOKE_TXN_V1 - -Re-exports [INVOKE_TXN_V1](types.RPC.RPCSPEC08.API.md#invoke_txn_v1) - ---- - -### INVOKE_TXN_V3 - -Re-exports [INVOKE_TXN_V3](types.RPC.RPCSPEC08.API.md#invoke_txn_v3) - ---- - -### L1_HANDLER_TXN - -Re-exports [L1_HANDLER_TXN](types.RPC.RPCSPEC08.API.md#l1_handler_txn) - ---- - -### COMMON_RECEIPT_PROPERTIES - -Re-exports [COMMON_RECEIPT_PROPERTIES](types.RPC.RPCSPEC08.API.md#common_receipt_properties) - ---- - -### INVOKE_TXN_RECEIPT - -Re-exports [INVOKE_TXN_RECEIPT](types.RPC.RPCSPEC08.API.md#invoke_txn_receipt) - ---- - -### DECLARE_TXN_RECEIPT - -Re-exports [DECLARE_TXN_RECEIPT](types.RPC.RPCSPEC08.API.md#declare_txn_receipt) - ---- - -### DEPLOY_ACCOUNT_TXN_RECEIPT - -Re-exports [DEPLOY_ACCOUNT_TXN_RECEIPT](types.RPC.RPCSPEC08.API.md#deploy_account_txn_receipt) - ---- - -### DEPLOY_TXN_RECEIPT - -Re-exports [DEPLOY_TXN_RECEIPT](types.RPC.RPCSPEC08.API.md#deploy_txn_receipt) - ---- - -### L1_HANDLER_TXN_RECEIPT - -Re-exports [L1_HANDLER_TXN_RECEIPT](types.RPC.RPCSPEC08.API.md#l1_handler_txn_receipt) - ---- - -### TXN_RECEIPT - -Re-exports [TXN_RECEIPT](types.RPC.RPCSPEC08.API.md#txn_receipt) - ---- - -### TXN_RECEIPT_WITH_BLOCK_INFO - -Re-exports [TXN_RECEIPT_WITH_BLOCK_INFO](types.RPC.RPCSPEC08.API.md#txn_receipt_with_block_info) - ---- - -### MSG_TO_L1 - -Re-exports [MSG_TO_L1](types.RPC.RPCSPEC08.API.md#msg_to_l1) - ---- - -### MSG_FROM_L1 - -Re-exports [MSG_FROM_L1](types.RPC.RPCSPEC08.API.md#msg_from_l1) - ---- - -### FUNCTION_CALL - -Re-exports [FUNCTION_CALL](types.RPC.RPCSPEC08.API.md#function_call) - ---- - -### CONTRACT_CLASS - -Re-exports [CONTRACT_CLASS](types.RPC.RPCSPEC08.API.md#contract_class) - ---- - -### DEPRECATED_CONTRACT_CLASS - -Re-exports [DEPRECATED_CONTRACT_CLASS](types.RPC.RPCSPEC08.API.md#deprecated_contract_class) - ---- - -### DEPRECATED_CAIRO_ENTRY_POINT - -Re-exports [DEPRECATED_CAIRO_ENTRY_POINT](types.RPC.RPCSPEC08.API.md#deprecated_cairo_entry_point) - ---- - -### SIERRA_ENTRY_POINT - -Re-exports [SIERRA_ENTRY_POINT](types.RPC.RPCSPEC08.API.md#sierra_entry_point) - ---- - -### CONTRACT_ABI - -Re-exports [CONTRACT_ABI](types.RPC.RPCSPEC08.API.md#contract_abi) - ---- - -### CONTRACT_ABI_ENTRY - -Re-exports [CONTRACT_ABI_ENTRY](types.RPC.RPCSPEC08.API.md#contract_abi_entry) - ---- - -### STRUCT_ABI_ENTRY - -Re-exports [STRUCT_ABI_ENTRY](types.RPC.RPCSPEC08.API.md#struct_abi_entry) - ---- - -### STRUCT_MEMBER - -Re-exports [STRUCT_MEMBER](types.RPC.RPCSPEC08.API.md#struct_member) - ---- - -### EVENT_ABI_ENTRY - -Re-exports [EVENT_ABI_ENTRY](types.RPC.RPCSPEC08.API.md#event_abi_entry) - ---- - -### FUNCTION_STATE_MUTABILITY - -Re-exports [FUNCTION_STATE_MUTABILITY](types.RPC.RPCSPEC08.API.md#function_state_mutability) - ---- - -### FUNCTION_ABI_ENTRY - -Re-exports [FUNCTION_ABI_ENTRY](types.RPC.RPCSPEC08.API.md#function_abi_entry) - ---- - -### TYPED_PARAMETER - -Re-exports [TYPED_PARAMETER](types.RPC.RPCSPEC08.API.md#typed_parameter) - ---- - -### SIMULATION_FLAG_FOR_ESTIMATE_FEE - -Re-exports [SIMULATION_FLAG_FOR_ESTIMATE_FEE](types.RPC.RPCSPEC08.API.md#simulation_flag_for_estimate_fee) - ---- - -### PRICE_UNIT - -Re-exports [PRICE_UNIT](types.RPC.RPCSPEC08.API.md#price_unit) - ---- - -### FEE_ESTIMATE - -Re-exports [FEE_ESTIMATE](types.RPC.RPCSPEC08.API.md#fee_estimate) - ---- - -### FEE_PAYMENT - -Re-exports [FEE_PAYMENT](types.RPC.RPCSPEC08.API.md#fee_payment) - ---- - -### RESOURCE_BOUNDS_MAPPING - -Re-exports [RESOURCE_BOUNDS_MAPPING](types.RPC.RPCSPEC08.API.md#resource_bounds_mapping) - ---- - -### RESOURCE_BOUNDS - -Re-exports [RESOURCE_BOUNDS](types.RPC.RPCSPEC08.API.md#resource_bounds) - ---- - -### RESOURCE_PRICE - -Re-exports [RESOURCE_PRICE](types.RPC.RPCSPEC08.API.md#resource_price) - ---- - -### EXECUTION_RESOURCES - -Re-exports [EXECUTION_RESOURCES](types.RPC.RPCSPEC08.API.md#execution_resources) - ---- - -### MERKLE_NODE - -Re-exports [MERKLE_NODE](types.RPC.RPCSPEC08.API.md#merkle_node) - ---- - -### BINARY_NODE - -Re-exports [BINARY_NODE](types.RPC.RPCSPEC08.API.md#binary_node) - ---- - -### EDGE_NODE - -Re-exports [EDGE_NODE](types.RPC.RPCSPEC08.API.md#edge_node) - ---- - -### NODE_HASH_TO_NODE_MAPPING - -Re-exports [NODE_HASH_TO_NODE_MAPPING](types.RPC.RPCSPEC08.API.md#node_hash_to_node_mapping) - ---- - -### CONTRACT_EXECUTION_ERROR - -Re-exports [CONTRACT_EXECUTION_ERROR](types.RPC.RPCSPEC08.API.md#contract_execution_error) - ---- - -### CONTRACT_EXECUTION_ERROR_INNER - -Re-exports [CONTRACT_EXECUTION_ERROR_INNER](types.RPC.RPCSPEC08.API.md#contract_execution_error_inner) - ---- - -### TRANSACTION_TRACE - -Re-exports [TRANSACTION_TRACE](types.RPC.RPCSPEC08.API.md#transaction_trace) - ---- - -### INVOKE_TXN_TRACE - -Re-exports [INVOKE_TXN_TRACE](types.RPC.RPCSPEC08.API.md#invoke_txn_trace) - ---- - -### DECLARE_TXN_TRACE - -Re-exports [DECLARE_TXN_TRACE](types.RPC.RPCSPEC08.API.md#declare_txn_trace) - ---- - -### DEPLOY_ACCOUNT_TXN_TRACE - -Re-exports [DEPLOY_ACCOUNT_TXN_TRACE](types.RPC.RPCSPEC08.API.md#deploy_account_txn_trace) - ---- - -### L1_HANDLER_TXN_TRACE - -Re-exports [L1_HANDLER_TXN_TRACE](types.RPC.RPCSPEC08.API.md#l1_handler_txn_trace) - ---- - -### NESTED_CALL - -Re-exports [NESTED_CALL](types.RPC.RPCSPEC08.API.md#nested_call) - ---- - -### FUNCTION_INVOCATION - -Re-exports [FUNCTION_INVOCATION](types.RPC.RPCSPEC08.API.md#function_invocation) - ---- - -### INNER_CALL_EXECUTION_RESOURCES - -Re-exports [INNER_CALL_EXECUTION_RESOURCES](types.RPC.RPCSPEC08.API.md#inner_call_execution_resources) - ---- - -### ORDERED_EVENT - -Re-exports [ORDERED_EVENT](types.RPC.RPCSPEC08.API.md#ordered_event) - ---- - -### ORDERED_MESSAGE - -Re-exports [ORDERED_MESSAGE](types.RPC.RPCSPEC08.API.md#ordered_message) - ---- - -### TXN_STATUS_RESULT - -Re-exports [TXN_STATUS_RESULT](types.RPC.RPCSPEC08.API.md#txn_status_result) - ---- - -### CONTRACT_STORAGE_KEYS - -Re-exports [CONTRACT_STORAGE_KEYS](types.RPC.RPCSPEC08.API.md#contract_storage_keys) - ---- - -### ContractClass - -Re-exports [ContractClass](types.RPC.RPCSPEC08.API.md#contractclass) - ---- - -### SimulateTransaction - -Re-exports [SimulateTransaction](types.RPC.RPCSPEC08.API.md#simulatetransaction) - ---- - -### SimulateTransactionResponse - -Re-exports [SimulateTransactionResponse](types.RPC.RPCSPEC08.API.md#simulatetransactionresponse) - ---- - -### FeeEstimate - -Re-exports [FeeEstimate](types.RPC.RPCSPEC08.API.md#feeestimate) - ---- - -### TransactionWithHash - -Re-exports [TransactionWithHash](types.RPC.RPCSPEC08.API.md#transactionwithhash) - ---- - -### BlockHashAndNumber - -Re-exports [BlockHashAndNumber](types.RPC.RPCSPEC08.API.md#blockhashandnumber) - ---- - -### BlockWithTxs - -Re-exports [BlockWithTxs](types.RPC.RPCSPEC08.API.md#blockwithtxs) - ---- - -### BlockWithTxHashes - -Re-exports [BlockWithTxHashes](types.RPC.RPCSPEC08.API.md#blockwithtxhashes) - ---- - -### BlockWithTxReceipts - -Re-exports [BlockWithTxReceipts](types.RPC.RPCSPEC08.API.md#blockwithtxreceipts) - ---- - -### StateUpdate - -Re-exports [StateUpdate](types.RPC.RPCSPEC08.API.md#stateupdate) - ---- - -### BlockTransactionsTraces - -Re-exports [BlockTransactionsTraces](types.RPC.RPCSPEC08.API.md#blocktransactionstraces) - ---- - -### Syncing - -Re-exports [Syncing](types.RPC.RPCSPEC08.API.md#syncing) - ---- - -### Events - -Re-exports [Events](types.RPC.RPCSPEC08.API.md#events) - ---- - -### EmittedEvent - -Re-exports [EmittedEvent](types.RPC.RPCSPEC08.API.md#emittedevent) - ---- - -### Event - -Re-exports [Event](types.RPC.RPCSPEC08.API.md#event-1) - ---- - -### InvokedTransaction - -Re-exports [InvokedTransaction](types.RPC.RPCSPEC08.API.md#invokedtransaction) - ---- - -### DeclaredTransaction - -Re-exports [DeclaredTransaction](types.RPC.RPCSPEC08.API.md#declaredtransaction) - ---- - -### DeployedAccountTransaction - -Re-exports [DeployedAccountTransaction](types.RPC.RPCSPEC08.API.md#deployedaccounttransaction) - ---- - -### L1L2MessagesStatus - -Re-exports [L1L2MessagesStatus](types.RPC.RPCSPEC08.API.md#l1l2messagesstatus) - ---- - -### StorageProof - -Re-exports [StorageProof](types.RPC.RPCSPEC08.API.md#storageproof) - ---- - -### CompiledCasm - -Re-exports [CompiledCasm](types.RPC.RPCSPEC08.API.md#compiledcasm) - ---- - -### ContractAddress - -Re-exports [ContractAddress](types.RPC.RPCSPEC08.API.md#contractaddress) - ---- - -### Felt - -Re-exports [Felt](types.RPC.RPCSPEC08.API.md#felt-1) - ---- - -### Nonce - -Re-exports [Nonce](types.RPC.RPCSPEC08.API.md#nonce) - ---- - -### TransactionHash - -Re-exports [TransactionHash](types.RPC.RPCSPEC08.API.md#transactionhash) - ---- - -### TransactionTrace - -Re-exports [TransactionTrace](types.RPC.RPCSPEC08.API.md#transactiontrace) - ---- - -### BlockHash - -Re-exports [BlockHash](types.RPC.RPCSPEC08.API.md#blockhash) - ---- - -### TransactionReceipt - -Re-exports [TransactionReceipt](types.RPC.RPCSPEC08.API.md#transactionreceipt) - ---- - -### TransactionReceiptProductionBlock - -Re-exports [TransactionReceiptProductionBlock](types.RPC.RPCSPEC08.API.md#transactionreceiptproductionblock) - ---- - -### TransactionReceiptPendingBlock - -Re-exports [TransactionReceiptPendingBlock](types.RPC.RPCSPEC08.API.md#transactionreceiptpendingblock) - ---- - -### EventFilter - -Re-exports [EventFilter](types.RPC.RPCSPEC08.API.md#eventfilter) - ---- - -### SimulationFlags - -Re-exports [SimulationFlags](types.RPC.RPCSPEC08.API.md#simulationflags) - ---- - -### L1Message - -Re-exports [L1Message](types.RPC.RPCSPEC08.API.md#l1message) - ---- - -### BaseTransaction - -Re-exports [BaseTransaction](types.RPC.RPCSPEC08.API.md#basetransaction) - ---- - -### ChainId - -Re-exports [ChainId](types.RPC.RPCSPEC08.API.md#chainid) - ---- - -### Transaction - -Re-exports [Transaction](types.RPC.RPCSPEC08.API.md#transaction) - ---- - -### TransactionStatus - -Re-exports [TransactionStatus](types.RPC.RPCSPEC08.API.md#transactionstatus) - ---- - -### ResourceBounds - -Re-exports [ResourceBounds](types.RPC.RPCSPEC08.API.md#resourcebounds) - ---- - -### FeePayment - -Re-exports [FeePayment](types.RPC.RPCSPEC08.API.md#feepayment) - ---- - -### PriceUnit - -Re-exports [PriceUnit](types.RPC.RPCSPEC08.API.md#priceunit) - ---- - -### L1L2MessageStatus - -Re-exports [L1L2MessageStatus](types.RPC.RPCSPEC08.API.md#l1l2messagestatus) - ---- - -### StorageDiffs - -Re-exports [StorageDiffs](types.RPC.RPCSPEC08.API.md#storagediffs) - ---- - -### DeprecatedDeclaredClasses - -Re-exports [DeprecatedDeclaredClasses](types.RPC.RPCSPEC08.API.md#deprecateddeclaredclasses) - ---- - -### NonceUpdates - -Re-exports [NonceUpdates](types.RPC.RPCSPEC08.API.md#nonceupdates) - ---- - -### ReplacedClasses - -Re-exports [ReplacedClasses](types.RPC.RPCSPEC08.API.md#replacedclasses) - ---- - -### STATUS_ACCEPTED_ON_L2 - -Re-exports [STATUS_ACCEPTED_ON_L2](types.RPC.RPCSPEC08.API.md#status_accepted_on_l2-1) - ---- - -### STATUS_ACCEPTED_ON_L1 - -Re-exports [STATUS_ACCEPTED_ON_L1](types.RPC.RPCSPEC08.API.md#status_accepted_on_l1-1) - ---- - -### STATUS_SUCCEEDED - -Re-exports [STATUS_SUCCEEDED](types.RPC.RPCSPEC08.API.md#status_succeeded-1) - ---- - -### STATUS_REVERTED - -Re-exports [STATUS_REVERTED](types.RPC.RPCSPEC08.API.md#status_reverted-1) - ---- - -### STATUS_PENDING - -Re-exports [STATUS_PENDING](types.RPC.RPCSPEC08.API.md#status_pending-1) - ---- - -### STATUS_REJECTED - -Re-exports [STATUS_REJECTED](types.RPC.RPCSPEC08.API.md#status_rejected-1) - ---- - -### STATUS_RECEIVED - -Re-exports [STATUS_RECEIVED](types.RPC.RPCSPEC08.API.md#status_received-1) - ---- - -### TXN_TYPE_DECLARE - -Re-exports [TXN_TYPE_DECLARE](types.RPC.RPCSPEC08.API.md#txn_type_declare-1) - ---- - -### TXN_TYPE_DEPLOY - -Re-exports [TXN_TYPE_DEPLOY](types.RPC.RPCSPEC08.API.md#txn_type_deploy-1) - ---- - -### TXN_TYPE_DEPLOY_ACCOUNT - -Re-exports [TXN_TYPE_DEPLOY_ACCOUNT](types.RPC.RPCSPEC08.API.md#txn_type_deploy_account-1) - ---- - -### TXN_TYPE_INVOKE - -Re-exports [TXN_TYPE_INVOKE](types.RPC.RPCSPEC08.API.md#txn_type_invoke-1) - ---- - -### TXN_TYPE_L1_HANDLER - -Re-exports [TXN_TYPE_L1_HANDLER](types.RPC.RPCSPEC08.API.md#txn_type_l1_handler-1) - ---- - -### STRUCT_ABI_TYPE - -Re-exports [STRUCT_ABI_TYPE](types.RPC.RPCSPEC08.API.md#struct_abi_type-1) - ---- - -### EVENT_ABI_TYPE - -Re-exports [EVENT_ABI_TYPE](types.RPC.RPCSPEC08.API.md#event_abi_type-1) - ---- - -### ABI_TYPE_FUNCTION - -Re-exports [ABI_TYPE_FUNCTION](types.RPC.RPCSPEC08.API.md#abi_type_function-1) - ---- - -### ABI_TYPE_CONSTRUCTOR - -Re-exports [ABI_TYPE_CONSTRUCTOR](types.RPC.RPCSPEC08.API.md#abi_type_constructor-1) - ---- - -### ABI_TYPE_L1_HANDLER - -Re-exports [ABI_TYPE_L1_HANDLER](types.RPC.RPCSPEC08.API.md#abi_type_l1_handler-1) - ---- - -### ABI_TYPE_ENUM - -Re-exports [ABI_TYPE_ENUM](types.RPC.RPCSPEC08.API.md#abi_type_enum-1) - ---- - -### STATE_MUTABILITY_VIEW - -Re-exports [STATE_MUTABILITY_VIEW](types.RPC.RPCSPEC08.API.md#state_mutability_view-1) - ---- - -### STATE_MUTABILITY_EXTERNAL - -Re-exports [STATE_MUTABILITY_EXTERNAL](types.RPC.RPCSPEC08.API.md#state_mutability_external-1) - ---- - -### PRICE_UNIT_WEI - -Re-exports [PRICE_UNIT_WEI](types.RPC.RPCSPEC08.API.md#price_unit_wei-1) - ---- - -### PRICE_UNIT_FRI - -Re-exports [PRICE_UNIT_FRI](types.RPC.RPCSPEC08.API.md#price_unit_fri-1) - ---- - -### L1_DA_MODE - -Re-exports [L1_DA_MODE](types.RPC.RPCSPEC08.API.md#l1_da_mode-1) - ---- - -### CALL_TYPE - -Re-exports [CALL_TYPE](types.RPC.RPCSPEC08.API.md#call_type-1) - ---- - -### ETransactionType - -Re-exports [ETransactionType](types.RPC.RPCSPEC08.API.md#etransactiontype-1) - ---- - -### ESimulationFlag - -Re-exports [ESimulationFlag](types.RPC.RPCSPEC08.API.md#esimulationflag-1) - ---- - -### ETransactionStatus - -Re-exports [ETransactionStatus](types.RPC.RPCSPEC08.API.md#etransactionstatus-1) - ---- - -### ETransactionFinalityStatus - -Re-exports [ETransactionFinalityStatus](types.RPC.RPCSPEC08.API.md#etransactionfinalitystatus-1) - ---- - -### ETransactionExecutionStatus - -Re-exports [ETransactionExecutionStatus](types.RPC.RPCSPEC08.API.md#etransactionexecutionstatus-1) - ---- - -### EBlockTag - -Re-exports [EBlockTag](types.RPC.RPCSPEC08.API.md#eblocktag-1) - ---- - -### EDataAvailabilityMode - -Re-exports [EDataAvailabilityMode](types.RPC.RPCSPEC08.API.md#edataavailabilitymode-1) - ---- - -### EDAMode - -Re-exports [EDAMode](types.RPC.RPCSPEC08.API.md#edamode-1) - ---- - -### ETransactionVersion - -Re-exports [ETransactionVersion](types.RPC.RPCSPEC08.API.md#etransactionversion-1) - ---- - -### ETransactionVersion2 - -Re-exports [ETransactionVersion2](types.RPC.RPCSPEC08.API.md#etransactionversion2-1) - ---- - -### ETransactionVersion3 - -Re-exports [ETransactionVersion3](types.RPC.RPCSPEC08.API.md#etransactionversion3-1) - ---- - -### CASM_COMPILED_CONTRACT_CLASS - -Re-exports [CASM_COMPILED_CONTRACT_CLASS](types.RPC.RPCSPEC08.API.md#casm_compiled_contract_class) - ---- - -### CASM_ENTRY_POINT - -Re-exports [CASM_ENTRY_POINT](types.RPC.RPCSPEC08.API.md#casm_entry_point) - ---- - -### CellRef - -Re-exports [CellRef](types.RPC.RPCSPEC08.API.md#cellref) - ---- - -### Deref - -Re-exports [Deref](types.RPC.RPCSPEC08.API.md#deref) - ---- - -### DoubleDeref - -Re-exports [DoubleDeref](types.RPC.RPCSPEC08.API.md#doublederef) - ---- - -### Immediate - -Re-exports [Immediate](types.RPC.RPCSPEC08.API.md#immediate) - ---- - -### BinOp - -Re-exports [BinOp](types.RPC.RPCSPEC08.API.md#binop) - ---- - -### ResOperand - -Re-exports [ResOperand](types.RPC.RPCSPEC08.API.md#resoperand) - ---- - -### HINT - -Re-exports [HINT](types.RPC.RPCSPEC08.API.md#hint) - ---- - -### DEPRECATED_HINT - -Re-exports [DEPRECATED_HINT](types.RPC.RPCSPEC08.API.md#deprecated_hint) - ---- - -### CORE_HINT - -Re-exports [CORE_HINT](types.RPC.RPCSPEC08.API.md#core_hint) - ---- - -### STARKNET_HINT - -Re-exports [STARKNET_HINT](types.RPC.RPCSPEC08.API.md#starknet_hint) - ---- - -### IsPending - -Re-exports [IsPending](types.RPC.RPCSPEC08.API.md#ispending) - ---- - -### IsInBlock - -Re-exports [IsInBlock](types.RPC.RPCSPEC08.API.md#isinblock) - ---- - -### IsType - -Re-exports [IsType](types.RPC.RPCSPEC08.API.md#istype) - ---- - -### IsSucceeded - -Re-exports [IsSucceeded](types.RPC.RPCSPEC08.API.md#issucceeded) - ---- - -### IsReverted - -Re-exports [IsReverted](types.RPC.RPCSPEC08.API.md#isreverted) - ---- - -### Permission - -Re-exports [Permission](types.RPC.RPCSPEC08.WALLET_API.md#permission-1) - ---- - -### BLOCK_TIMESTAMP - -Re-exports [BLOCK_TIMESTAMP](types.RPC.RPCSPEC08.WALLET_API.md#block_timestamp) - ---- - -### TIME_BOUNDS - -Re-exports [TIME_BOUNDS](types.RPC.RPCSPEC08.WALLET_API.md#time_bounds) - ---- - -### TypedDataRevision - -Re-exports [TypedDataRevision](types.RPC.RPCSPEC08.WALLET_API.md#typeddatarevision-1) - ---- - -### StarknetEnumType - -Re-exports [StarknetEnumType](types.RPC.RPCSPEC08.WALLET_API.md#starknetenumtype) - ---- - -### StarknetMerkleType - -Re-exports [StarknetMerkleType](types.RPC.RPCSPEC08.WALLET_API.md#starknetmerkletype) - ---- - -### StarknetType - -Re-exports [StarknetType](types.RPC.RPCSPEC08.WALLET_API.md#starknettype) - ---- - -### StarknetDomain - -Re-exports [StarknetDomain](../interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetDomain.md) - ---- - -### TypedData - -Re-exports [TypedData](../interfaces/types.RPC.RPCSPEC08.WALLET_API.TypedData.md) - ---- - -### OutsideExecutionTypedData - -Re-exports [OutsideExecutionTypedData](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddata) - ---- - -### OutsideExecutionTypedDataV1 - -Re-exports [OutsideExecutionTypedDataV1](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddatav1) - ---- - -### OutsideExecutionTypedDataV2 - -Re-exports [OutsideExecutionTypedDataV2](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddatav2) - ---- - -### OutsideExecutionMessageV1 - -Re-exports [OutsideExecutionMessageV1](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutionmessagev1) - ---- - -### OutsideCallV1 - -Re-exports [OutsideCallV1](types.RPC.RPCSPEC08.WALLET_API.md#outsidecallv1) - ---- - -### OutsideExecutionMessageV2 - -Re-exports [OutsideExecutionMessageV2](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutionmessagev2) - ---- - -### OutsideCallV2 - -Re-exports [OutsideCallV2](types.RPC.RPCSPEC08.WALLET_API.md#outsidecallv2) - ---- - -### StarknetWindowObject - -Re-exports [StarknetWindowObject](../interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetWindowObject.md) - ---- - -### Address - -Re-exports [Address](types.RPC.RPCSPEC08.WALLET_API.md#address) - ---- - -### Signature - -Re-exports [Signature](types.RPC.RPCSPEC08.WALLET_API.md#signature) - ---- - -### PADDED_TXN_HASH - -Re-exports [PADDED_TXN_HASH](types.RPC.RPCSPEC08.WALLET_API.md#padded_txn_hash) - ---- - -### PADDED_FELT - -Re-exports [PADDED_FELT](types.RPC.RPCSPEC08.WALLET_API.md#padded_felt) - ---- - -### SpecVersion - -Re-exports [SpecVersion](types.RPC.RPCSPEC08.WALLET_API.md#specversion) - ---- - -### TokenSymbol - -Re-exports [TokenSymbol](types.RPC.RPCSPEC08.WALLET_API.md#tokensymbol) - ---- - -### Asset - -Re-exports [Asset](types.RPC.RPCSPEC08.WALLET_API.md#asset) - ---- - -### StarknetChain - -Re-exports [StarknetChain](types.RPC.RPCSPEC08.WALLET_API.md#starknetchain) - ---- - -### Call - -Re-exports [Call](types.RPC.RPCSPEC08.WALLET_API.md#call) - ---- - -### AddInvokeTransactionParameters - -Re-exports [AddInvokeTransactionParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionParameters.md) - ---- - -### AddInvokeTransactionResult - -Re-exports [AddInvokeTransactionResult](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionResult.md) - ---- - -### AddDeclareTransactionParameters - -Re-exports [AddDeclareTransactionParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionParameters.md) - ---- - -### AddDeclareTransactionResult - -Re-exports [AddDeclareTransactionResult](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionResult.md) - ---- - -### RequestAccountsParameters - -Re-exports [RequestAccountsParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RequestAccountsParameters.md) - ---- - -### WatchAssetParameters - -Re-exports [WatchAssetParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.WatchAssetParameters.md) - ---- - -### AddStarknetChainParameters - -Re-exports [AddStarknetChainParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddStarknetChainParameters.md) - ---- - -### SwitchStarknetChainParameters - -Re-exports [SwitchStarknetChainParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.SwitchStarknetChainParameters.md) - ---- - -### AccountDeploymentData - -Re-exports [AccountDeploymentData](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AccountDeploymentData.md) - ---- - -### API_VERSION - -Re-exports [API_VERSION](types.RPC.RPCSPEC08.WALLET_API.md#api_version) - ---- - -### ApiVersionRequest - -Re-exports [ApiVersionRequest](../interfaces/types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md) - ---- - -### RpcTypeToMessageMap - -Re-exports [RpcTypeToMessageMap](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md) - ---- - -### RpcMessage - -Re-exports [RpcMessage](types.RPC.RPCSPEC08.WALLET_API.md#rpcmessage) - ---- - -### IsParamsOptional - -Re-exports [IsParamsOptional](types.RPC.RPCSPEC08.WALLET_API.md#isparamsoptional) - ---- - -### RequestFnCall - -Re-exports [RequestFnCall](types.RPC.RPCSPEC08.WALLET_API.md#requestfncall) - ---- - -### RequestFn - -Re-exports [RequestFn](types.RPC.RPCSPEC08.WALLET_API.md#requestfn) - ---- - -### AccountChangeEventHandler - -Re-exports [AccountChangeEventHandler](types.RPC.RPCSPEC08.WALLET_API.md#accountchangeeventhandler) - ---- - -### NetworkChangeEventHandler - -Re-exports [NetworkChangeEventHandler](types.RPC.RPCSPEC08.WALLET_API.md#networkchangeeventhandler) - ---- - -### WalletEventHandlers - -Re-exports [WalletEventHandlers](../interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md) - ---- - -### WalletEvents - -Re-exports [WalletEvents](types.RPC.RPCSPEC08.WALLET_API.md#walletevents) - ---- - -### WalletEventListener - -Re-exports [WalletEventListener](types.RPC.RPCSPEC08.WALLET_API.md#walleteventlistener) - ---- - -### NOT_ERC20 - -Re-exports [NOT_ERC20](../interfaces/types.RPC.RPCSPEC08.WALLET_API.NOT_ERC20.md) - ---- - -### UNLISTED_NETWORK - -Re-exports [UNLISTED_NETWORK](../interfaces/types.RPC.RPCSPEC08.WALLET_API.UNLISTED_NETWORK.md) - ---- - -### USER_REFUSED_OP - -Re-exports [USER_REFUSED_OP](../interfaces/types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md) - ---- - -### INVALID_REQUEST_PAYLOAD - -Re-exports [INVALID_REQUEST_PAYLOAD](../interfaces/types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md) - ---- - -### ACCOUNT_ALREADY_DEPLOYED - -Re-exports [ACCOUNT_ALREADY_DEPLOYED](../interfaces/types.RPC.RPCSPEC08.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md) - ---- - -### API_VERSION_NOT_SUPPORTED - -Re-exports [API_VERSION_NOT_SUPPORTED](../interfaces/types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md) - ---- - -### UNKNOWN_ERROR - -Re-exports [UNKNOWN_ERROR](../interfaces/types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.md b/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.md deleted file mode 100644 index fdffcc879..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/types.RPC.md +++ /dev/null @@ -1,1970 +0,0 @@ ---- -id: 'types.RPC' -title: 'Namespace: RPC' -sidebar_label: 'RPC' -custom_edit_url: null ---- - -[types](types.md).RPC - -## Namespaces - -- [JRPC](types.RPC.JRPC.md) -- [RPCSPEC07](types.RPC.RPCSPEC07.md) -- [RPCSPEC08](types.RPC.RPCSPEC08.md) - -## References - -### PAYMASTER_API - -Re-exports [PAYMASTER_API](types.RPC.RPCSPEC08.PAYMASTER_API.md) - ---- - -### API - -Re-exports [API](types.RPC.RPCSPEC08.API.md) - ---- - -### WALLET_API - -Re-exports [WALLET_API](types.RPC.RPCSPEC08.WALLET_API.md) - ---- - -### CONTRACT - -Re-exports [CONTRACT](types.RPC.RPCSPEC08.API.CONTRACT.md) - ---- - -### Methods - -Re-exports [Methods](types.RPC.RPCSPEC08.API.md#methods) - ---- - -### WebSocketMethods - -Re-exports [WebSocketMethods](types.RPC.RPCSPEC08.API.md#websocketmethods) - ---- - -### WebSocketEvents - -Re-exports [WebSocketEvents](types.RPC.RPCSPEC08.API.md#websocketevents) - ---- - -### FAILED_TO_RECEIVE_TXN - -Re-exports [FAILED_TO_RECEIVE_TXN](../interfaces/types.RPC.RPCSPEC08.API.FAILED_TO_RECEIVE_TXN.md) - ---- - -### NO_TRACE_AVAILABLE - -Re-exports [NO_TRACE_AVAILABLE](../interfaces/types.RPC.RPCSPEC08.API.NO_TRACE_AVAILABLE.md) - ---- - -### CONTRACT_NOT_FOUND - -Re-exports [CONTRACT_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.CONTRACT_NOT_FOUND.md) - ---- - -### ENTRYPOINT_NOT_FOUND - -Re-exports [ENTRYPOINT_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.ENTRYPOINT_NOT_FOUND.md) - ---- - -### BLOCK_NOT_FOUND - -Re-exports [BLOCK_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md) - ---- - -### INVALID_TXN_INDEX - -Re-exports [INVALID_TXN_INDEX](../interfaces/types.RPC.RPCSPEC08.API.INVALID_TXN_INDEX.md) - ---- - -### CLASS_HASH_NOT_FOUND - -Re-exports [CLASS_HASH_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.CLASS_HASH_NOT_FOUND.md) - ---- - -### TXN_HASH_NOT_FOUND - -Re-exports [TXN_HASH_NOT_FOUND](../interfaces/types.RPC.RPCSPEC08.API.TXN_HASH_NOT_FOUND.md) - ---- - -### PAGE_SIZE_TOO_BIG - -Re-exports [PAGE_SIZE_TOO_BIG](../interfaces/types.RPC.RPCSPEC08.API.PAGE_SIZE_TOO_BIG.md) - ---- - -### NO_BLOCKS - -Re-exports [NO_BLOCKS](../interfaces/types.RPC.RPCSPEC08.API.NO_BLOCKS.md) - ---- - -### INVALID_CONTINUATION_TOKEN - -Re-exports [INVALID_CONTINUATION_TOKEN](../interfaces/types.RPC.RPCSPEC08.API.INVALID_CONTINUATION_TOKEN.md) - ---- - -### TOO_MANY_KEYS_IN_FILTER - -Re-exports [TOO_MANY_KEYS_IN_FILTER](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER.md) - ---- - -### CONTRACT_ERROR - -Re-exports [CONTRACT_ERROR](../interfaces/types.RPC.RPCSPEC08.API.CONTRACT_ERROR.md) - ---- - -### TRANSACTION_EXECUTION_ERROR - -Re-exports [TRANSACTION_EXECUTION_ERROR](../interfaces/types.RPC.RPCSPEC08.API.TRANSACTION_EXECUTION_ERROR.md) - ---- - -### STORAGE_PROOF_NOT_SUPPORTED - -Re-exports [STORAGE_PROOF_NOT_SUPPORTED](../interfaces/types.RPC.RPCSPEC08.API.STORAGE_PROOF_NOT_SUPPORTED.md) - ---- - -### CLASS_ALREADY_DECLARED - -Re-exports [CLASS_ALREADY_DECLARED](../interfaces/types.RPC.RPCSPEC08.API.CLASS_ALREADY_DECLARED.md) - ---- - -### INVALID_TRANSACTION_NONCE - -Re-exports [INVALID_TRANSACTION_NONCE](../interfaces/types.RPC.RPCSPEC08.API.INVALID_TRANSACTION_NONCE.md) - ---- - -### INSUFFICIENT_RESOURCES_FOR_VALIDATE - -Re-exports [INSUFFICIENT_RESOURCES_FOR_VALIDATE](../interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_RESOURCES_FOR_VALIDATE.md) - ---- - -### INSUFFICIENT_ACCOUNT_BALANCE - -Re-exports [INSUFFICIENT_ACCOUNT_BALANCE](../interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_ACCOUNT_BALANCE.md) - ---- - -### VALIDATION_FAILURE - -Re-exports [VALIDATION_FAILURE](../interfaces/types.RPC.RPCSPEC08.API.VALIDATION_FAILURE.md) - ---- - -### COMPILATION_FAILED - -Re-exports [COMPILATION_FAILED](../interfaces/types.RPC.RPCSPEC08.API.COMPILATION_FAILED.md) - ---- - -### CONTRACT_CLASS_SIZE_IS_TOO_LARGE - -Re-exports [CONTRACT_CLASS_SIZE_IS_TOO_LARGE](../interfaces/types.RPC.RPCSPEC08.API.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md) - ---- - -### NON_ACCOUNT - -Re-exports [NON_ACCOUNT](../interfaces/types.RPC.RPCSPEC08.API.NON_ACCOUNT.md) - ---- - -### DUPLICATE_TX - -Re-exports [DUPLICATE_TX](../interfaces/types.RPC.RPCSPEC08.API.DUPLICATE_TX.md) - ---- - -### COMPILED_CLASS_HASH_MISMATCH - -Re-exports [COMPILED_CLASS_HASH_MISMATCH](../interfaces/types.RPC.RPCSPEC08.API.COMPILED_CLASS_HASH_MISMATCH.md) - ---- - -### UNSUPPORTED_TX_VERSION - -Re-exports [UNSUPPORTED_TX_VERSION](../interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_TX_VERSION.md) - ---- - -### UNSUPPORTED_CONTRACT_CLASS_VERSION - -Re-exports [UNSUPPORTED_CONTRACT_CLASS_VERSION](../interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_CONTRACT_CLASS_VERSION.md) - ---- - -### UNEXPECTED_ERROR - -Re-exports [UNEXPECTED_ERROR](../interfaces/types.RPC.RPCSPEC08.API.UNEXPECTED_ERROR.md) - ---- - -### INVALID_SUBSCRIPTION_ID - -Re-exports [INVALID_SUBSCRIPTION_ID](../interfaces/types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID.md) - ---- - -### TOO_MANY_ADDRESSES_IN_FILTER - -Re-exports [TOO_MANY_ADDRESSES_IN_FILTER](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER.md) - ---- - -### TOO_MANY_BLOCKS_BACK - -Re-exports [TOO_MANY_BLOCKS_BACK](../interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md) - ---- - -### COMPILATION_ERROR - -Re-exports [COMPILATION_ERROR](../interfaces/types.RPC.RPCSPEC08.API.COMPILATION_ERROR.md) - ---- - -### FELT - -Re-exports [FELT](types.RPC.RPCSPEC08.API.md#felt) - ---- - -### ETH_ADDRESS - -Re-exports [ETH_ADDRESS](types.RPC.RPCSPEC08.API.md#eth_address) - ---- - -### STORAGE_KEY - -Re-exports [STORAGE_KEY](types.RPC.RPCSPEC08.API.md#storage_key) - ---- - -### ADDRESS - -Re-exports [ADDRESS](types.RPC.RPCSPEC08.API.md#address) - ---- - -### NUM_AS_HEX - -Re-exports [NUM_AS_HEX](types.RPC.RPCSPEC08.API.md#num_as_hex) - ---- - -### u64 - -Re-exports [u64](types.RPC.RPCSPEC08.API.md#u64) - ---- - -### u128 - -Re-exports [u128](types.RPC.RPCSPEC08.API.md#u128) - ---- - -### SIGNATURE - -Re-exports [SIGNATURE](types.RPC.RPCSPEC08.API.md#signature) - ---- - -### BLOCK_NUMBER - -Re-exports [BLOCK_NUMBER](types.RPC.RPCSPEC08.API.md#block_number) - ---- - -### BLOCK_HASH - -Re-exports [BLOCK_HASH](types.RPC.RPCSPEC08.API.md#block_hash) - ---- - -### TXN_HASH - -Re-exports [TXN_HASH](types.RPC.RPCSPEC08.API.md#txn_hash) - ---- - -### L1_TXN_HASH - -Re-exports [L1_TXN_HASH](types.RPC.RPCSPEC08.API.md#l1_txn_hash) - ---- - -### CHAIN_ID - -Re-exports [CHAIN_ID](types.RPC.RPCSPEC08.API.md#chain_id) - ---- - -### STATE_MUTABILITY - -Re-exports [STATE_MUTABILITY](types.RPC.RPCSPEC08.API.md#state_mutability) - ---- - -### FUNCTION_ABI_TYPE - -Re-exports [FUNCTION_ABI_TYPE](types.RPC.RPCSPEC08.API.md#function_abi_type) - ---- - -### ABI_NAME_AND_TYPE - -Re-exports [ABI_NAME_AND_TYPE](types.RPC.RPCSPEC08.API.md#abi_name_and_type) - ---- - -### ABI_TYPE - -Re-exports [ABI_TYPE](types.RPC.RPCSPEC08.API.md#abi_type) - ---- - -### ENTRY_POINT_TYPE - -Re-exports [ENTRY_POINT_TYPE](types.RPC.RPCSPEC08.API.md#entry_point_type) - ---- - -### TXN_STATUS - -Re-exports [TXN_STATUS](types.RPC.RPCSPEC08.API.md#txn_status) - ---- - -### SIMULATION_FLAG - -Re-exports [SIMULATION_FLAG](types.RPC.RPCSPEC08.API.md#simulation_flag) - ---- - -### DA_MODE - -Re-exports [DA_MODE](types.RPC.RPCSPEC08.API.md#da_mode) - ---- - -### TXN_TYPE - -Re-exports [TXN_TYPE](types.RPC.RPCSPEC08.API.md#txn_type) - ---- - -### TXN_FINALITY_STATUS - -Re-exports [TXN_FINALITY_STATUS](types.RPC.RPCSPEC08.API.md#txn_finality_status) - ---- - -### TXN_EXECUTION_STATUS - -Re-exports [TXN_EXECUTION_STATUS](types.RPC.RPCSPEC08.API.md#txn_execution_status) - ---- - -### BLOCK_STATUS - -Re-exports [BLOCK_STATUS](types.RPC.RPCSPEC08.API.md#block_status) - ---- - -### BLOCK_SELECTOR - -Re-exports [BLOCK_SELECTOR](types.RPC.RPCSPEC08.API.md#block_selector) - ---- - -### BLOCK_TAG - -Re-exports [BLOCK_TAG](types.RPC.RPCSPEC08.API.md#block_tag) - ---- - -### SUBSCRIPTION_BLOCK_TAG - -Re-exports [SUBSCRIPTION_BLOCK_TAG](types.RPC.RPCSPEC08.API.md#subscription_block_tag) - ---- - -### SUBSCRIPTION_ID - -Re-exports [SUBSCRIPTION_ID](types.RPC.RPCSPEC08.API.md#subscription_id) - ---- - -### NEW_TXN_STATUS - -Re-exports [NEW_TXN_STATUS](types.RPC.RPCSPEC08.API.md#new_txn_status) - ---- - -### REORG_DATA - -Re-exports [REORG_DATA](types.RPC.RPCSPEC08.API.md#reorg_data) - ---- - -### SubscriptionNewHeadsResponse - -Re-exports [SubscriptionNewHeadsResponse](types.RPC.RPCSPEC08.API.md#subscriptionnewheadsresponse) - ---- - -### SubscriptionEventsResponse - -Re-exports [SubscriptionEventsResponse](types.RPC.RPCSPEC08.API.md#subscriptioneventsresponse) - ---- - -### SubscriptionTransactionsStatusResponse - -Re-exports [SubscriptionTransactionsStatusResponse](types.RPC.RPCSPEC08.API.md#subscriptiontransactionsstatusresponse) - ---- - -### SubscriptionPendingTransactionsResponse - -Re-exports [SubscriptionPendingTransactionsResponse](types.RPC.RPCSPEC08.API.md#subscriptionpendingtransactionsresponse) - ---- - -### SubscriptionReorgResponse - -Re-exports [SubscriptionReorgResponse](types.RPC.RPCSPEC08.API.md#subscriptionreorgresponse) - ---- - -### EVENTS_CHUNK - -Re-exports [EVENTS_CHUNK](types.RPC.RPCSPEC08.API.md#events_chunk) - ---- - -### RESULT_PAGE_REQUEST - -Re-exports [RESULT_PAGE_REQUEST](types.RPC.RPCSPEC08.API.md#result_page_request) - ---- - -### EMITTED_EVENT - -Re-exports [EMITTED_EVENT](types.RPC.RPCSPEC08.API.md#emitted_event) - ---- - -### EVENT - -Re-exports [EVENT](types.RPC.RPCSPEC08.API.md#event) - ---- - -### EVENT_CONTENT - -Re-exports [EVENT_CONTENT](types.RPC.RPCSPEC08.API.md#event_content) - ---- - -### EVENT_KEYS - -Re-exports [EVENT_KEYS](types.RPC.RPCSPEC08.API.md#event_keys) - ---- - -### EVENT_FILTER - -Re-exports [EVENT_FILTER](types.RPC.RPCSPEC08.API.md#event_filter) - ---- - -### BLOCK_ID - -Re-exports [BLOCK_ID](types.RPC.RPCSPEC08.API.md#block_id) - ---- - -### SUBSCRIPTION_BLOCK_ID - -Re-exports [SUBSCRIPTION_BLOCK_ID](types.RPC.RPCSPEC08.API.md#subscription_block_id) - ---- - -### SYNC_STATUS - -Re-exports [SYNC_STATUS](types.RPC.RPCSPEC08.API.md#sync_status) - ---- - -### NEW_CLASSES - -Re-exports [NEW_CLASSES](types.RPC.RPCSPEC08.API.md#new_classes) - ---- - -### REPLACED_CLASS - -Re-exports [REPLACED_CLASS](types.RPC.RPCSPEC08.API.md#replaced_class) - ---- - -### NONCE_UPDATE - -Re-exports [NONCE_UPDATE](types.RPC.RPCSPEC08.API.md#nonce_update) - ---- - -### STATE_DIFF - -Re-exports [STATE_DIFF](types.RPC.RPCSPEC08.API.md#state_diff) - ---- - -### PENDING_STATE_UPDATE - -Re-exports [PENDING_STATE_UPDATE](types.RPC.RPCSPEC08.API.md#pending_state_update) - ---- - -### STATE_UPDATE - -Re-exports [STATE_UPDATE](types.RPC.RPCSPEC08.API.md#state_update) - ---- - -### BLOCK_BODY_WITH_TX_HASHES - -Re-exports [BLOCK_BODY_WITH_TX_HASHES](types.RPC.RPCSPEC08.API.md#block_body_with_tx_hashes) - ---- - -### BLOCK_BODY_WITH_TXS - -Re-exports [BLOCK_BODY_WITH_TXS](types.RPC.RPCSPEC08.API.md#block_body_with_txs) - ---- - -### BLOCK_BODY_WITH_RECEIPTS - -Re-exports [BLOCK_BODY_WITH_RECEIPTS](types.RPC.RPCSPEC08.API.md#block_body_with_receipts) - ---- - -### BLOCK_HEADER - -Re-exports [BLOCK_HEADER](types.RPC.RPCSPEC08.API.md#block_header) - ---- - -### PENDING_BLOCK_HEADER - -Re-exports [PENDING_BLOCK_HEADER](types.RPC.RPCSPEC08.API.md#pending_block_header) - ---- - -### BLOCK_WITH_TX_HASHES - -Re-exports [BLOCK_WITH_TX_HASHES](types.RPC.RPCSPEC08.API.md#block_with_tx_hashes) - ---- - -### BLOCK_WITH_TXS - -Re-exports [BLOCK_WITH_TXS](types.RPC.RPCSPEC08.API.md#block_with_txs) - ---- - -### BLOCK_WITH_RECEIPTS - -Re-exports [BLOCK_WITH_RECEIPTS](types.RPC.RPCSPEC08.API.md#block_with_receipts) - ---- - -### PENDING_BLOCK_WITH_TX_HASHES - -Re-exports [PENDING_BLOCK_WITH_TX_HASHES](types.RPC.RPCSPEC08.API.md#pending_block_with_tx_hashes) - ---- - -### PENDING_BLOCK_WITH_TXS - -Re-exports [PENDING_BLOCK_WITH_TXS](types.RPC.RPCSPEC08.API.md#pending_block_with_txs) - ---- - -### PENDING_BLOCK_WITH_RECEIPTS - -Re-exports [PENDING_BLOCK_WITH_RECEIPTS](types.RPC.RPCSPEC08.API.md#pending_block_with_receipts) - ---- - -### DEPLOYED_CONTRACT_ITEM - -Re-exports [DEPLOYED_CONTRACT_ITEM](types.RPC.RPCSPEC08.API.md#deployed_contract_item) - ---- - -### CONTRACT_STORAGE_DIFF_ITEM - -Re-exports [CONTRACT_STORAGE_DIFF_ITEM](types.RPC.RPCSPEC08.API.md#contract_storage_diff_item) - ---- - -### StorageDiffItem - -Re-exports [StorageDiffItem](types.RPC.RPCSPEC08.API.md#storagediffitem) - ---- - -### TXN - -Re-exports [TXN](types.RPC.RPCSPEC08.API.md#txn) - ---- - -### TXN_WITH_HASH - -Re-exports [TXN_WITH_HASH](types.RPC.RPCSPEC08.API.md#txn_with_hash) - ---- - -### DECLARE_TXN - -Re-exports [DECLARE_TXN](types.RPC.RPCSPEC08.API.md#declare_txn) - ---- - -### DECLARE_TXN_V0 - -Re-exports [DECLARE_TXN_V0](types.RPC.RPCSPEC08.API.md#declare_txn_v0) - ---- - -### DECLARE_TXN_V1 - -Re-exports [DECLARE_TXN_V1](types.RPC.RPCSPEC08.API.md#declare_txn_v1) - ---- - -### DECLARE_TXN_V2 - -Re-exports [DECLARE_TXN_V2](types.RPC.RPCSPEC08.API.md#declare_txn_v2) - ---- - -### DECLARE_TXN_V3 - -Re-exports [DECLARE_TXN_V3](types.RPC.RPCSPEC08.API.md#declare_txn_v3) - ---- - -### BROADCASTED_TXN - -Re-exports [BROADCASTED_TXN](types.RPC.RPCSPEC08.API.md#broadcasted_txn) - ---- - -### BROADCASTED_INVOKE_TXN - -Re-exports [BROADCASTED_INVOKE_TXN](types.RPC.RPCSPEC08.API.md#broadcasted_invoke_txn) - ---- - -### BROADCASTED_DEPLOY_ACCOUNT_TXN - -Re-exports [BROADCASTED_DEPLOY_ACCOUNT_TXN](types.RPC.RPCSPEC08.API.md#broadcasted_deploy_account_txn) - ---- - -### BROADCASTED_DECLARE_TXN - -Re-exports [BROADCASTED_DECLARE_TXN](types.RPC.RPCSPEC08.API.md#broadcasted_declare_txn) - ---- - -### BROADCASTED_DECLARE_TXN_V3 - -Re-exports [BROADCASTED_DECLARE_TXN_V3](types.RPC.RPCSPEC08.API.md#broadcasted_declare_txn_v3) - ---- - -### DEPLOY_ACCOUNT_TXN - -Re-exports [DEPLOY_ACCOUNT_TXN](types.RPC.RPCSPEC08.API.md#deploy_account_txn) - ---- - -### DEPLOY_ACCOUNT_TXN_V1 - -Re-exports [DEPLOY_ACCOUNT_TXN_V1](types.RPC.RPCSPEC08.API.md#deploy_account_txn_v1) - ---- - -### DEPLOY_ACCOUNT_TXN_V3 - -Re-exports [DEPLOY_ACCOUNT_TXN_V3](types.RPC.RPCSPEC08.API.md#deploy_account_txn_v3) - ---- - -### DEPLOY_TXN - -Re-exports [DEPLOY_TXN](types.RPC.RPCSPEC08.API.md#deploy_txn) - ---- - -### INVOKE_TXN - -Re-exports [INVOKE_TXN](types.RPC.RPCSPEC08.API.md#invoke_txn) - ---- - -### INVOKE_TXN_V0 - -Re-exports [INVOKE_TXN_V0](types.RPC.RPCSPEC08.API.md#invoke_txn_v0) - ---- - -### INVOKE_TXN_V1 - -Re-exports [INVOKE_TXN_V1](types.RPC.RPCSPEC08.API.md#invoke_txn_v1) - ---- - -### INVOKE_TXN_V3 - -Re-exports [INVOKE_TXN_V3](types.RPC.RPCSPEC08.API.md#invoke_txn_v3) - ---- - -### L1_HANDLER_TXN - -Re-exports [L1_HANDLER_TXN](types.RPC.RPCSPEC08.API.md#l1_handler_txn) - ---- - -### COMMON_RECEIPT_PROPERTIES - -Re-exports [COMMON_RECEIPT_PROPERTIES](types.RPC.RPCSPEC08.API.md#common_receipt_properties) - ---- - -### INVOKE_TXN_RECEIPT - -Re-exports [INVOKE_TXN_RECEIPT](types.RPC.RPCSPEC08.API.md#invoke_txn_receipt) - ---- - -### DECLARE_TXN_RECEIPT - -Re-exports [DECLARE_TXN_RECEIPT](types.RPC.RPCSPEC08.API.md#declare_txn_receipt) - ---- - -### DEPLOY_ACCOUNT_TXN_RECEIPT - -Re-exports [DEPLOY_ACCOUNT_TXN_RECEIPT](types.RPC.RPCSPEC08.API.md#deploy_account_txn_receipt) - ---- - -### DEPLOY_TXN_RECEIPT - -Re-exports [DEPLOY_TXN_RECEIPT](types.RPC.RPCSPEC08.API.md#deploy_txn_receipt) - ---- - -### L1_HANDLER_TXN_RECEIPT - -Re-exports [L1_HANDLER_TXN_RECEIPT](types.RPC.RPCSPEC08.API.md#l1_handler_txn_receipt) - ---- - -### TXN_RECEIPT - -Re-exports [TXN_RECEIPT](types.RPC.RPCSPEC08.API.md#txn_receipt) - ---- - -### TXN_RECEIPT_WITH_BLOCK_INFO - -Re-exports [TXN_RECEIPT_WITH_BLOCK_INFO](types.RPC.RPCSPEC08.API.md#txn_receipt_with_block_info) - ---- - -### MSG_TO_L1 - -Re-exports [MSG_TO_L1](types.RPC.RPCSPEC08.API.md#msg_to_l1) - ---- - -### MSG_FROM_L1 - -Re-exports [MSG_FROM_L1](types.RPC.RPCSPEC08.API.md#msg_from_l1) - ---- - -### FUNCTION_CALL - -Re-exports [FUNCTION_CALL](types.RPC.RPCSPEC08.API.md#function_call) - ---- - -### CONTRACT_CLASS - -Re-exports [CONTRACT_CLASS](types.RPC.RPCSPEC08.API.md#contract_class) - ---- - -### DEPRECATED_CONTRACT_CLASS - -Re-exports [DEPRECATED_CONTRACT_CLASS](types.RPC.RPCSPEC08.API.md#deprecated_contract_class) - ---- - -### DEPRECATED_CAIRO_ENTRY_POINT - -Re-exports [DEPRECATED_CAIRO_ENTRY_POINT](types.RPC.RPCSPEC08.API.md#deprecated_cairo_entry_point) - ---- - -### SIERRA_ENTRY_POINT - -Re-exports [SIERRA_ENTRY_POINT](types.RPC.RPCSPEC08.API.md#sierra_entry_point) - ---- - -### CONTRACT_ABI - -Re-exports [CONTRACT_ABI](types.RPC.RPCSPEC08.API.md#contract_abi) - ---- - -### CONTRACT_ABI_ENTRY - -Re-exports [CONTRACT_ABI_ENTRY](types.RPC.RPCSPEC08.API.md#contract_abi_entry) - ---- - -### STRUCT_ABI_ENTRY - -Re-exports [STRUCT_ABI_ENTRY](types.RPC.RPCSPEC08.API.md#struct_abi_entry) - ---- - -### STRUCT_MEMBER - -Re-exports [STRUCT_MEMBER](types.RPC.RPCSPEC08.API.md#struct_member) - ---- - -### EVENT_ABI_ENTRY - -Re-exports [EVENT_ABI_ENTRY](types.RPC.RPCSPEC08.API.md#event_abi_entry) - ---- - -### FUNCTION_STATE_MUTABILITY - -Re-exports [FUNCTION_STATE_MUTABILITY](types.RPC.RPCSPEC08.API.md#function_state_mutability) - ---- - -### FUNCTION_ABI_ENTRY - -Re-exports [FUNCTION_ABI_ENTRY](types.RPC.RPCSPEC08.API.md#function_abi_entry) - ---- - -### TYPED_PARAMETER - -Re-exports [TYPED_PARAMETER](types.RPC.RPCSPEC08.API.md#typed_parameter) - ---- - -### SIMULATION_FLAG_FOR_ESTIMATE_FEE - -Re-exports [SIMULATION_FLAG_FOR_ESTIMATE_FEE](types.RPC.RPCSPEC08.API.md#simulation_flag_for_estimate_fee) - ---- - -### PRICE_UNIT - -Re-exports [PRICE_UNIT](types.RPC.RPCSPEC08.API.md#price_unit) - ---- - -### FEE_ESTIMATE - -Re-exports [FEE_ESTIMATE](types.RPC.RPCSPEC08.API.md#fee_estimate) - ---- - -### FEE_PAYMENT - -Re-exports [FEE_PAYMENT](types.RPC.RPCSPEC08.API.md#fee_payment) - ---- - -### RESOURCE_BOUNDS_MAPPING - -Re-exports [RESOURCE_BOUNDS_MAPPING](types.RPC.RPCSPEC08.API.md#resource_bounds_mapping) - ---- - -### RESOURCE_BOUNDS - -Re-exports [RESOURCE_BOUNDS](types.RPC.RPCSPEC08.API.md#resource_bounds) - ---- - -### RESOURCE_PRICE - -Re-exports [RESOURCE_PRICE](types.RPC.RPCSPEC08.API.md#resource_price) - ---- - -### EXECUTION_RESOURCES - -Re-exports [EXECUTION_RESOURCES](types.RPC.RPCSPEC08.API.md#execution_resources) - ---- - -### MERKLE_NODE - -Re-exports [MERKLE_NODE](types.RPC.RPCSPEC08.API.md#merkle_node) - ---- - -### BINARY_NODE - -Re-exports [BINARY_NODE](types.RPC.RPCSPEC08.API.md#binary_node) - ---- - -### EDGE_NODE - -Re-exports [EDGE_NODE](types.RPC.RPCSPEC08.API.md#edge_node) - ---- - -### NODE_HASH_TO_NODE_MAPPING - -Re-exports [NODE_HASH_TO_NODE_MAPPING](types.RPC.RPCSPEC08.API.md#node_hash_to_node_mapping) - ---- - -### CONTRACT_EXECUTION_ERROR - -Re-exports [CONTRACT_EXECUTION_ERROR](types.RPC.RPCSPEC08.API.md#contract_execution_error) - ---- - -### CONTRACT_EXECUTION_ERROR_INNER - -Re-exports [CONTRACT_EXECUTION_ERROR_INNER](types.RPC.RPCSPEC08.API.md#contract_execution_error_inner) - ---- - -### TRANSACTION_TRACE - -Re-exports [TRANSACTION_TRACE](types.RPC.RPCSPEC08.API.md#transaction_trace) - ---- - -### INVOKE_TXN_TRACE - -Re-exports [INVOKE_TXN_TRACE](types.RPC.RPCSPEC08.API.md#invoke_txn_trace) - ---- - -### DECLARE_TXN_TRACE - -Re-exports [DECLARE_TXN_TRACE](types.RPC.RPCSPEC08.API.md#declare_txn_trace) - ---- - -### DEPLOY_ACCOUNT_TXN_TRACE - -Re-exports [DEPLOY_ACCOUNT_TXN_TRACE](types.RPC.RPCSPEC08.API.md#deploy_account_txn_trace) - ---- - -### L1_HANDLER_TXN_TRACE - -Re-exports [L1_HANDLER_TXN_TRACE](types.RPC.RPCSPEC08.API.md#l1_handler_txn_trace) - ---- - -### NESTED_CALL - -Re-exports [NESTED_CALL](types.RPC.RPCSPEC08.API.md#nested_call) - ---- - -### FUNCTION_INVOCATION - -Re-exports [FUNCTION_INVOCATION](types.RPC.RPCSPEC08.API.md#function_invocation) - ---- - -### INNER_CALL_EXECUTION_RESOURCES - -Re-exports [INNER_CALL_EXECUTION_RESOURCES](types.RPC.RPCSPEC08.API.md#inner_call_execution_resources) - ---- - -### ORDERED_EVENT - -Re-exports [ORDERED_EVENT](types.RPC.RPCSPEC08.API.md#ordered_event) - ---- - -### ORDERED_MESSAGE - -Re-exports [ORDERED_MESSAGE](types.RPC.RPCSPEC08.API.md#ordered_message) - ---- - -### TXN_STATUS_RESULT - -Re-exports [TXN_STATUS_RESULT](types.RPC.RPCSPEC08.API.md#txn_status_result) - ---- - -### CONTRACT_STORAGE_KEYS - -Re-exports [CONTRACT_STORAGE_KEYS](types.RPC.RPCSPEC08.API.md#contract_storage_keys) - ---- - -### ContractClass - -Re-exports [ContractClass](types.RPC.RPCSPEC08.API.md#contractclass) - ---- - -### SimulateTransaction - -Re-exports [SimulateTransaction](types.RPC.RPCSPEC08.API.md#simulatetransaction) - ---- - -### SimulateTransactionResponse - -Re-exports [SimulateTransactionResponse](types.RPC.RPCSPEC08.API.md#simulatetransactionresponse) - ---- - -### FeeEstimate - -Re-exports [FeeEstimate](types.RPC.RPCSPEC08.API.md#feeestimate) - ---- - -### TransactionWithHash - -Re-exports [TransactionWithHash](types.RPC.RPCSPEC08.API.md#transactionwithhash) - ---- - -### BlockHashAndNumber - -Re-exports [BlockHashAndNumber](types.RPC.RPCSPEC08.API.md#blockhashandnumber) - ---- - -### BlockWithTxs - -Re-exports [BlockWithTxs](types.RPC.RPCSPEC08.API.md#blockwithtxs) - ---- - -### BlockWithTxHashes - -Re-exports [BlockWithTxHashes](types.RPC.RPCSPEC08.API.md#blockwithtxhashes) - ---- - -### BlockWithTxReceipts - -Re-exports [BlockWithTxReceipts](types.RPC.RPCSPEC08.API.md#blockwithtxreceipts) - ---- - -### StateUpdate - -Re-exports [StateUpdate](types.RPC.RPCSPEC08.API.md#stateupdate) - ---- - -### BlockTransactionsTraces - -Re-exports [BlockTransactionsTraces](types.RPC.RPCSPEC08.API.md#blocktransactionstraces) - ---- - -### Syncing - -Re-exports [Syncing](types.RPC.RPCSPEC08.API.md#syncing) - ---- - -### Events - -Re-exports [Events](types.RPC.RPCSPEC08.API.md#events) - ---- - -### EmittedEvent - -Re-exports [EmittedEvent](types.RPC.RPCSPEC08.API.md#emittedevent) - ---- - -### Event - -Re-exports [Event](types.RPC.RPCSPEC08.API.md#event-1) - ---- - -### InvokedTransaction - -Re-exports [InvokedTransaction](types.RPC.RPCSPEC08.API.md#invokedtransaction) - ---- - -### DeclaredTransaction - -Re-exports [DeclaredTransaction](types.RPC.RPCSPEC08.API.md#declaredtransaction) - ---- - -### DeployedAccountTransaction - -Re-exports [DeployedAccountTransaction](types.RPC.RPCSPEC08.API.md#deployedaccounttransaction) - ---- - -### L1L2MessagesStatus - -Re-exports [L1L2MessagesStatus](types.RPC.RPCSPEC08.API.md#l1l2messagesstatus) - ---- - -### StorageProof - -Re-exports [StorageProof](types.RPC.RPCSPEC08.API.md#storageproof) - ---- - -### CompiledCasm - -Re-exports [CompiledCasm](types.RPC.RPCSPEC08.API.md#compiledcasm) - ---- - -### ContractAddress - -Re-exports [ContractAddress](types.RPC.RPCSPEC08.API.md#contractaddress) - ---- - -### Felt - -Re-exports [Felt](types.RPC.RPCSPEC08.API.md#felt-1) - ---- - -### Nonce - -Re-exports [Nonce](types.RPC.RPCSPEC08.API.md#nonce) - ---- - -### TransactionHash - -Re-exports [TransactionHash](types.RPC.RPCSPEC08.API.md#transactionhash) - ---- - -### TransactionTrace - -Re-exports [TransactionTrace](types.RPC.RPCSPEC08.API.md#transactiontrace) - ---- - -### BlockHash - -Re-exports [BlockHash](types.RPC.RPCSPEC08.API.md#blockhash) - ---- - -### TransactionReceipt - -Re-exports [TransactionReceipt](types.RPC.RPCSPEC08.API.md#transactionreceipt) - ---- - -### TransactionReceiptProductionBlock - -Re-exports [TransactionReceiptProductionBlock](types.RPC.RPCSPEC08.API.md#transactionreceiptproductionblock) - ---- - -### TransactionReceiptPendingBlock - -Re-exports [TransactionReceiptPendingBlock](types.RPC.RPCSPEC08.API.md#transactionreceiptpendingblock) - ---- - -### EventFilter - -Re-exports [EventFilter](types.RPC.RPCSPEC08.API.md#eventfilter) - ---- - -### SimulationFlags - -Re-exports [SimulationFlags](types.RPC.RPCSPEC08.API.md#simulationflags) - ---- - -### L1Message - -Re-exports [L1Message](types.RPC.RPCSPEC08.API.md#l1message) - ---- - -### BaseTransaction - -Re-exports [BaseTransaction](types.RPC.RPCSPEC08.API.md#basetransaction) - ---- - -### ChainId - -Re-exports [ChainId](types.RPC.RPCSPEC08.API.md#chainid) - ---- - -### Transaction - -Re-exports [Transaction](types.RPC.RPCSPEC08.API.md#transaction) - ---- - -### TransactionStatus - -Re-exports [TransactionStatus](types.RPC.RPCSPEC08.API.md#transactionstatus) - ---- - -### ResourceBounds - -Re-exports [ResourceBounds](types.RPC.RPCSPEC08.API.md#resourcebounds) - ---- - -### FeePayment - -Re-exports [FeePayment](types.RPC.RPCSPEC08.API.md#feepayment) - ---- - -### PriceUnit - -Re-exports [PriceUnit](types.RPC.RPCSPEC08.API.md#priceunit) - ---- - -### L1L2MessageStatus - -Re-exports [L1L2MessageStatus](types.RPC.RPCSPEC08.API.md#l1l2messagestatus) - ---- - -### StorageDiffs - -Re-exports [StorageDiffs](types.RPC.RPCSPEC08.API.md#storagediffs) - ---- - -### DeprecatedDeclaredClasses - -Re-exports [DeprecatedDeclaredClasses](types.RPC.RPCSPEC08.API.md#deprecateddeclaredclasses) - ---- - -### NonceUpdates - -Re-exports [NonceUpdates](types.RPC.RPCSPEC08.API.md#nonceupdates) - ---- - -### ReplacedClasses - -Re-exports [ReplacedClasses](types.RPC.RPCSPEC08.API.md#replacedclasses) - ---- - -### STATUS_ACCEPTED_ON_L2 - -Re-exports [STATUS_ACCEPTED_ON_L2](types.RPC.RPCSPEC08.API.md#status_accepted_on_l2-1) - ---- - -### STATUS_ACCEPTED_ON_L1 - -Re-exports [STATUS_ACCEPTED_ON_L1](types.RPC.RPCSPEC08.API.md#status_accepted_on_l1-1) - ---- - -### STATUS_SUCCEEDED - -Re-exports [STATUS_SUCCEEDED](types.RPC.RPCSPEC08.API.md#status_succeeded-1) - ---- - -### STATUS_REVERTED - -Re-exports [STATUS_REVERTED](types.RPC.RPCSPEC08.API.md#status_reverted-1) - ---- - -### STATUS_PENDING - -Re-exports [STATUS_PENDING](types.RPC.RPCSPEC08.API.md#status_pending-1) - ---- - -### STATUS_REJECTED - -Re-exports [STATUS_REJECTED](types.RPC.RPCSPEC08.API.md#status_rejected-1) - ---- - -### STATUS_RECEIVED - -Re-exports [STATUS_RECEIVED](types.RPC.RPCSPEC08.API.md#status_received-1) - ---- - -### TXN_TYPE_DECLARE - -Re-exports [TXN_TYPE_DECLARE](types.RPC.RPCSPEC08.API.md#txn_type_declare-1) - ---- - -### TXN_TYPE_DEPLOY - -Re-exports [TXN_TYPE_DEPLOY](types.RPC.RPCSPEC08.API.md#txn_type_deploy-1) - ---- - -### TXN_TYPE_DEPLOY_ACCOUNT - -Re-exports [TXN_TYPE_DEPLOY_ACCOUNT](types.RPC.RPCSPEC08.API.md#txn_type_deploy_account-1) - ---- - -### TXN_TYPE_INVOKE - -Re-exports [TXN_TYPE_INVOKE](types.RPC.RPCSPEC08.API.md#txn_type_invoke-1) - ---- - -### TXN_TYPE_L1_HANDLER - -Re-exports [TXN_TYPE_L1_HANDLER](types.RPC.RPCSPEC08.API.md#txn_type_l1_handler-1) - ---- - -### STRUCT_ABI_TYPE - -Re-exports [STRUCT_ABI_TYPE](types.RPC.RPCSPEC08.API.md#struct_abi_type-1) - ---- - -### EVENT_ABI_TYPE - -Re-exports [EVENT_ABI_TYPE](types.RPC.RPCSPEC08.API.md#event_abi_type-1) - ---- - -### ABI_TYPE_FUNCTION - -Re-exports [ABI_TYPE_FUNCTION](types.RPC.RPCSPEC08.API.md#abi_type_function-1) - ---- - -### ABI_TYPE_CONSTRUCTOR - -Re-exports [ABI_TYPE_CONSTRUCTOR](types.RPC.RPCSPEC08.API.md#abi_type_constructor-1) - ---- - -### ABI_TYPE_L1_HANDLER - -Re-exports [ABI_TYPE_L1_HANDLER](types.RPC.RPCSPEC08.API.md#abi_type_l1_handler-1) - ---- - -### ABI_TYPE_ENUM - -Re-exports [ABI_TYPE_ENUM](types.RPC.RPCSPEC08.API.md#abi_type_enum-1) - ---- - -### STATE_MUTABILITY_VIEW - -Re-exports [STATE_MUTABILITY_VIEW](types.RPC.RPCSPEC08.API.md#state_mutability_view-1) - ---- - -### STATE_MUTABILITY_EXTERNAL - -Re-exports [STATE_MUTABILITY_EXTERNAL](types.RPC.RPCSPEC08.API.md#state_mutability_external-1) - ---- - -### PRICE_UNIT_WEI - -Re-exports [PRICE_UNIT_WEI](types.RPC.RPCSPEC08.API.md#price_unit_wei-1) - ---- - -### PRICE_UNIT_FRI - -Re-exports [PRICE_UNIT_FRI](types.RPC.RPCSPEC08.API.md#price_unit_fri-1) - ---- - -### L1_DA_MODE - -Re-exports [L1_DA_MODE](types.RPC.RPCSPEC08.API.md#l1_da_mode-1) - ---- - -### CALL_TYPE - -Re-exports [CALL_TYPE](types.RPC.RPCSPEC08.API.md#call_type-1) - ---- - -### ETransactionType - -Re-exports [ETransactionType](types.RPC.RPCSPEC08.API.md#etransactiontype-1) - ---- - -### ESimulationFlag - -Re-exports [ESimulationFlag](types.RPC.RPCSPEC08.API.md#esimulationflag-1) - ---- - -### ETransactionStatus - -Re-exports [ETransactionStatus](types.RPC.RPCSPEC08.API.md#etransactionstatus-1) - ---- - -### ETransactionFinalityStatus - -Re-exports [ETransactionFinalityStatus](types.RPC.RPCSPEC08.API.md#etransactionfinalitystatus-1) - ---- - -### ETransactionExecutionStatus - -Re-exports [ETransactionExecutionStatus](types.RPC.RPCSPEC08.API.md#etransactionexecutionstatus-1) - ---- - -### EBlockTag - -Re-exports [EBlockTag](types.RPC.RPCSPEC08.API.md#eblocktag-1) - ---- - -### EDataAvailabilityMode - -Re-exports [EDataAvailabilityMode](types.RPC.RPCSPEC08.API.md#edataavailabilitymode-1) - ---- - -### EDAMode - -Re-exports [EDAMode](types.RPC.RPCSPEC08.API.md#edamode-1) - ---- - -### ETransactionVersion - -Re-exports [ETransactionVersion](types.RPC.RPCSPEC08.API.md#etransactionversion-1) - ---- - -### ETransactionVersion2 - -Re-exports [ETransactionVersion2](types.RPC.RPCSPEC08.API.md#etransactionversion2-1) - ---- - -### ETransactionVersion3 - -Re-exports [ETransactionVersion3](types.RPC.RPCSPEC08.API.md#etransactionversion3-1) - ---- - -### CASM_COMPILED_CONTRACT_CLASS - -Re-exports [CASM_COMPILED_CONTRACT_CLASS](types.RPC.RPCSPEC08.API.md#casm_compiled_contract_class) - ---- - -### CASM_ENTRY_POINT - -Re-exports [CASM_ENTRY_POINT](types.RPC.RPCSPEC08.API.md#casm_entry_point) - ---- - -### CellRef - -Re-exports [CellRef](types.RPC.RPCSPEC08.API.md#cellref) - ---- - -### Deref - -Re-exports [Deref](types.RPC.RPCSPEC08.API.md#deref) - ---- - -### DoubleDeref - -Re-exports [DoubleDeref](types.RPC.RPCSPEC08.API.md#doublederef) - ---- - -### Immediate - -Re-exports [Immediate](types.RPC.RPCSPEC08.API.md#immediate) - ---- - -### BinOp - -Re-exports [BinOp](types.RPC.RPCSPEC08.API.md#binop) - ---- - -### ResOperand - -Re-exports [ResOperand](types.RPC.RPCSPEC08.API.md#resoperand) - ---- - -### HINT - -Re-exports [HINT](types.RPC.RPCSPEC08.API.md#hint) - ---- - -### DEPRECATED_HINT - -Re-exports [DEPRECATED_HINT](types.RPC.RPCSPEC08.API.md#deprecated_hint) - ---- - -### CORE_HINT - -Re-exports [CORE_HINT](types.RPC.RPCSPEC08.API.md#core_hint) - ---- - -### STARKNET_HINT - -Re-exports [STARKNET_HINT](types.RPC.RPCSPEC08.API.md#starknet_hint) - ---- - -### IsPending - -Re-exports [IsPending](types.RPC.RPCSPEC08.API.md#ispending) - ---- - -### IsInBlock - -Re-exports [IsInBlock](types.RPC.RPCSPEC08.API.md#isinblock) - ---- - -### IsType - -Re-exports [IsType](types.RPC.RPCSPEC08.API.md#istype) - ---- - -### IsSucceeded - -Re-exports [IsSucceeded](types.RPC.RPCSPEC08.API.md#issucceeded) - ---- - -### IsReverted - -Re-exports [IsReverted](types.RPC.RPCSPEC08.API.md#isreverted) - ---- - -### Permission - -Re-exports [Permission](types.RPC.RPCSPEC08.WALLET_API.md#permission-1) - ---- - -### BLOCK_TIMESTAMP - -Re-exports [BLOCK_TIMESTAMP](types.RPC.RPCSPEC08.WALLET_API.md#block_timestamp) - ---- - -### TIME_BOUNDS - -Re-exports [TIME_BOUNDS](types.RPC.RPCSPEC08.WALLET_API.md#time_bounds) - ---- - -### TypedDataRevision - -Re-exports [TypedDataRevision](types.RPC.RPCSPEC08.WALLET_API.md#typeddatarevision-1) - ---- - -### StarknetEnumType - -Re-exports [StarknetEnumType](types.RPC.RPCSPEC08.WALLET_API.md#starknetenumtype) - ---- - -### StarknetMerkleType - -Re-exports [StarknetMerkleType](types.RPC.RPCSPEC08.WALLET_API.md#starknetmerkletype) - ---- - -### StarknetType - -Re-exports [StarknetType](types.RPC.RPCSPEC08.WALLET_API.md#starknettype) - ---- - -### StarknetDomain - -Re-exports [StarknetDomain](../interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetDomain.md) - ---- - -### TypedData - -Re-exports [TypedData](../interfaces/types.RPC.RPCSPEC08.WALLET_API.TypedData.md) - ---- - -### OutsideExecutionTypedData - -Re-exports [OutsideExecutionTypedData](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddata) - ---- - -### OutsideExecutionTypedDataV1 - -Re-exports [OutsideExecutionTypedDataV1](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddatav1) - ---- - -### OutsideExecutionTypedDataV2 - -Re-exports [OutsideExecutionTypedDataV2](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutiontypeddatav2) - ---- - -### OutsideExecutionMessageV1 - -Re-exports [OutsideExecutionMessageV1](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutionmessagev1) - ---- - -### OutsideCallV1 - -Re-exports [OutsideCallV1](types.RPC.RPCSPEC08.WALLET_API.md#outsidecallv1) - ---- - -### OutsideExecutionMessageV2 - -Re-exports [OutsideExecutionMessageV2](types.RPC.RPCSPEC08.WALLET_API.md#outsideexecutionmessagev2) - ---- - -### OutsideCallV2 - -Re-exports [OutsideCallV2](types.RPC.RPCSPEC08.WALLET_API.md#outsidecallv2) - ---- - -### StarknetWindowObject - -Re-exports [StarknetWindowObject](../interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetWindowObject.md) - ---- - -### Address - -Re-exports [Address](types.RPC.RPCSPEC08.WALLET_API.md#address) - ---- - -### Signature - -Re-exports [Signature](types.RPC.RPCSPEC08.WALLET_API.md#signature) - ---- - -### PADDED_TXN_HASH - -Re-exports [PADDED_TXN_HASH](types.RPC.RPCSPEC08.WALLET_API.md#padded_txn_hash) - ---- - -### PADDED_FELT - -Re-exports [PADDED_FELT](types.RPC.RPCSPEC08.WALLET_API.md#padded_felt) - ---- - -### SpecVersion - -Re-exports [SpecVersion](types.RPC.RPCSPEC08.WALLET_API.md#specversion) - ---- - -### TokenSymbol - -Re-exports [TokenSymbol](types.RPC.RPCSPEC08.WALLET_API.md#tokensymbol) - ---- - -### Asset - -Re-exports [Asset](types.RPC.RPCSPEC08.WALLET_API.md#asset) - ---- - -### StarknetChain - -Re-exports [StarknetChain](types.RPC.RPCSPEC08.WALLET_API.md#starknetchain) - ---- - -### Call - -Re-exports [Call](types.RPC.RPCSPEC08.WALLET_API.md#call) - ---- - -### AddInvokeTransactionParameters - -Re-exports [AddInvokeTransactionParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionParameters.md) - ---- - -### AddInvokeTransactionResult - -Re-exports [AddInvokeTransactionResult](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionResult.md) - ---- - -### AddDeclareTransactionParameters - -Re-exports [AddDeclareTransactionParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionParameters.md) - ---- - -### AddDeclareTransactionResult - -Re-exports [AddDeclareTransactionResult](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionResult.md) - ---- - -### RequestAccountsParameters - -Re-exports [RequestAccountsParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RequestAccountsParameters.md) - ---- - -### WatchAssetParameters - -Re-exports [WatchAssetParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.WatchAssetParameters.md) - ---- - -### AddStarknetChainParameters - -Re-exports [AddStarknetChainParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AddStarknetChainParameters.md) - ---- - -### SwitchStarknetChainParameters - -Re-exports [SwitchStarknetChainParameters](../interfaces/types.RPC.RPCSPEC08.WALLET_API.SwitchStarknetChainParameters.md) - ---- - -### AccountDeploymentData - -Re-exports [AccountDeploymentData](../interfaces/types.RPC.RPCSPEC08.WALLET_API.AccountDeploymentData.md) - ---- - -### API_VERSION - -Re-exports [API_VERSION](types.RPC.RPCSPEC08.WALLET_API.md#api_version) - ---- - -### ApiVersionRequest - -Re-exports [ApiVersionRequest](../interfaces/types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md) - ---- - -### RpcTypeToMessageMap - -Re-exports [RpcTypeToMessageMap](../interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md) - ---- - -### RpcMessage - -Re-exports [RpcMessage](types.RPC.RPCSPEC08.WALLET_API.md#rpcmessage) - ---- - -### IsParamsOptional - -Re-exports [IsParamsOptional](types.RPC.RPCSPEC08.WALLET_API.md#isparamsoptional) - ---- - -### RequestFnCall - -Re-exports [RequestFnCall](types.RPC.RPCSPEC08.WALLET_API.md#requestfncall) - ---- - -### RequestFn - -Re-exports [RequestFn](types.RPC.RPCSPEC08.WALLET_API.md#requestfn) - ---- - -### AccountChangeEventHandler - -Re-exports [AccountChangeEventHandler](types.RPC.RPCSPEC08.WALLET_API.md#accountchangeeventhandler) - ---- - -### NetworkChangeEventHandler - -Re-exports [NetworkChangeEventHandler](types.RPC.RPCSPEC08.WALLET_API.md#networkchangeeventhandler) - ---- - -### WalletEventHandlers - -Re-exports [WalletEventHandlers](../interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md) - ---- - -### WalletEvents - -Re-exports [WalletEvents](types.RPC.RPCSPEC08.WALLET_API.md#walletevents) - ---- - -### WalletEventListener - -Re-exports [WalletEventListener](types.RPC.RPCSPEC08.WALLET_API.md#walleteventlistener) - ---- - -### NOT_ERC20 - -Re-exports [NOT_ERC20](../interfaces/types.RPC.RPCSPEC08.WALLET_API.NOT_ERC20.md) - ---- - -### UNLISTED_NETWORK - -Re-exports [UNLISTED_NETWORK](../interfaces/types.RPC.RPCSPEC08.WALLET_API.UNLISTED_NETWORK.md) - ---- - -### USER_REFUSED_OP - -Re-exports [USER_REFUSED_OP](../interfaces/types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md) - ---- - -### INVALID_REQUEST_PAYLOAD - -Re-exports [INVALID_REQUEST_PAYLOAD](../interfaces/types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md) - ---- - -### ACCOUNT_ALREADY_DEPLOYED - -Re-exports [ACCOUNT_ALREADY_DEPLOYED](../interfaces/types.RPC.RPCSPEC08.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md) - ---- - -### API_VERSION_NOT_SUPPORTED - -Re-exports [API_VERSION_NOT_SUPPORTED](../interfaces/types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md) - ---- - -### UNKNOWN_ERROR - -Re-exports [UNKNOWN_ERROR](../interfaces/types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/uint256.md b/www/versioned_docs/version-7.6.2/API/namespaces/uint256.md deleted file mode 100644 index 6cd8597f7..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/uint256.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -id: 'uint256' -title: 'Namespace: uint256' -sidebar_label: 'uint256' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### uint256ToBN - -▸ **uint256ToBN**(`uint256`): `bigint` - -Convert Uint256 to bigint -Legacy support Export - -#### Parameters - -| Name | Type | Description | -| :-------- | :------------------------------------------ | :--------------------------------- | -| `uint256` | [`Uint256`](../interfaces/types.Uint256.md) | Uint256 value to convert to bigint | - -#### Returns - -`bigint` - -BigInt representation of the input Uint256 - -**`Example`** - -```typescript -const uint256Value: Uint256 = { low: 1234567890, high: 1 }; -const result = uint256.uint256ToBN(uint256Value); -// result = 340282366920938463463374607433002779346n -``` - -#### Defined in - -[src/utils/uint256.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/uint256.ts#L17) - ---- - -### isUint256 - -▸ **isUint256**(`bn`): `boolean` - -Test BigNumberish is in the range[0, 2**256-1] -Legacy support Export - -#### Parameters - -| Name | Type | Description | -| :--- | :-------------------------------------- | :------------ | -| `bn` | [`BigNumberish`](types.md#bignumberish) | value to test | - -#### Returns - -`boolean` - -True if the input value is in the range[0, 2**256-1], false otherwise - -**`Example`** - -```typescript -const result = uint256.isUint256(12345n); -// result = true -const result1 = uint256.isUint256(-1); -// result1 = false -``` - -#### Defined in - -[src/utils/uint256.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/uint256.ts#L34) - ---- - -### bnToUint256 - -▸ **bnToUint256**(`bn`): [`Uint256`](../interfaces/types.Uint256.md) - -Convert BigNumberish (string | number | bigint) to Uint256 -Legacy support Export - -#### Parameters - -| Name | Type | Description | -| :--- | :-------------------------------------- | :-------------------------- | -| `bn` | [`BigNumberish`](types.md#bignumberish) | value to convert to Uint256 | - -#### Returns - -[`Uint256`](../interfaces/types.Uint256.md) - -Uint256 object representing the BigNumberish value - -**`Example`** - -```typescript -const result = uint256.bnToUint256(1000000000n); -// result = {"low": "0x3b9aca00", "high": "0x0"} -``` - -#### Defined in - -[src/utils/uint256.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/uint256.ts#L49) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/v2hash.md b/www/versioned_docs/version-7.6.2/API/namespaces/v2hash.md deleted file mode 100644 index e34472df8..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/v2hash.md +++ /dev/null @@ -1,160 +0,0 @@ ---- -id: 'v2hash' -title: 'Namespace: v2hash' -sidebar_label: 'v2hash' -sidebar_position: 0 -custom_edit_url: null ---- - -## References - -### calculateL2MessageTxHash - -Re-exports [calculateL2MessageTxHash](hash.md#calculatel2messagetxhash) - -## Functions - -### computeHashOnElements - -▸ **computeHashOnElements**(`data`): `string` - -Compute pedersen hash from data - -#### Parameters - -| Name | Type | -| :----- | :---------------------------------------- | -| `data` | [`BigNumberish`](types.md#bignumberish)[] | - -#### Returns - -`string` - -format: hex-string - pedersen hash - -#### Defined in - -[src/utils/hash/transactionHash/v2.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v2.ts#L17) - ---- - -### calculateTransactionHashCommon - -▸ **calculateTransactionHashCommon**(`txHashPrefix`, `version`, `contractAddress`, `entryPointSelector`, `calldata`, `maxFee`, `chainId`, `additionalData?`): `string` - -Calculate transaction pedersen hash for common properties - -Following implementation is based on this python [implementation #](https://github.com/starkware-libs/cairo-lang/blob/b614d1867c64f3fb2cf4a4879348cfcf87c3a5a7/src/starkware/starknet/core/os/transaction_hash/transaction_hash.py) - -#### Parameters - -| Name | Type | Default value | -| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------- | :------------ | -| `txHashPrefix` | `"0x6465636c617265"` \| `"0x6465706c6f79"` \| `"0x6465706c6f795f6163636f756e74"` \| `"0x696e766f6b65"` \| `"0x6c315f68616e646c6572"` | `undefined` | -| `version` | [`BigNumberish`](types.md#bignumberish) | `undefined` | -| `contractAddress` | [`BigNumberish`](types.md#bignumberish) | `undefined` | -| `entryPointSelector` | [`BigNumberish`](types.md#bignumberish) | `undefined` | -| `calldata` | [`RawCalldata`](types.md#rawcalldata) | `undefined` | -| `maxFee` | [`BigNumberish`](types.md#bignumberish) | `undefined` | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | `undefined` | -| `additionalData` | [`BigNumberish`](types.md#bignumberish)[] | `[]` | - -#### Returns - -`string` - -format: hex-string - -#### Defined in - -[src/utils/hash/transactionHash/v2.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v2.ts#L29) - ---- - -### calculateDeclareTransactionHash - -▸ **calculateDeclareTransactionHash**(`classHash`, `senderAddress`, `version`, `maxFee`, `chainId`, `nonce`, `compiledClassHash?`): `string` - -Calculate declare transaction hash - -#### Parameters - -| Name | Type | Description | -| :------------------- | :------------------------------------------------- | :---------- | -| `classHash` | `string` | hex-string | -| `senderAddress` | [`BigNumberish`](types.md#bignumberish) | - | -| `version` | [`BigNumberish`](types.md#bignumberish) | - | -| `maxFee` | [`BigNumberish`](types.md#bignumberish) | - | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | - | -| `nonce` | [`BigNumberish`](types.md#bignumberish) | - | -| `compiledClassHash?` | `string` | hex-string | - -#### Returns - -`string` - -format: hex-string - -#### Defined in - -[src/utils/hash/transactionHash/v2.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v2.ts#L59) - ---- - -### calculateDeployAccountTransactionHash - -▸ **calculateDeployAccountTransactionHash**(`contractAddress`, `classHash`, `constructorCalldata`, `salt`, `version`, `maxFee`, `chainId`, `nonce`): `string` - -Calculate deploy_account transaction hash - -#### Parameters - -| Name | Type | -| :-------------------- | :------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](types.md#bignumberish) | -| `classHash` | [`BigNumberish`](types.md#bignumberish) | -| `constructorCalldata` | [`RawCalldata`](types.md#rawcalldata) | -| `salt` | [`BigNumberish`](types.md#bignumberish) | -| `version` | [`BigNumberish`](types.md#bignumberish) | -| `maxFee` | [`BigNumberish`](types.md#bignumberish) | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | -| `nonce` | [`BigNumberish`](types.md#bignumberish) | - -#### Returns - -`string` - -format: hex-string - -#### Defined in - -[src/utils/hash/transactionHash/v2.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v2.ts#L84) - ---- - -### calculateTransactionHash - -▸ **calculateTransactionHash**(`contractAddress`, `version`, `calldata`, `maxFee`, `chainId`, `nonce`): `string` - -Calculate invoke transaction hash - -#### Parameters - -| Name | Type | -| :---------------- | :------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](types.md#bignumberish) | -| `version` | [`BigNumberish`](types.md#bignumberish) | -| `calldata` | [`RawCalldata`](types.md#rawcalldata) | -| `maxFee` | [`BigNumberish`](types.md#bignumberish) | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | -| `nonce` | [`BigNumberish`](types.md#bignumberish) | - -#### Returns - -`string` - -format: hex-string - -#### Defined in - -[src/utils/hash/transactionHash/v2.ts:112](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v2.ts#L112) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/v3hash.md b/www/versioned_docs/version-7.6.2/API/namespaces/v3hash.md deleted file mode 100644 index fe57687db..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/v3hash.md +++ /dev/null @@ -1,276 +0,0 @@ ---- -id: 'v3hash' -title: 'Namespace: v3hash' -sidebar_label: 'v3hash' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### hashDAMode - -▸ **hashDAMode**(`nonceDAMode`, `feeDAMode`): `bigint` - -#### Parameters - -| Name | Type | -| :------------ | :-------------------------------------- | -| `nonceDAMode` | [`BigNumberish`](types.md#bignumberish) | -| `feeDAMode` | [`BigNumberish`](types.md#bignumberish) | - -#### Returns - -`bigint` - -#### Defined in - -[src/utils/hash/transactionHash/v3.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v3.ts#L29) - ---- - -### encodeResourceBoundsL1 - -▸ **encodeResourceBoundsL1**(`bounds`): `bigint` - -Encode the L1&L2 gas limits of a V3 transaction - -#### Parameters - -| Name | Type | Description | -| :------- | :------------------------------------------ | :------------------------------------------ | -| `bounds` | [`ResourceBounds`](types.md#resourcebounds) | object including the limits for L1 & L2 gas | - -#### Returns - -`bigint` - -encoded data - -#### Defined in - -[src/utils/hash/transactionHash/v3.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v3.ts#L38) - ---- - -### encodeResourceBoundsL2 - -▸ **encodeResourceBoundsL2**(`bounds`): `bigint` - -Encode the L2 bound of a V3 transaction - -#### Parameters - -| Name | Type | Description | -| :------- | :----------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- | -| `bounds` | [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC07.API.SPEC.md#resource_bounds_mapping) | {l1_gas: {max_amount: u64, max_price_per_unit: u128}, l2_gas: {max_amount: u64, max_price_per_unit: u128}} } | - -#### Returns - -`bigint` - -encoded data - -#### Defined in - -[src/utils/hash/transactionHash/v3.ts:54](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v3.ts#L54) - ---- - -### encodeDataResourceBoundsL1 - -▸ **encodeDataResourceBoundsL1**(`bounds`): `bigint` - -#### Parameters - -| Name | Type | -| :------- | :------------------------------------------------------------------------------ | -| `bounds` | [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC08.API.md#resource_bounds_mapping) | - -#### Returns - -`bigint` - -#### Defined in - -[src/utils/hash/transactionHash/v3.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v3.ts#L62) - ---- - -### hashFeeField - -▸ **hashFeeField**(`tip`, `bounds`): `bigint` - -hash tip and resource bounds (2 bound parameters) V3 RPC 0.7 - -#### Parameters - -| Name | Type | -| :------- | :----------------------------------------------------------------------------------- | -| `tip` | [`BigNumberish`](types.md#bignumberish) | -| `bounds` | [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC07.API.SPEC.md#resource_bounds_mapping) | - -#### Returns - -`bigint` - -#### Defined in - -[src/utils/hash/transactionHash/v3.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v3.ts#L73) - ---- - -### hashFeeFieldV3B3 - -▸ **hashFeeFieldV3B3**(`tip`, `bounds`): `bigint` - -hash tip and resource bounds (3 bounds params) V3 RPC 0.8 - -#### Parameters - -| Name | Type | -| :------- | :------------------------------------------------------------------------------ | -| `tip` | [`BigNumberish`](types.md#bignumberish) | -| `bounds` | [`RESOURCE_BOUNDS_MAPPING`](types.RPC.RPCSPEC08.API.md#resource_bounds_mapping) | - -#### Returns - -`bigint` - -#### Defined in - -[src/utils/hash/transactionHash/v3.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v3.ts#L82) - ---- - -### calculateTransactionHashCommon - -▸ **calculateTransactionHashCommon**(`txHashPrefix`, `version`, `senderAddress`, `chainId`, `nonce`, `tip`, `paymasterData`, `nonceDataAvailabilityMode`, `feeDataAvailabilityMode`, `resourceBounds`, `additionalData?`): `string` - -#### Parameters - -| Name | Type | Default value | -| :-------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- | :------------ | -| `txHashPrefix` | `"0x6465636c617265"` \| `"0x6465706c6f79"` \| `"0x6465706c6f795f6163636f756e74"` \| `"0x696e766f6b65"` \| `"0x6c315f68616e646c6572"` | `undefined` | -| `version` | [`BigNumberish`](types.md#bignumberish) | `undefined` | -| `senderAddress` | [`BigNumberish`](types.md#bignumberish) | `undefined` | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | `undefined` | -| `nonce` | [`BigNumberish`](types.md#bignumberish) | `undefined` | -| `tip` | [`BigNumberish`](types.md#bignumberish) | `undefined` | -| `paymasterData` | [`BigNumberish`](types.md#bignumberish)[] | `undefined` | -| `nonceDataAvailabilityMode` | [`EDAMode`](types.RPC.RPCSPEC08.API.md#edamode-1) | `undefined` | -| `feeDataAvailabilityMode` | [`EDAMode`](types.RPC.RPCSPEC08.API.md#edamode-1) | `undefined` | -| `resourceBounds` | [`ResourceBounds`](types.md#resourcebounds) | `undefined` | -| `additionalData` | [`BigNumberish`](types.md#bignumberish)[] | `[]` | - -#### Returns - -`string` - -#### Defined in - -[src/utils/hash/transactionHash/v3.ts:89](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v3.ts#L89) - ---- - -### calculateDeployAccountTransactionHash - -▸ **calculateDeployAccountTransactionHash**(`contractAddress`, `classHash`, `compiledConstructorCalldata`, `salt`, `version`, `chainId`, `nonce`, `nonceDataAvailabilityMode`, `feeDataAvailabilityMode`, `resourceBounds`, `tip`, `paymasterData`): `string` - -Calculate v3 deploy_account transaction hash - -#### Parameters - -| Name | Type | -| :---------------------------- | :------------------------------------------------- | -| `contractAddress` | [`BigNumberish`](types.md#bignumberish) | -| `classHash` | [`BigNumberish`](types.md#bignumberish) | -| `compiledConstructorCalldata` | [`Calldata`](types.md#calldata) | -| `salt` | [`BigNumberish`](types.md#bignumberish) | -| `version` | [`BigNumberish`](types.md#bignumberish) | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | -| `nonce` | [`BigNumberish`](types.md#bignumberish) | -| `nonceDataAvailabilityMode` | [`EDAMode`](types.RPC.RPCSPEC08.API.md#edamode-1) | -| `feeDataAvailabilityMode` | [`EDAMode`](types.RPC.RPCSPEC08.API.md#edamode-1) | -| `resourceBounds` | [`ResourceBounds`](types.md#resourcebounds) | -| `tip` | [`BigNumberish`](types.md#bignumberish) | -| `paymasterData` | [`BigNumberish`](types.md#bignumberish)[] | - -#### Returns - -`string` - -format: hex-string - -#### Defined in - -[src/utils/hash/transactionHash/v3.ts:124](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v3.ts#L124) - ---- - -### calculateDeclareTransactionHash - -▸ **calculateDeclareTransactionHash**(`classHash`, `compiledClassHash`, `senderAddress`, `version`, `chainId`, `nonce`, `accountDeploymentData`, `nonceDataAvailabilityMode`, `feeDataAvailabilityMode`, `resourceBounds`, `tip`, `paymasterData`): `string` - -Calculate v3 declare transaction hash - -#### Parameters - -| Name | Type | -| :-------------------------- | :------------------------------------------------- | -| `classHash` | `string` | -| `compiledClassHash` | `string` | -| `senderAddress` | [`BigNumberish`](types.md#bignumberish) | -| `version` | [`BigNumberish`](types.md#bignumberish) | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | -| `nonce` | [`BigNumberish`](types.md#bignumberish) | -| `accountDeploymentData` | [`BigNumberish`](types.md#bignumberish)[] | -| `nonceDataAvailabilityMode` | [`EDAMode`](types.RPC.RPCSPEC08.API.md#edamode-1) | -| `feeDataAvailabilityMode` | [`EDAMode`](types.RPC.RPCSPEC08.API.md#edamode-1) | -| `resourceBounds` | [`ResourceBounds`](types.md#resourcebounds) | -| `tip` | [`BigNumberish`](types.md#bignumberish) | -| `paymasterData` | [`BigNumberish`](types.md#bignumberish)[] | - -#### Returns - -`string` - -format: hex-string - -#### Defined in - -[src/utils/hash/transactionHash/v3.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v3.ts#L157) - ---- - -### calculateInvokeTransactionHash - -▸ **calculateInvokeTransactionHash**(`senderAddress`, `version`, `compiledCalldata`, `chainId`, `nonce`, `accountDeploymentData`, `nonceDataAvailabilityMode`, `feeDataAvailabilityMode`, `resourceBounds`, `tip`, `paymasterData`): `string` - -Calculate v3 invoke transaction hash - -#### Parameters - -| Name | Type | -| :-------------------------- | :------------------------------------------------- | -| `senderAddress` | [`BigNumberish`](types.md#bignumberish) | -| `version` | [`BigNumberish`](types.md#bignumberish) | -| `compiledCalldata` | [`Calldata`](types.md#calldata) | -| `chainId` | `"0x534e5f4d41494e"` \| `"0x534e5f5345504f4c4941"` | -| `nonce` | [`BigNumberish`](types.md#bignumberish) | -| `accountDeploymentData` | [`BigNumberish`](types.md#bignumberish)[] | -| `nonceDataAvailabilityMode` | [`EDAMode`](types.RPC.RPCSPEC08.API.md#edamode-1) | -| `feeDataAvailabilityMode` | [`EDAMode`](types.RPC.RPCSPEC08.API.md#edamode-1) | -| `resourceBounds` | [`ResourceBounds`](types.md#resourcebounds) | -| `tip` | [`BigNumberish`](types.md#bignumberish) | -| `paymasterData` | [`BigNumberish`](types.md#bignumberish)[] | - -#### Returns - -`string` - -format: hex-string - -#### Defined in - -[src/utils/hash/transactionHash/v3.ts:190](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v3.ts#L190) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/wallet.md b/www/versioned_docs/version-7.6.2/API/namespaces/wallet.md deleted file mode 100644 index ed6f27351..000000000 --- a/www/versioned_docs/version-7.6.2/API/namespaces/wallet.md +++ /dev/null @@ -1,325 +0,0 @@ ---- -id: 'wallet' -title: 'Namespace: wallet' -sidebar_label: 'wallet' -sidebar_position: 0 -custom_edit_url: null ---- - -## Functions - -### requestAccounts - -▸ **requestAccounts**(`swo`, `silent_mode?`): `Promise`<[`Address`](types.RPC.RPCSPEC07.WALLET_API.md#address)[]\> - -Request Permission for wallet account, return addresses that are allowed by user - -#### Parameters - -| Name | Type | Default value | Description | -| :------------- | :--------------------------------------------------------------------------------------------- | :------------ | :----------------------------------------------------------------------- | -| `swo` | [`StarknetWindowObject`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) | `undefined` | - | -| `silent_mode?` | `boolean` | `false` | false: request user interaction allowance. true: return only pre-allowed | - -#### Returns - -`Promise`<[`Address`](types.RPC.RPCSPEC07.WALLET_API.md#address)[]\> - -allowed accounts addresses - -#### Defined in - -[src/wallet/connect.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/connect.ts#L25) - ---- - -### getPermissions - -▸ **getPermissions**(`swo`): `Promise`<[`Permission`](types.RPC.RPCSPEC07.WALLET_API.md#permission-1)[]\> - -Request Permission for wallet account - -#### Parameters - -| Name | Type | -| :---- | :--------------------------------------------------------------------------------------------- | -| `swo` | [`StarknetWindowObject`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) | - -#### Returns - -`Promise`<[`Permission`](types.RPC.RPCSPEC07.WALLET_API.md#permission-1)[]\> - -allowed accounts addresses - -#### Defined in - -[src/wallet/connect.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/connect.ts#L39) - ---- - -### watchAsset - -▸ **watchAsset**(`swo`, `asset`): `Promise`<`boolean`\> - -Request adding ERC20 Token to Wallet List - -#### Parameters - -| Name | Type | Description | -| :------ | :--------------------------------------------------------------------------------------------- | :------------------- | -| `swo` | [`StarknetWindowObject`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) | - | -| `asset` | [`WatchAssetParameters`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.WatchAssetParameters.md) | WatchAssetParameters | - -#### Returns - -`Promise`<`boolean`\> - -boolean - -#### Defined in - -[src/wallet/connect.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/connect.ts#L48) - ---- - -### addStarknetChain - -▸ **addStarknetChain**(`swo`, `chain`): `Promise`<`boolean`\> - -Request adding custom Starknet chain - -#### Parameters - -| Name | Type | Description | -| :------ | :--------------------------------------------------------------------------------------------------------- | :------------------------- | -| `swo` | [`StarknetWindowObject`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) | - | -| `chain` | [`AddStarknetChainParameters`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddStarknetChainParameters.md) | AddStarknetChainParameters | - -#### Returns - -`Promise`<`boolean`\> - -boolean - -#### Defined in - -[src/wallet/connect.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/connect.ts#L60) - ---- - -### switchStarknetChain - -▸ **switchStarknetChain**(`swo`, `chainId`): `Promise`<`boolean`\> - -Request Wallet Network change - -#### Parameters - -| Name | Type | Description | -| :-------- | :--------------------------------------------------------------------------------------------- | :-------------- | -| `swo` | [`StarknetWindowObject`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) | - | -| `chainId` | `string` | StarknetChainId | - -#### Returns - -`Promise`<`boolean`\> - -boolean - -#### Defined in - -[src/wallet/connect.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/connect.ts#L73) - ---- - -### requestChainId - -▸ **requestChainId**(`swo`): `Promise`<[`ChainId`](types.RPC.RPCSPEC07.API.md#chainid)\> - -Request the current chain ID from the wallet. - -#### Parameters - -| Name | Type | -| :---- | :--------------------------------------------------------------------------------------------- | -| `swo` | [`StarknetWindowObject`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) | - -#### Returns - -`Promise`<[`ChainId`](types.RPC.RPCSPEC07.API.md#chainid)\> - -The current Starknet chain ID. - -#### Defined in - -[src/wallet/connect.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/connect.ts#L84) - ---- - -### deploymentData - -▸ **deploymentData**(`swo`): `Promise`<[`AccountDeploymentData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AccountDeploymentData.md)\> - -Get deployment data for a contract. - -#### Parameters - -| Name | Type | -| :---- | :--------------------------------------------------------------------------------------------- | -| `swo` | [`StarknetWindowObject`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) | - -#### Returns - -`Promise`<[`AccountDeploymentData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AccountDeploymentData.md)\> - -The deployment data result. - -#### Defined in - -[src/wallet/connect.ts:92](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/connect.ts#L92) - ---- - -### addInvokeTransaction - -▸ **addInvokeTransaction**(`swo`, `params`): `Promise`<[`AddInvokeTransactionResult`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md)\> - -Add an invoke transaction to the wallet. - -#### Parameters - -| Name | Type | Description | -| :------- | :----------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------- | -| `swo` | [`StarknetWindowObject`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) | - | -| `params` | [`AddInvokeTransactionParameters`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionParameters.md) | The parameters required for the invoke transaction. | - -#### Returns - -`Promise`<[`AddInvokeTransactionResult`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md)\> - -The result of adding the invoke transaction. - -#### Defined in - -[src/wallet/connect.ts:101](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/connect.ts#L101) - ---- - -### addDeclareTransaction - -▸ **addDeclareTransaction**(`swo`, `params`): `Promise`<[`AddDeclareTransactionResult`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md)\> - -Add a declare transaction to the wallet. - -#### Parameters - -| Name | Type | Description | -| :------- | :------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- | -| `swo` | [`StarknetWindowObject`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) | - | -| `params` | [`AddDeclareTransactionParameters`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionParameters.md) | The parameters required for the declare transaction. | - -#### Returns - -`Promise`<[`AddDeclareTransactionResult`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md)\> - -The result of adding the declare transaction. - -#### Defined in - -[src/wallet/connect.ts:113](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/connect.ts#L113) - ---- - -### signMessage - -▸ **signMessage**(`swo`, `typedData`): `Promise`<[`Signature`](types.RPC.RPCSPEC07.WALLET_API.md#signature)\> - -Sign typed data using the wallet. - -#### Parameters - -| Name | Type | Description | -| :---------- | :--------------------------------------------------------------------------------------------- | :------------------------------------------------------------ | -| `swo` | [`StarknetWindowObject`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) | the starknet (wallet) window object to request the signature. | -| `typedData` | [`TypedData`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md) | The typed data to sign. | - -#### Returns - -`Promise`<[`Signature`](types.RPC.RPCSPEC07.WALLET_API.md#signature)\> - -An array of signatures as strings. - -#### Defined in - -[src/wallet/connect.ts:126](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/connect.ts#L126) - ---- - -### supportedSpecs - -▸ **supportedSpecs**(`swo`): `Promise`<[`SpecVersion`](types.RPC.RPCSPEC07.WALLET_API.md#specversion)[]\> - -Get the list of supported specifications. - -#### Parameters - -| Name | Type | -| :---- | :--------------------------------------------------------------------------------------------- | -| `swo` | [`StarknetWindowObject`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) | - -#### Returns - -`Promise`<[`SpecVersion`](types.RPC.RPCSPEC07.WALLET_API.md#specversion)[]\> - -An array of supported specification strings. - -#### Defined in - -[src/wallet/connect.ts:134](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/connect.ts#L134) - ---- - -### onAccountChange - -▸ **onAccountChange**(`swo`, `callback`): `void` - -Attaches an event handler function to the "accountsChanged" event of a StarknetWindowObject. -When the accounts are changed, the specified callback function will be called. - -#### Parameters - -| Name | Type | Description | -| :--------- | :--------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------ | -| `swo` | [`StarknetWindowObject`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) | The StarknetWindowObject to attach the event handler to. | -| `callback` | [`AccountChangeEventHandler`](types.RPC.RPCSPEC07.WALLET_API.md#accountchangeeventhandler) | The function to be called when the accounts are changed. It will receive the changed accounts as a parameter. | - -#### Returns - -`void` - -#### Defined in - -[src/wallet/connect.ts:147](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/connect.ts#L147) - ---- - -### onNetworkChanged - -▸ **onNetworkChanged**(`swo`, `callback`): `void` - -Register a callback function to be called when the network is changed. - -#### Parameters - -| Name | Type | Description | -| :--------- | :--------------------------------------------------------------------------------------------- | :-------------------------------------------------------------- | -| `swo` | [`StarknetWindowObject`](../interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md) | The StarknetWindowObject instance. | -| `callback` | [`NetworkChangeEventHandler`](types.RPC.RPCSPEC07.WALLET_API.md#networkchangeeventhandler) | The callback function to be called when the network is changed. | - -#### Returns - -`void` - -#### Defined in - -[src/wallet/connect.ts:161](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/connect.ts#L161) diff --git a/www/versioned_docs/version-7.6.2/guides/L1message.md b/www/versioned_docs/version-7.6.2/guides/L1message.md deleted file mode 100644 index 283df3d1d..000000000 --- a/www/versioned_docs/version-7.6.2/guides/L1message.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -sidebar_position: 14 ---- - -# Messages with L1 network - -You can exchange messages between L1 & L2 networks: - -- L2 Starknet Mainnet ↔️ L1 Ethereum. -- L2 Starknet Testnet ↔️ L1 Sepolia ETH testnet. -- L2 local Starknet Devnet ↔️ L1 local ETH testnet (anvil, ...). - -You can find an explanation of the global mechanism [here](https://docs.starknet.io/architecture-and-concepts/network-architecture/messaging-mechanism/). - -Most of the code for this messaging process will be written in Cairo, but Starknet.js provides some functionalities for this subject. - -## L1 ➡️ L2 messages - -To send a message from L1 to L2, you need a solidity smart contract in the L1 network, calling the `SendMessageToL2` function of the Starknet core contract. -The interface of this function: - -```solidity -/** - Sends a message to an L2 contract. - This function is payable, the paid amount is the message fee. - Returns the hash of the message and the nonce of the message. -*/ -function sendMessageToL2( - uint256 toAddress, - uint256 selector, - uint256[] calldata payload -) external payable returns (bytes32, uint256); -``` - -You have to pay in the L1 an extra fee when invoking `sendMessageToL2` (of course paid with the L1 fee TOKEN), to pay the L2 part of the messaging mechanism. You can estimate this fee with this function: - -```typescript -import { RpcProvider, constants } from 'starknet'; -const provider = new RpcProvider({ nodeUrl: constants.NetworkName.SN_SEPOLIA }); // for testnet - -const responseEstimateMessageFee = await provider.estimateMessageFee({ - from_address: L1address, - to_address: L2address, - entry_point_selector: 'handle_l1_mess', - payload: ['1234567890123456789', '200'], // without from_address -}); -``` - -If the fee is paid in L1, the Cairo contract at `to_Address` is automatically executed, function `entry_point_selector` (the function shall have a decorator `#[l1_handler]` in the Cairo code, with a first parameter called `from_address: felt252`). The payload shall not include the `from_address` parameter. - -### L1 ➡️ L2 hashes - -Starknet.js proposes 3 functions to calculate hashes related to a L1 ➡️ L2 message : - -- The L1 ➡️ L2 message hash, from the L1 transaction: - - For a L1 tx requesting a message L1->L2, some data extracted from etherscan : https://sepolia.etherscan.io/tx/0xd82ce7dd9f3964d89d2eb9d555e1460fb7792be274950abe578d610f95cc40f5 - - ```typescript - const l1FromAddress = '0x0000000000000000000000008453fc6cd1bcfe8d4dfc069c400b433054d47bdc'; - const l2ToAddress = 2158142789748719025684046545159279785659305214176670733242887773692203401023n; - const l2Selector = 774397379524139446221206168840917193112228400237242521560346153613428128537n; - const payload = [ - 4543560n, - 829565602143178078434185452406102222830667255948n, - 3461886633118033953192540141609307739580461579986333346825796013261542798665n, - 9000000000000000n, - 0n, - ]; - const l1Nonce = 8288n; - const l1ToL2MessageHash = hash.getL2MessageHash( - l1FromAddress, - l2ToAddress, - l2Selector, - payload, - l1Nonce - ); - // l1ToL2MessageHash = '0x2e350fa9d830482605cb68be4fdb9f0cb3e1f95a0c51623ac1a5d1bd997c2090' - ``` - - Can be verified here: https://sepolia.starkscan.co/message/0x2e350fa9d830482605cb68be4fdb9f0cb3e1f95a0c51623ac1a5d1bd997c2090#messagelogs - -- The L1 ➡️ L2 message hash, from the L2 transaction hash: - - ```typescript - const l2TransactionHash = '0x28dfc05eb4f261b37ddad451ff22f1d08d4e3c24dc646af0ec69fa20e096819'; - const l1MessageHash = await provider.getL1MessageHash(l2TransactionHash); - // l1MessageHash = '0x55b3f8b6e607fffd9b4d843dfe8f9b5c05822cd94fcad8797deb01d77805532a' - ``` - - Can be verified here : https://sepolia.voyager.online/tx/0x28dfc05eb4f261b37ddad451ff22f1d08d4e3c24dc646af0ec69fa20e096819#messages - -- The L1 ➡️ L2 transaction hash, from the L1 transaction: - - ```typescript - const l1ToL2TransactionHash = hash.calculateL2MessageTxHash( - l1FromAddress, - l2ToAddress, - l2Selector, - payload, - constants.StarknetChainId.SN_SEPOLIA, - l1Nonce - ); - // l1ToL2TransactionHash = '0x67d959200d65d4ad293aa4b0da21bb050a1f669bce37d215c6edbf041269c07' - ``` - - Can be verified here : https://sepolia.starkscan.co/tx/0x067d959200d65d4ad293aa4b0da21bb050a1f669bce37d215c6edbf041269c07 - -## L2 ➡️ L1 messages - -To send a message to L1, you will just invoke a Cairo contract function, paying a fee that will pay for all the processes (in L1 & L2). - -If necessary, you can estimate this fee with the generic `estimateInvokeFee` function: - -```typescript -const { suggestedMaxFee } = await account0.estimateInvokeFee({ - contractAddress: testAddress, - entrypoint: 'withdraw_to_L1', - calldata: ['123456789', '30'], -}); -``` - -The result is in `suggestedMaxFee`. - -### L2 ➡️ L1 hash - -The L2 ➡️ L1 message hash, from the message content: - -```typescript -const fromL2Address = '0x04c5772d1914fe6ce891b64eb35bf3522aeae1315647314aac58b01137607f3f'; -const toL1Address = '0x8453fc6cd1bcfe8d4dfc069c400b433054d47bdc'; -const payloadMessage = [ - 0n, - 1270393329865452722422775477982592488490549769359n, - 4543560n, - 200000000000000, - 0n, -]; -const l2ToL1MessageHash = hash.getL1MessageHash(fromL2Address, toL1Address, payloadMessage); -// l2ToL1MessageHash = '0x2eace1d0ab5dbe354a93fb0a59c6b98f26e6a0fe7c33f87329f8fc9829058b8b' -``` - -Can be verified here : https://sepolia.voyager.online/message/0x2eace1d0ab5dbe354a93fb0a59c6b98f26e6a0fe7c33f87329f8fc9829058b8b diff --git a/www/versioned_docs/version-7.6.2/guides/_category_.json b/www/versioned_docs/version-7.6.2/guides/_category_.json deleted file mode 100644 index c694eb5b2..000000000 --- a/www/versioned_docs/version-7.6.2/guides/_category_.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "label": "Guides", - "position": 2, - "collapsed": false -} diff --git a/www/versioned_docs/version-7.6.2/guides/automatic_cairo_ABI_parsing.md b/www/versioned_docs/version-7.6.2/guides/automatic_cairo_ABI_parsing.md deleted file mode 100644 index 11aebb085..000000000 --- a/www/versioned_docs/version-7.6.2/guides/automatic_cairo_ABI_parsing.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -sidebar_position: 18 ---- - -# Automatic TypeScript parsing of Cairo ABI-s - -Starknet.js has integrated [Abi-Wan-Kanabi](https://github.com/keep-starknet-strange/abi-wan-kanabi), the standalone TypeScript parser for Cairo smart contracts. - -It enables on-the-fly typechecking and autocompletion for contract calls directly in TypeScript. Developers can now catch typing mistakes early, prior to executing a call on-chain, thus enhancing the overall DAPP development experience. - -## Supported Cairo ABI-s - -Please take a look on the Abi-Wan [documentation](https://github.com/keep-starknet-strange/abi-wan-kanabi#cairo-versions) for a list of supported Cairo ABI-s. - -## Usage - -First, you need to wrap your ABI in an array and export it as a `const`. - -Example: - -```js -export const ABI = [ - { - type: 'function', - name: 'increase_balance', - inputs: [ - { - name: 'amount', - type: 'core::felt252', - }, - ], - outputs: [], - state_mutability: 'external', - }, -] as const; -``` - -Later on, to use it in our code: - -```js -import { Contract, RpcProvider, constants } from 'starknet'; - -const address = 'YOUR_ADDRESS_HERE'; -const provider = new RpcProvider({ nodeUrl: `${yourNodeUrl}` }); -const contract = new Contract(ABI, address, provider).typedv2(ABI); - -// Notice the autocompletion and typechecking in your editor -const result = await contract.increase_balance(100); -``` - -After that, you can use `contract` in your code as you would before, but with autocompletion and typechecking! - -### Generate `abi.ts` from the contract class - -If you have your contract class in a Json file, you can use the abiwan CLI to generate the `abi.ts` typescript file - -```bash -npx abi-wan-kanabi --input /path/to/contract_class.json --output /path/to/abi.ts -``` - -### Usage for deployed contracts - -Let's say you want to interact with the [Ekubo: Core](https://starkscan.co/contract/0x00000005dd3d2f4429af886cd1a3b08289dbcea99a294197e9eb43b0e0325b4b) contract - -You need to first get the **ABI** of the contract and export it in a typescript file, you can do so using one command combining both [`starkli`](https://github.com/xJonathanLEI/starkli) (tested with version 0.2.3) and `npx abi-wan-kanabi`: - -```bash -starkli class-at "0x00000005dd3d2f4429af886cd1a3b08289dbcea99a294197e9eb43b0e0325b4b" --network mainnet | npx abi-wan-kanabi --input /dev/stdin --output abi.ts -``` - -```typescript -import { Contract, RpcProvider, constants } from 'starknet'; -import { ABI } from './abi'; - -const address = '0x00000005dd3d2f4429af886cd1a3b08289dbcea99a294197e9eb43b0e0325b4b'; -const provider = new RpcProvider({ nodeUrl: constants.NetworkName.SN_MAIN }); -const contract = new Contract(ABI, address, provider).typedv2(ABI); - -// Notice the types inferred for the parameter and the returned value -const primary_interface_id = contract.get_primary_interface_id(); -const protocol_fees_collected = contract.get_protocol_fees_collected('0x1'); -``` diff --git a/www/versioned_docs/version-7.6.2/guides/configuration.md b/www/versioned_docs/version-7.6.2/guides/configuration.md deleted file mode 100644 index 0963af17e..000000000 --- a/www/versioned_docs/version-7.6.2/guides/configuration.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -sidebar_position: 2.1 ---- - -# Configuration - -Starknet.js has behaviors that can be adjusted through its configurations: `config` and `logger`. - -## Config - -The core global configuration is a singleton object containing case-sensitive global default properties. -Each property can be configured before the rest of the code is run to modify their corresponding behavior. -When they overlap, constructor and method parameters have higher precedence over the global configuration defaults. -Custom keys can also be used to store and use arbitrary values during runtime. - -```ts -import { config } from 'starknet'; - -// Set existing or custom global property -config.set('mode', 'DEFAULT'); - -// Retrieve entire configuration -config.getAll(); - -// Retrieve single global property -config.get('legacyMode'); - -// Update (merge) existing configuration with modified or custom property -config.update({ logLevel: 'DEBUG', newKey: 'value' }); - -// Reset config to initial global configuration -config.reset(); - -// Delete existing global property -config.delete('newKey'); - -// Check existence of the global property -config.hasKey('newKey'); -``` - -### Global parameters and Default Global Configuration - -Default global configuration is the initial state that global configuration starts with. - -Details can be found in [global/constants.ts](https://github.com/starknet-io/starknet.js/blob/develop/src/global/constants.ts) - -```ts - logLevel: 'INFO', // verbosity levels of the system logger, more details under logger - accountTxVersion: ETransactionVersion.V2, // by default use V2 transactions in Account class instances - legacyMode: false, // enable legacy transaction types (note: this could break the code depending on the Starknet version used by the network) -``` - -## Logger - -Logger is a singleton object through which the Starknet.js logs are managed. - -Supported log levels: - -| | | | -| :-----: | --- | ----------------------------- | -| `DEBUG` | 5 | show all logs | -| `INFO` | 4 | show INFO, WARN, ERROR, FATAL | -| `WARN` | 3 | show WARN, ERROR, FATAL | -| `ERROR` | 2 | show ERROR, FATAL | -| `FATAL` | 1 | show only FATAL | -| `OFF` | 0 | disable logs | - -```ts -import { logger } from 'starknet'; - -// set custom log level (can also be done using global config) -logger.setLogLevel('WARN'); - -// get current log level -logger.getLogLevel(); - -// get a list of all verbosity modes that would be displayed with the current log level -logger.getEnabledLogLevels(); -``` - -Developers can also use it to add custom logs. - -```ts -import { logger } from 'starknet'; - -logger.debug('Debug message', additionalDataObject); -logger.info('Info message', additionalDataObject); -logger.warn('Warn message', additionalDataObject); -logger.error('Error message', additionalDataObject); -logger.fatal('Fatal message', additionalDataObject); -``` diff --git a/www/versioned_docs/version-7.6.2/guides/connect_account.md b/www/versioned_docs/version-7.6.2/guides/connect_account.md deleted file mode 100644 index 62f1b33c2..000000000 --- a/www/versioned_docs/version-7.6.2/guides/connect_account.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -sidebar_position: 4 ---- - -# 🔌 Connect to an existing account - -Once your provider is initialized, you can connect an existing account. - -You need 2 pieces of data: - -- the address of the account -- the private key of this account - -```typescript -import { Account, RpcProvider } from 'starknet'; -``` - -## Connect to a pre-deployed account in Starknet Devnet - -When you launch `starknet-devnet`, 10 accounts are pre-deployed with 100 dummy ETH and STRK in each. - -Addresses and private keys are displayed on the console at initialization. - -> This data will change at each launch, so to freeze them, launch with: `cargo run --release -- --seed 0`. - -The result for `account #0`: - -```text -Address : 0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691 -Private key: 0x71d7bb07b9a64f6f78ac4c816aff4da9 -Public key : 0x7e52885445756b313ea16849145363ccb73fb4ab0440dbac333cf9d13de82b9 -``` - -Then you can use this code: - -```typescript -// initialize provider for Devnet v0.3.0 -const provider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); -// initialize existing account 0 pre-deployed on Devnet -const accountAddress = '0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691'; -const privateKey = '0x71d7bb07b9a64f6f78ac4c816aff4da9'; - -const account = new Account(provider, accountAddress, privateKey); -``` - -Your account is now connected, and you can use it. - -## 👛 Connect to an existing account (in any network) - -The code is the same, you just have to: - -- connect to the appropriate network. -- use the address of this account (public data). -- use the private key of this account (very sensitive data: your code MUST not disclose it). - -For example, to connect an existing account on testnet, with a private key stored in a .env non-archived file: - -```typescript -import * as dotenv from 'dotenv'; -dotenv.config(); - -// initialize RPC v0.8 provider -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); -// initialize existing account -const privateKey = process.env.OZ_NEW_ACCOUNT_PRIVKEY; -const accountAddress = '0x051158d244c7636dde39ec822873b29e6c9a758c6a9812d005b6287564908667'; - -const account = new Account(provider, accountAddress, privateKey); -``` - -:::tip -If you are connected to an RPC v0.7 node and you want to use ETH as fees for this account: - -```typescript -const myAccount = new Account( - provider, - accountAddress, - privateKey, - undefined, - ETransactionVersion.V2 -); -``` - -::: - -## Connect to an account that uses Ethereum signature - -Accounts that use Ethereum signatures are possible because of account abstraction. - -To connect to this type of account: - -```typescript -const myEthPrivateKey = '0x525bc68475c0955fae83869beec0996114d4bb27b28b781ed2a20ef23121b8de'; -const myEthAccountAddressInStarknet = - '0x65a822fbee1ae79e898688b5a4282dc79e0042cbed12f6169937fddb4c26641'; -const myEthSigner = new EthSigner(myEthPrivateKey); -const myEthAccount = new Account(provider, myEthAccountAddressInStarknet, myEthSigner); -``` diff --git a/www/versioned_docs/version-7.6.2/guides/connect_contract.md b/www/versioned_docs/version-7.6.2/guides/connect_contract.md deleted file mode 100644 index 606968330..000000000 --- a/www/versioned_docs/version-7.6.2/guides/connect_contract.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -sidebar_position: 5 ---- - -# 🔌 Connect a deployed contract - -Once your provider is initialized, you can connect a contract already deployed in the network. - -You need 2 pieces of data: - -- the address of the contract -- the ABI file of the contract (or the compiled/compressed contract file, that includes the ABI) - -> If you don't have the ABI file, the `provider.getClassAt()` and `provider.getClassByHash()` commands will recover the compressed contract file. As these methods generate a significant workload for the node, it's recommended to store the result on your computer to be able to reuse it later without using the provider each time: - -```typescript -import fs from 'fs'; - -const compressedContract = await provider.getClassAt(addrContract); -fs.writeFileSync('./myAbi.json', json.stringify(compressedContract.abi, undefined, 2)); -``` - -> When possible, prefer to read the compiled contract from a local Json file, as it's much more faster, using the `json.parse` util provided by Starknet.js, as shown below. - -## Get the ABI from a compiled/compressed file - -```typescript -import { RpcProvider, Contract, json } from 'starknet'; -``` - -If you have the compiled/compressed file of the contract, use this code to recover all data, including the ABI: - -```typescript -const compiledContract = json.parse( - fs.readFileSync('./compiledContracts/test.json').toString('ascii') -); -``` - -> Note the `json.parse` util provided by Starknet.js - -## Connect to the contract - -```typescript -// initialize provider -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); - -// initialize deployed contract -const testAddress = '0x7667469b8e93faa642573078b6bf8c790d3a6184b2a1bb39c5c923a732862e1'; -const compiledTest = json.parse(fs.readFileSync('./compiledContracts/test.json').toString('ascii')); - -// connect the contract -const myTestContract = new Contract(compiledTest.abi, testAddress, provider); -``` - -## Typechecking and autocompletion - -If you want to have typechecking and autocompletion for your contracts functions calls and catch typing errors early, you can use Abiwan! - -See [this guide](./automatic_cairo_ABI_parsing.md) for more details. diff --git a/www/versioned_docs/version-7.6.2/guides/create_contract.md b/www/versioned_docs/version-7.6.2/guides/create_contract.md deleted file mode 100644 index f8ad6b263..000000000 --- a/www/versioned_docs/version-7.6.2/guides/create_contract.md +++ /dev/null @@ -1,206 +0,0 @@ ---- -sidebar_position: 7 ---- - -# Create a new contract - -When you have compiled your new Cairo contract, you can deploy it in the network. - -In Starknet, a new contract has to be added in two phases: - -1. Create the contract class. -2. Deploy an instance of the contract. - -> You must first declare your contract class and only then deploy a new instance of it! - -![](./pictures/createContract.png) - -> Both declaration and deployment will cost fees. That's why these functions are methods of the `Account` object. The account should be funded enough to be able to process everything. - -- The contract class contains the logic of the contract. A contract class is identified by its Class Hash. -- The contract instance contains the memory storage of this instance. A contract instance is identified by its contract address. You will interact with the contract instance by using this address. - -You will have only one Class Hash for one contract code, but you can have as many contract instances as you need. - -Other users of the network can use your declared contract. It means that if somebody has already declared a contract class (and paid this declaration), and if you would like to have your own instance of this contract, you have only to deploy (and pay) a new instance. - -Example: if you want an ERC20 contract, and somebody has already declared an ERC20 contract that conforms to your needs, you have just to deploy a new instance of this contract class. - -```typescript -import { RpcProvider, Account, Contract, json, stark, uint256, shortString } from 'starknet'; -``` - -## `declareAndDeploy()` your new contract - -Starknet.js proposes a function to perform both operations in one step: `declareAndDeploy()`. - -Here, to declare & deploy a `Test.cairo` smart contract, in Devnet: - -```typescript -// connect provider -const provider = new RpcProvider({ baseUrl: 'http://127.0.0.1:5050/rpc' }); -// connect your account. To adapt to your own account: -const privateKey0 = process.env.OZ_ACCOUNT_PRIVATE_KEY; -const account0Address: string = '0x123....789'; -const account0 = new Account(provider, account0Address, privateKey0); - -// Declare & deploy Test contract in Devnet -const compiledTestSierra = json.parse( - fs.readFileSync('./compiledContracts/test.contract_class.json').toString('ascii') -); -const compiledTestCasm = json.parse( - fs.readFileSync('./compiledContracts/test.compiled_contract_class.json').toString('ascii') -); -const deployResponse = await account0.declareAndDeploy({ - contract: compiledTestSierra, - casm: compiledTestCasm, -}); - -// Connect the new contract instance: -const myTestContract = new Contract( - compiledTestSierra.abi, - deployResponse.deploy.contract_address, - provider -); -console.log('Test Contract Class Hash =', deployResponse.declare.class_hash); -console.log('✅ Test Contract connected at =', myTestContract.address); -``` - -## `deployContract()` for a new instance - -If the contract class is already declared, it's faster and cheaper: just use `deployContract()`. - -```typescript -// connect provider -const provider = new RpcProvider({ baseUrl: 'http://127.0.0.1:5050/rpc' }); -// connect your account. To adapt to your own account: -const privateKey0 = process.env.OZ_ACCOUNT_PRIVATE_KEY; -const account0Address: string = '0x123....789'; - -const account0 = new Account(provider, account0Address, privateKey0); - -// Deploy Test contract in Devnet -// ClassHash of the already declared contract -const testClassHash = '0xff0378becffa6ad51c67ac968948dbbd110b8a8550397cf17866afebc6c17d'; - -const deployResponse = await account0.deployContract({ classHash: testClassHash }); -await provider.waitForTransaction(deployResponse.transaction_hash); - -// read the ABI of the Test contract -const { abi: testAbi } = await provider.getClassByHash(testClassHash); -if (testAbi === undefined) { - throw new Error('no abi.'); -} - -// Connect the new contract instance: -const myTestContract = new Contract(testAbi, deployResponse.contract_address, provider); -console.log('✅ Test Contract connected at =', myTestContract.address); -``` - -## Construct the constructor - -If your contract has a constructor with inputs, you have to provide these inputs in the `deployContract` or `declareAndDeploy` commands. -For example, with this contract constructor: - -```json - "name": "constructor", - "inputs": [ - { - "name": "text", - "type": "core::felt252" - }, - { - "name": "longText", - "type": "core::array::Array::" - }, - { - "name": "array1", - "type": "core::array::Array::" - } - ], -``` - -You have several ways to define these inputs: - -### myCalldata.compile - -This is the recommended way to proceed: - -```typescript -const myArray1: RawCalldata = ['0x0a', 24, 36n]; -const contractCallData: CallData = new CallData(compiledContractSierra.abi); -const contractConstructor: Calldata = contractCallData.compile('constructor', { - text: 'niceToken', - longText: 'http://addressOfMyERC721pictures/image1.jpg', - array1: myArray1, -}); -const deployResponse = await account0.deployContract({ - classHash: contractClassHash, - constructorCalldata: contractConstructor, -}); -``` - -Starknet.js will perform a full verification of conformity with the abi. Properties can be unordered. Do not use properties for array_len, it will be handled automatically by Starknet.js. - -### CallData.compile - -For very simple constructors, you can use `CallData.compile`: - -```typescript -const myArray1: RawCalldata = ['0x0a', 24, 36n]; -const contractConstructor: Calldata = CallData.compile({ - text: 'niceToken', - longText: 'http://addressOfMyERC721pictures/image1.jpg', // for Cairo v2.4.0 onwards - array1: myArray1, -}); -// with older Cairo, use: longText: shortString.splitLongString("http://addressOfMyERC721pictures/image1.jpg"), -const deployResponse = await account0.deployContract({ - classHash: contractClassHash, - constructorCalldata: contractConstructor, -}); -``` - -Properties have to be ordered in conformity with the ABI. - -Even easier: - -```typescript -const contractConstructor: Calldata = CallData.compile([ - 'niceToken', - 'http://addressOfMyERC721pictures/image1.jpg', - myArray1, -]); // for Cairo v2.4.0 onwards -``` - -## `declare()` for a new class - -If you want only declare a new Contract Class, use `declare()`. - -```typescript -// connect provider -const provider = new RpcProvider({ baseUrl: 'http://127.0.0.1:5050/rpc' }); -// connect your account. To adapt to your own account: -const privateKey0 = process.env.OZ_ACCOUNT_PRIVATE_KEY; -const account0Address: string = '0x123....789'; - -const account0 = new Account(provider, account0Address, privateKey0); - -// Declare Test contract in Devnet -const compiledTestSierra = json.parse( - fs.readFileSync('./compiledContracts/test.sierra').toString('ascii') -); -const compiledTestCasm = json.parse( - fs.readFileSync('./compiledContracts/test.casm').toString('ascii') -); -const declareResponse = await account0.declare({ - contract: compiledTestSierra, - casm: compiledTestCasm, -}); -console.log('Test Contract declared with classHash =', declareResponse.class_hash); -await provider.waitForTransaction(declareResponse.transaction_hash); -console.log('✅ Test Completed.'); -``` - -:::tip -If the class is already declared, `declare()` will fail. You can also use `declareIfNot()` to not fail in this case. -::: diff --git a/www/versioned_docs/version-7.6.2/guides/define_call_message.md b/www/versioned_docs/version-7.6.2/guides/define_call_message.md deleted file mode 100644 index 58acb1556..000000000 --- a/www/versioned_docs/version-7.6.2/guides/define_call_message.md +++ /dev/null @@ -1,647 +0,0 @@ ---- -sidebar_position: 10 ---- - -# Data transformation - -This guide is the most important of all this documentation. Take your time, and read it carefully... - -Cairo contracts and JavaScript/TypeScript languages do not have the same types of data. To exchange data with Starknet, the data have to be transformed and formatted in a list of numbers. - -So, it's necessary to prepare the data before sending them to a contract. -On the other side, when a contract sends data to your DAPP (the result of a call), you also have to transform them before using them in your code. - -In Starknet.js, you can perform these transformations manually, but you can take advantage of methods that perform these transformations. - -## Types of data - -### Cairo - -Cairo has 2 versions, involving 2 types of data: - -- **Cairo 0**: here, everything is felt, an integer on 251 bits. - Available: array, struct, tuple, named tuple, or a mix of these elements. -- **Cairo 1**: with plethora of literal types: u8, u16, u32, usize, u64, u96, u128, felt252, u256, bool, address, eth address, classHash. - Available: array, struct, tuple, bytes31, byteArray, enums or a mix of these elements. - -Starknet.js is compatible with both versions. - -### Starknet - -Starknet is waiting for a list of felts, and answers with the same format. - -### JavaScript / TypeScript - -These types do not exist in JS/TS - you have Number, bigInt, string, array, objects... and types defined in libraries. - -In Starknet.js, it's a bit ... complicated: you have the BigNumberish type and it can include: - -- String (representing a number): "123", "0xabc2" -- Number (max 53 bits): 123 -- BigInt (max 255 bits): 12345612345n - -```typescript -import { BigNumberish } from 'starknet'; -const decimals: BigNumberish = 18; -``` - -## Preparation of data before delivery - -If your Cairo smart contract is waiting for a: - -### felt, u8, u16, u32, usize, u64, u96, u128, felt252, ContractAddress, EthAddress, ClassHash - -Starknet is waiting for a felt. -You can send to Starknet.js methods: bigNumberish. - -```typescript -await myContract.my_function(12, '13', '0xe', 15n); -``` - -> `EthAddress` is limited to 160 bits. -> `felt, felt252, ClassHash` and `ContractAddress` are limited to 252 bits. - -### bool - -Starknet is waiting for a felt, containing 0 or 1. -You can send to Starknet.js methods: boolean, bigNumberish. - -```typescript -await myContract.my_function(true, 1); -``` - -### u256 - -Starknet is waiting for 2 felts, the first including the lowest 128 bits, the second including the 128 highest bits. -You can send to Starknet.js methods: bigNumberish (Cairo 1 only), Uint256 object (both Cairo 0 & 1). - -```typescript -await myContract0.my_function({ low: 100, high: 0 }); // Cairo 0 & 1 contract -await myContract1.my_function(cairo.uint256(100)); // Cairo 0 & 1 contract -await myContract2.my_function(12345678, '13456789765', '0xe23a40b543f', 1534566734334n); // Cairo 1 contract -``` - -In specific cases that we will see hereunder, you can use an object, with the following format: - -```typescript -const a1: Uint256 = cairo.uint256( - '0x05f7cd1fd465baff2ba9d2d1501ad0a2eb5337d9a885be319366b5205a414fdd' -); -const a2: Uint256 = { - low: '0xeb5337d9a885be319366b5205a414fdd', - high: '0x05f7cd1fd465baff2ba9d2d1501ad0a2', -}; -const a3: Uint256 = { low: a1.low, high: a1.high }; -``` - -### u512 - -Starknet is waiting for 4 u128, the first one has the lowest weight. -You can send to Starknet.js methods: bigNumberish or Uint512 object. - -```typescript -await myContract0.my_function(553844998243714947043252949842317834769n); -await myContract1.my_function( - cairo.uint512( - '0xa9d2d1501ad0a2eb5337a9d2d1501ad0a2eb5337a9d2d1501ad0a2eb5337a9d2d1501ad0a2eb5337a9d2d1501ad0a2eb5337' - ) -); -await myContract2.my_function(12345678, '13456789765', '0xe23a40b543f', 1534566734334n); -``` - -In specific cases, you can use an object, with the following format: - -```typescript -const a2: Uint512 = { - limb0: '0xeb5337d9a885be310x9365205a414fdd', - limb1: '0x1fd465baff2ba9d2d1501ad0a2eb5337', - limb2: '0x05f7cd1fd465baff2ba9d2d1501ad0a2', - limb3: '0x2eb5337d9a885be319366b5205a414fd', -}; -``` - -### shortString or bytes31 - -For a shortString, Starknet is waiting for a felt, including 31 ASCII characters max. -You can send to Starknet.js methods: string, bigNumberish. - -bytes31 is similar to shortString. -You can send to Starknet.js methods: string. - -```typescript -await myContract.my_function('Token', '0x534e5f4d41494e'); // send 2 shortStrings -``` - -To encode yourself a string: - -```typescript -const encStr: string = shortString.encodeShortString('Stark'); -``` - -To decode yourself a string: - -```typescript -const decStr: string = shortString.decodeShortString('0x7572692f706963742f7433382e6a7067'); -``` - -The result is: "uri/pict/t38.jpg" - -### longString or ByteArray - -longString is a string that may contain more than 31 characters. -Starknet is waiting for an array of felt: string_len, string1, string2, ... -You can send to Starknet.js methods: string, bigNumberish[]. - -ByteArray is similar to longString. -Starknet is waiting for a specific struct. -You can send to Starknet.js methods: string. - -```typescript -await myContract.my_function('http://addressOfMyERC721pictures/image1.jpg'); -``` - -To force to send a shortString as a ByteArray with `CallData.compile()`: - -```typescript -const myCalldata = Calldata.compile([byteArray.byteArrayFromString('Take care.')]); -``` - -If you want to split yourself your longString in 31 chars substrings: - -```typescript -const splitted: string[] = shortString.splitLongString( - 'http://addressOfMyERC721pictures/image1.jpg' -); -``` - -If you want to split your longString in an array of felts: - -```typescript -const longString: string[] = shortString - .splitLongString('http://addressOfMyERC721pictures/image1.jpg') - .map((str) => shortString.encodeShortString(str)); -``` - -### tuple - -Starknet is waiting for a list of felts. -You can send it to Starknet.js methods: `cairo.tuple()`, object. - -```typescript -const myTpl = cairo.tuple('0x0a', 200); -await myContract.my_function(myTpl); -``` - -To construct your tuple: - -```typescript -const myTpl = { '0': '0x0a', '1': 200 }; -``` - -### Named tuple - -:::warning Only for Cairo 0 -::: - -Starknet is waiting for a list of felts. -You can send to Starknet.js methods: an object, `cairo.tuple()`, list of bigNumberish. -From this ABI: - -```json -{ - "name": "data2", - "type": "(min: felt, max: felt)" -} -``` - -You can create this code: - -```typescript -const namedTup = { min: '0x4e65ac6', max: 296735486n }; -await myContract.my_function(namedTup); -``` - -:::tip -It's not mandatory to create manually an object conform to the Cairo 0 named tuple ; you can just use the `cairo.tuple()` function. -::: - -### Ethereum public key - -If your ABI is requesting this type: `core::starknet::secp256k1::Secp256k1Point`, it means that you have probably to send an Ethereum full public key. Example: - -```json -{ - "type": "constructor", - "name": "constructor", - "inputs": [ - { - "name": "public_key", - "type": "core::starknet::secp256k1::Secp256k1Point" - } - ] -} -``` - -- If you are using a calldata construction method using the ABI, you have just to use a 512 bits number (so, without parity): - -```typescript -const privateKeyETH = '0x45397ee6ca34cb49060f1c303c6cb7ee2d6123e617601ef3e31ccf7bf5bef1f9'; -const ethSigner = new EthSigner(privateKeyETH); -const ethFullPublicKey = await ethSigner.getPubKey(); // 512 bits number -const myCallData = new CallData(ethAccountAbi); -const accountETHconstructorCalldata = myCallData.compile('constructor', { - public_key: ethFullPublicKey, -}); -``` - -- If you are using a calldata construction method without the ABI, you have to send a tuple of 2 u256: - -```typescript -const ethFullPublicKey = - '0x0178bb97615b49070eefad71cb2f159392274404e41db748d9397147cb25cf597ebfcf2f399e635b72b99b8f76e9080763c65a42c842869815039d912150ddfe'; // 512 bits number -const pubKeyETH = encode.addHexPrefix(encode.removeHexPrefix(ethFullPublicKey).padStart(128, '0')); -const pubKeyETHx = cairo.uint256(addAddressPadding(encode.addHexPrefix(pubKeyETH.slice(2, -64)))); -const pubKeyETHy = cairo.uint256(addAddressPadding(encode.addHexPrefix(pubKeyETH.slice(-64)))); -const accountETHconstructorCalldata = CallData.compile([cairo.tuple(pubKeyETHx, pubKeyETHy)]); -``` - -### struct - -Starknet is waiting for a list of felts. -You can send to Starknet.js methods: an object. - -```typescript -const myStruct = { type: 'TR1POST', tries: 8, isBridged: true }; -await myContract.my_function(myStruct); -``` - -### array, span - -Starknet is waiting for an array of felts: array_len, array1, array2, ... -You can send it to Starknet.js methods: bigNumberish[]. - -```typescript -Const myArray = [10, "0xaa", 567n]; -await myContract.my_function(myArray); -``` - -:::danger important -Do not add the `array_len` parameter before your array. Starknet.js will manage this element automatically. -::: - -> It's also applicable for Cairo `Span` type. - -### Fixed array - -Starknet type `[type_array; n]` is waiting for an array of `n` items of type `type_array`, without initial length parameter : item1, item2, ... -You can send it to Starknet.js the same way than arrays & spans: bigNumberish[]. - -```typescript -// for Cairo type [core::integer::u32; 4] -Const myArray = [10, 123, 345, 12]; -await myContract.my_function(myArray); -``` - -:::caution -The fixed arrays are automatically handled only by the functions that uses the contract ABI. So, when using `CallData.compile()`, you have to use the `CairoFixedArray` class: - -```typescript -// for Cairo type [core::integer::u8; 3] -const myArray = [1, 2, 3]; -const myCalldata = CallData.compile([CairoFixedArray.compile(myArray)]); -``` - -::: - -### Complex types - -You can mix and nest literals, arrays, structs, and tuples. - -Starknet is waiting for a list of felts. -All these examples are valid: - -```typescript -type Order2 = { - p1: BigNumberish; - p2: BigNumberish[]; -}; // struct -const myOrder2: Order2 = { - p1: 17, - p2: [234, 467456745457n, '0x56ec'], -}; -const param1 = cairo.tuple(cairo.tuple(34, '0x5e'), 234n); -const param2 = [ - [200, 201], - [202, 203], - [204, 205], -]; -const param3 = [myOrder2, myOrder2]; -const param4 = [cairo.tuple(251, 40000n), cairo.tuple(252, 40001n)]; -await myContract.my_function(param1, param2, param3, param4); -``` - -## Authorized types for Starknet.js methods - -There are 12 methods using contract parameters. Some types are authorized for each method: - -### List of parameters - -Only meta-class methods are using a list of parameters (as illustrated in the previous chapter). -A Meta-Class is a Class that has any of its properties determined at run-time. The Contract object uses a Contract's ABI to determine what methods are available. - -```typescript -await myContract.my_function('TOKEN', '13', [10, 11, 12], 135438734812n); -// or -const functionName = 'my_function'; -await myContract[functionName]('TOKEN', '13', [10, 11, 12], 135438734812n); -``` - -### Array of parameters - -An array of parameters can be used as input: - -```typescript -const myParams = [{ x: 100, y: 200 }, 13, [10, 11, 12], cairo.uint256('0x295fa652e32b')]; -const txResp = await account0.execute({ - contractAddress: testAddress, - entrypoint: 'change_activity', - calldata: myParams, -}); -``` - -All Starknet.js methods accept this type of input, except meta-class, which needs 3 dots prefix: - -```typescript -const myParams = ['TOKEN', '13', [10, 11, 12], 135438734812n]; -await myContract.my_function(...myParams); -// or -const functionName = 'my_function'; -await myContract[functionName](...myParams); -``` - -:::warning important -Objects properties have to be ordered in accordance with the ABI. -::: - -### Object (without ABI conformity check) - -The use of objects allows a clear representation of the list of parameters: - -```typescript -const myParams = { - name: 'TOKEN', - decimals: '13', - amount: 135438734812n, -}; -const deployResponse = await myAccount.deployContract({ - classHash: contractClassHash, - constructorCalldata: myParams, -}); -``` - -This type is available for: `CallData.compile(), hash.calculateContractAddressFromHash, account.deployContract, account.deployAccount, account.execute` - -:::warning important -Objects properties have to be ordered in accordance with the ABI. -::: - -### Object (with ABI conformity check) - -This is the recommended type of input to use, especially for complex ABI. - -```typescript -const myFalseUint256 = { high: 1, low: 23456 }; // wrong order; should be low first -type Order2 = { - p1: BigNumberish; - p2: BigNumberish[]; -}; -const myOrder2bis: Order2 = { - // wrong order; p1 should be first - p2: [234, 467456745457n, '0x56ec'], - p1: '17', -}; -const functionParameters: RawArgsObject = { - //wrong order; all properties are mixed - active: true, - symbol: 'NIT', - initial_supply: myFalseUint256, - recipient: account0.address, - decimals: 18, - tupOfTup: cairo.tuple(cairo.tuple(34, '0x5e'), myFalseUint256), - card: myOrder2bis, - longText: 'Zorg is back, for ever, here and everywhere', - array1: [100, 101, 102], - array2: [ - [200, 201], - [202, 203], - [204, 205], - ], - array3: [myOrder2bis, myOrder2bis], - array4: [myFalseUint256, myFalseUint256], - tuple1: cairo.tuple(40000n, myOrder2bis, [54, 55n, '0xae'], 'texte'), - name: 'niceToken', - array5: [cairo.tuple(251, 40000n), cairo.tuple(252, 40001n)], -}; -const contractCallData: CallData = new CallData(compiledContractSierra.abi); -const myCalldata: Calldata = contractCallData.compile('constructor', functionParameters); -const deployResponse = await account0.deployContract({ - classHash: contractClassHash, - constructorCalldata: myCalldata, -}); -// or -const myCall: Call = myContract.populate('setup_elements', functionParameters); -const tx = await account0.execute(myCall); -// or -const myCall: Call = myContract.populate('get_elements', functionParameters); -const res = await myContract.get_elements(myCall.calldata); -``` - -It can be used only with methods that know the ABI: `Contract.populate, myCallData.compile`. -Starknet.js will perform a full check of conformity with the ABI of the contract, reorder the object's properties if necessary, stop if something is wrong or missing, remove not requested properties, and convert everything to Starknet format. -Starknet.js will alert you earlier of errors in your parameters (with human comprehensible words), before the call to Starknet. So, no more incomprehensible Starknet messages due to parameters construction. - -If a property `array_len` has been added before an array, this property is ignored as it's automatically managed by Starknet.js. - -### Call, or Call[] - -A Call is an object with this format: - -```typescript -type Call = { - contractAddress: string; - entrypoint: string; - calldata?: RawArgs; -}; -``` - -...and is only authorized with `Account.execute `. It can be generated manually or by `Contract.populate()`: - -```typescript -const myCall: Call = myContract.populate('get_component', [100, recipient]); -// or -const myCall: Call = { - contractAddress: tokenContract.address, - entrypoint: 'get_component', - calldata: CallData.compile([100, recipient]), -}; - -const tx = await account0.execute(myCall); -``` - -It's particularly interesting when you want to invoke a function several times in the same transaction: - -```typescript -const myCall1: Call = myContract.populate('mint', { type: 7, qty: 10 }); -const myCall2: Call = myContract.populate('mint', { type: 21, qty: 3 }); -const myCall3: Call = myContract.populate('mint', { type: 2, qty: 1 }); -const tx = await account0.execute([myCall1, myCall2, myCall3]); -``` - -### Array of strings (representing numbers) - -This type is particularly useful when you need the maximum performance and speed in your code; You have no automatic transformation, no checks with ABI, and no parsing. - -You provide to starknet.js the low-level data expected by Starknet: - -```typescript -const specialParameters: Calldata = [ - '2036735872918048433518', - '5130580', - '18', - '23456', - '1', - '17', - '3', - '234', - '467456745457', - '22252', -]; -const getResponse = await myAccount.get_bal(specialParameters, { parseRequest: false }); -``` - -To use with `parseRequest: false` (see hereunder). - -### Summary table for arguments - -These types of arguments can't be used at your convenience everywhere. Here is a table showing which types can be used in which function: - -| Function | array of parameters | ordered object | non ordered object | Call & MultiCall | list of parameters | array of strings (\*) | array of strings (\*\*) | -| ----------------------------------------------------------: | :-----------------: | :-------------: | :----------------: | :--------------------------: | :----------------: | :-------------------: | :---------------------: | -| **TypeScript type** | N/A | {} RawArgsArray | {} RawArgsObject | Call & Call[] | ...[] | string[] | string[] | -| contract.metaClass() contract\[metaclass]() | | | | | ✔️ | ✔️ | ✔️ | -| contract.call / contract.invoke | ✔️ | | | | | ✔️ | ✔️ | -| account.execute

(with 3 params, incl. calldata) |

✔️ |

✔️ | | ✔️



| | |

✔️ | -| account.deployContract / Account | ✔️ | ✔️ | | | | | ✔️ | -| account.declareAndDeploy | ✔️ | ✔️ | | | | | ✔️ | -| CallData.compile | ✔️ | ✔️ | | | | | ✔️ | -| myCallData.compile | ✔️ | ✔️ | ✔️ | | | | ✔️ | -| Contract.populate | ✔️ | ✔️ | ✔️ | | | | ✔️ | -| hash. calculateContract AddressFromHash | ✔️ | ✔️ | | | | | ✔️ | - -> (\*) = with `parseRequest: false` -> (\*\*) = result of `Calldata.compile, myCallData.compile, myContract.populate().calldata` - -## Receive data from a Cairo contract - -When you perform a call, the result depends on the contract language: - -- In Cairo 0, the answer is an object, with keys using the Cairo variable's names. - -Example: - -```typescript -const res=myContract.call(...); -const amount = res.amount; -``` - -- In Cairo 1, the result is a variable: - -```typescript -const amount = myContract.call(...); -``` - -| Type in Cairo 1 | Cairo 1 code | Type expected in JS/TS | JS/TS function to recover data | -| -------------------------------------------------------------- | ----------------------------------------- | --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| u8, u16, u32, usize, u64, u96, u128, felt252, address | `func get_v()->u128` | bigint | `const res: bigint = myContract.call(...` | -| | | string representing an hex number | `const res=myContract.call(...`
`const address: string = num.toHex(res);` | -| u8, u16, u32, usize | `func get_v() -> u16` | number (53 bits max) | `const res=myContract.call(...`
`const total: number = Number(res)` | -| u256 (255 bits max) | `func get_v() -> u256` | bigint | `const res: bigint = myContract.call(...` | -| u512 (512 bits max) | `func get_v() -> u512` | bigint | `const res: bigint = myContract.call(...` | -| array of u8, u16, u32, usize, u64, u96, u128, felt252, address | `func get_v() -> Array` | bigint[] | `const res: bigint[] = myContract.call(...` | -| fixed array of single type items | `func get_v() -> [core::integer::u32; 8]` | bigint[] | `const res = (await myContract.call(...)) as bigint[]` | -| bytes31 (31 ASCII characters max) | `func get_v() -> bytes31` | string | `const res: string = myContract.call(...` | -| felt252 (31 ASCII characters max) | `func get_v() -> felt252` | string | `const res = myContract.call(...`
`const title:string = shortString.decodeShortstring(res);` | -| longString | `func get_v() -> Array` | string | `const res=myContract.call(...`
`const longString = res.map( (shortStr: bigint) => { return shortString.decodeShortString( num.toHex( shortStr)) }).join("");` | -| ByteArray | `func get_v() -> ByteArray` | string | `const res: string = myContract.call(...` | -| Tuple | `func get_v() -> (felt252, u8)` | Object {"0": bigint, "1": bigint} | `const res = myContract.call(...`
`const res0: bigint = res["0"];`
`const results: bigint[] = Object.values(res)` | -| Struct | ` func get_v() -> MyStruct` | MyStruct = { account: bigint, amount: bigint} | `const res: MyStruct = myContract.call(...` | -| complex array | `func get_v() -> Array` | MyStruct[] | `const res: MyStruct[] = myContract.call(...` | - -If you don't know if your Contract object is interacting with a Cairo 0 or a Cairo 1 contract, you have these methods: - -```typescript -import { cairo } from 'starknet'; -const isCairo1: boolean = myContract.isCairo1(); -const isAbiCairo1: boolean = cairo.isCairo1Abi(myAbi); -``` - -## Parse configuration - -### parseRequest - -If for any reason (mainly for speed of processing), you want to define yourself the low-level parameters to send to Starknet, you can use the `parseRequest` option. -Parameters are an array of strings (representing numbers). - -```typescript -const txH = await myContract.send_tk(['2036735872918048433518', '5130580', '18'], { - parseRequest: false, -}); -``` - -### parseResponse - -If for any reason, you want to receive a low-level answer from Starknet, you can use the parseResponse option. - -```typescript -const result = await myContract.call('get_bals', 100n, { parseResponse: false }); -``` - -The answer is an array of strings (representing numbers). - -### formatResponse - -As seen above, the strings returned by Starknet are not automatically parsed, because ABI does not inform when a contract returns a string. -But there is a way to have automatic parsing of a string. - -For example, if a contract returns a struct containing a shortString and a longString: - -```typescript -{ name: felt252, description: Array } -``` - -You can automate the string parsing with: - -```typescript -const formatAnswer = { name: 'string', description: 'string' }; -const result = await myContract.get_text(calldata, { - parseRequest: true, - parseResponse: true, - formatResponse: formatAnswer, -}); -``` - -The result will be an object, with 2 strings: - -```typescript -{ name: "Organic", description: "The best way to read a long string!!!" } -``` - -## Tool to learn how to encode/decode - -A DAPP has been created to learn how to encode/decode with Starknet.js : **Startnet-encode-decode**. -It's also a convenient tool for the exploration of any contract ABI. -![](./pictures/encodeFn2.png) - -Follow these links : -DAPP : https://starknet-encode-decode.vercel.app/ -Tuto : https://github.com/PhilippeR26/starknet-encode-decode/blob/main/tuto.md diff --git a/www/versioned_docs/version-7.6.2/guides/doc_scripts/deployBraavos.ts b/www/versioned_docs/version-7.6.2/guides/doc_scripts/deployBraavos.ts deleted file mode 100644 index d4d79ffe7..000000000 --- a/www/versioned_docs/version-7.6.2/guides/doc_scripts/deployBraavos.ts +++ /dev/null @@ -1,265 +0,0 @@ -// Collection of functions for Braavos account v1.2.0 creation. -// Coded with Starknet.js v7.1.0 -// Handle Rpc0.8V3 - -import { - ec, - hash, - num, - constants, - CallData, - stark, - BigNumberish, - type RpcProvider, - type DeployAccountSignerDetails, - type V3DeployAccountSignerDetails, - type V3InvocationsSignerDetails, - type UniversalDetails, - type V3TransactionDetails, - type EstimateFeeResponse, -} from 'starknet'; -import { - type DeployContractResponse, - type Calldata, - type DeployAccountContractPayload, - type EstimateFeeDetails, - type CairoVersion, - type DeployAccountContractTransaction, -} from 'starknet'; -import { - EDAMode, - EDataAvailabilityMode, - ETransactionVersion, - ETransactionVersion3, - type ResourceBounds, -} from '@starknet-io/types-js'; - -const BraavosBaseClassHash = '0x3d16c7a9a60b0593bd202f660a28c5d76e0403601d9ccc7e4fa253b6a70c201'; -const BraavosAccountClassHash = '0x3957f9f5a1cbfe918cedc2015c85200ca51a5f7506ecb6de98a5207b759bf8a'; // v1.2.0 - -type CalcV3DeployAccountTxHashArgs = { - contractAddress: BigNumberish; - classHash: BigNumberish; - compiledConstructorCalldata: Calldata; - salt: BigNumberish; - version: `${ETransactionVersion3}`; - chainId: constants.StarknetChainId; - nonce: BigNumberish; - nonceDataAvailabilityMode: EDAMode; - feeDataAvailabilityMode: EDAMode; - resourceBounds: ResourceBounds; - tip: BigNumberish; - paymasterData: BigNumberish[]; -}; - -export function getBraavosSignature( - details: DeployAccountSignerDetails, - privateKeyBraavos: BigNumberish -): string[] { - let txnHash: string = ''; - const det = details as V3DeployAccountSignerDetails; - const v3det = stark.v3Details(det, '0.8.1'); - txnHash = hash.calculateDeployAccountTransactionHash({ - contractAddress: det.contractAddress, - classHash: det.classHash, - compiledConstructorCalldata: det.constructorCalldata, - salt: det.addressSalt, - version: det.version, - chainId: det.chainId, - nonce: det.nonce, - nonceDataAvailabilityMode: stark.intDAM(v3det.nonceDataAvailabilityMode), - feeDataAvailabilityMode: stark.intDAM(v3det.feeDataAvailabilityMode), - tip: v3det.tip, - paymasterData: v3det.paymasterData, - resourceBounds: v3det.resourceBounds, - } as CalcV3DeployAccountTxHashArgs); - - // braavos v1.0.0 specific deployment signature : - // sig[0: 1] - r,s from stark sign on txn_hash - // sig[2] - actual impl hash - the impl hash we will replace class into - // sig[3: n - 2] - auxiliary data - hws public key, multisig, daily withdrawal limit etc - // sig[n - 2] - chain_id - guarantees aux sig is not replayed from other chain ids - // sig[n - 1: n] - r,s from stark sign on poseidon_hash(sig[2: n-2]) - - const parsedOtherSigner = Array(9).fill(0); - const { r, s } = ec.starkCurve.sign(txnHash, num.toHex(privateKeyBraavos)); - const txnHashPoseidon = hash.computePoseidonHashOnElements([ - BraavosAccountClassHash, - ...parsedOtherSigner, - details.chainId, - ]); - const { r: rPoseidon, s: sPoseidon } = ec.starkCurve.sign( - txnHashPoseidon, - num.toHex(privateKeyBraavos) - ); - const signature = [ - r.toString(), - s.toString(), - BigInt(BraavosAccountClassHash).toString(), - ...parsedOtherSigner.map((e) => e.toString()), - BigInt(details.chainId).toString(), - rPoseidon.toString(), - sPoseidon.toString(), - ]; - return signature; -} - -const BraavosConstructor = (starkKeyPubBraavos: string) => - CallData.compile({ public_key: starkKeyPubBraavos }); - -export function calculateAddressBraavos(privateKeyBraavos: BigNumberish): string { - const starkKeyPubBraavos = ec.starkCurve.getStarkKey(num.toHex(privateKeyBraavos)); - const BraavosProxyConstructorCallData = BraavosConstructor(starkKeyPubBraavos); - return hash.calculateContractAddressFromHash( - starkKeyPubBraavos, - BraavosBaseClassHash, - BraavosProxyConstructorCallData, - 0 - ); -} - -async function buildBraavosAccountDeployPayload( - privateKeyBraavos: BigNumberish, - { - classHash, - addressSalt, - constructorCalldata, - contractAddress: providedContractAddress, - }: DeployAccountContractPayload, - invocationDetails: V3InvocationsSignerDetails -): Promise { - const compiledCalldata = CallData.compile(constructorCalldata ?? []); - const contractAddress = providedContractAddress ?? calculateAddressBraavos(privateKeyBraavos); - const details: V3DeployAccountSignerDetails = { - classHash, - constructorCalldata: constructorCalldata ?? [], - addressSalt: addressSalt ?? 0, - contractAddress, - ...invocationDetails, - }; - const signature = getBraavosSignature(details, privateKeyBraavos); - return { - classHash, - addressSalt, - constructorCalldata: compiledCalldata, - signature, - }; -} - -export async function estimateBraavosAccountDeployFee( - privateKeyBraavos: BigNumberish, - provider: RpcProvider, - { blockIdentifier, skipValidate, tip: tip0 }: EstimateFeeDetails -): Promise { - const tip = tip0 ?? 0n; - const EstimateVersion = ETransactionVersion.F3; - const nonce = constants.ZERO; - const chainId = await provider.getChainId(); - const cairoVersion: CairoVersion = '1'; // dummy value, not used but mandatory - const starkKeyPubBraavos = ec.starkCurve.getStarkKey(num.toHex(privateKeyBraavos)); - const BraavosAccountAddress = calculateAddressBraavos(privateKeyBraavos); - const BraavosConstructorCallData = BraavosConstructor(starkKeyPubBraavos); - - // transaction V3 for RPC0.8 - const payload: DeployAccountContractTransaction = await buildBraavosAccountDeployPayload( - privateKeyBraavos, - { - classHash: BraavosBaseClassHash.toString(), - addressSalt: starkKeyPubBraavos, - constructorCalldata: BraavosConstructorCallData, - contractAddress: BraavosAccountAddress, - }, - { - chainId, - nonce, - version: EstimateVersion, - walletAddress: BraavosAccountAddress, - cairoVersion: cairoVersion, - tip, - } as V3InvocationsSignerDetails - ); - const v3det = stark.v3Details({}, await provider.getSpecVersion()); - const response: EstimateFeeResponse = await provider.getDeployAccountEstimateFee( - { - classHash: BraavosBaseClassHash, - addressSalt: starkKeyPubBraavos, - constructorCalldata: BraavosConstructorCallData, - signature: payload.signature, - }, - { - nonce, - version: EstimateVersion, - ...v3det, - } as V3TransactionDetails, - blockIdentifier, - skipValidate - ); - const suggestedMaxFee = stark.estimateFeeToBounds({ - ...response, - overall_fee: Number(response.overall_fee), - l1_gas_consumed: Number(response.l1_gas_consumed), - l1_gas_price: Number(response.l1_gas_price), - l2_gas_consumed: Number(response.l2_gas_consumed ?? 0n), - l2_gas_price: Number(response.l2_gas_price ?? 0n), - l1_data_gas_consumed: Number(response.l1_data_gas_consumed), - l1_data_gas_price: Number(response.l1_data_gas_price), - }); - return { - resourceBounds: suggestedMaxFee, - feeDataAvailabilityMode: EDataAvailabilityMode.L1, - nonceDataAvailabilityMode: EDataAvailabilityMode.L1, - tip: 10 ** 13, // not handled in Starknet 0.13.5 - paymasterData: [], - }; -} - -type Version = typeof ETransactionVersion.V3 | typeof ETransactionVersion.F3; -export function isV3tx(version: string): boolean { - return [ETransactionVersion.V3, ETransactionVersion.F3].includes(version as Version); -} - -export async function deployBraavosAccount( - privateKeyBraavos: BigNumberish, - provider: RpcProvider, - maxFeeDetails?: UniversalDetails -): Promise { - const nonce = constants.ZERO; - const chainId = await provider.getChainId(); - const cairoVersion: CairoVersion = '1'; // dummy value, not used but mandatory - const starkKeyPubBraavos = ec.starkCurve.getStarkKey(num.toHex(privateKeyBraavos)); - const BraavosAccountAddress = calculateAddressBraavos(privateKeyBraavos); - const BraavosConstructorCallData = BraavosConstructor(starkKeyPubBraavos); - const feeDetails: UniversalDetails = - maxFeeDetails ?? (await estimateBraavosAccountDeployFee(privateKeyBraavos, provider, {})); - const txVersion = ETransactionVersion.V3; - const payload: DeployAccountContractTransaction = await buildBraavosAccountDeployPayload( - privateKeyBraavos, - { - classHash: BraavosBaseClassHash.toString(), - addressSalt: starkKeyPubBraavos, - constructorCalldata: BraavosConstructorCallData, - contractAddress: BraavosAccountAddress, - }, - { - chainId, - nonce, - version: txVersion, - walletAddress: BraavosAccountAddress, - cairoVersion: cairoVersion, - ...feeDetails, - } as V3InvocationsSignerDetails - ); - return provider.deployAccountContract( - { - classHash: BraavosBaseClassHash, - addressSalt: starkKeyPubBraavos, - constructorCalldata: BraavosConstructorCallData, - signature: payload.signature, - }, - { - nonce, - version: txVersion, - ...feeDetails, - } - ); -} diff --git a/www/versioned_docs/version-7.6.2/guides/interact.md b/www/versioned_docs/version-7.6.2/guides/interact.md deleted file mode 100644 index ac3d904f1..000000000 --- a/www/versioned_docs/version-7.6.2/guides/interact.md +++ /dev/null @@ -1,243 +0,0 @@ ---- -sidebar_position: 6 ---- - -# Interact with your contract - -Once your provider, contract, and account are connected, you can interact with the contract: - -- you can read the memory of the contract, without fees. -- you can write to memory, but you have to pay fees. - - On Mainnet, you have to pay fees with bridged STRK or ETH token. - - On Testnet, you have to pay with bridged Sepolia STRK or Sepolia ETH token. - - On Devnet, you have to pay with dummy STRK or ETH token. - -Your account should be funded enough to pay fees (20 STRK should be enough to start). - -![](./pictures/Interact_contract.png) - -Here we will interact with a `test.cairo` contract (Cairo 1) already deployed in Sepolia Testnet at the address: - -- [0x02d2a4804f83c34227314dba41d5c2f8a546a500d34e30bb5078fd36b5af2d77](https://sepolia.starkscan.co/contract/0x02d2a4804f83c34227314dba41d5c2f8a546a500d34e30bb5078fd36b5af2d77) - -This contract contains a storage variable called `balance`. - -- It can be read with the `fn get_balance(self: @TContractState) -> felt252;` -- Balance can be modified with `fn increase_balance(ref self: TContractState, amount: felt252);` - -```typescript -import { RpcProvider, Contract, Account, ec, json } from 'starknet'; -``` - -## 🔍 Read from contract memory, with meta-class - -To read the balance, you need to connect an RpcProvider and a Contract. -You have to call Starknet, with the use of the meta-class method: `contract.function_name(params)` (here `params` is not necessary, because there are no parameters for the `get_balance` function). - -```typescript -//initialize provider with a Sepolia Testnet node -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); -// Connect the deployed Test contract in Sepolia Testnet -const testAddress = '0x02d2a4804f83c34227314dba41d5c2f8a546a500d34e30bb5078fd36b5af2d77'; - -// read the ABI of the Test contract -const { abi: testAbi } = await provider.getClassAt(testAddress); -if (testAbi === undefined) { - throw new Error('no abi.'); -} -const myTestContract = new Contract(testAbi, testAddress, provider); - -// Interaction with the contract with call -const bal1 = await myTestContract.get_balance(); -console.log('Initial balance =', bal1); // Cairo 1 contract -// With Cairo 0 contract, `bal1.res.toString()` because the return value is called 'res' in the Cairo 0 contract. -// With Cairo 1 contract, the result value is in `bal1`, as bigint. -``` - -## ✍️ Write to contract memory, with meta-class - -To increase the balance, you need in addition a connected and funded Account. - -You have to invoke Starknet, with the use of the meta-class method: `contract.function_name(params)` - -> After the invoke, you have to wait the incorporation of the modification of Balance in the network, with `await provider.waitForTransaction(transaction_hash)` - -:::note -By default, you are executing transactions that use the STRK token to pay the fees. -::: - -Here is an example of how to increase and check the balance: - -```typescript -//initialize provider with a Sepolia Testnet node -const provider = new RpcProvider({ nodeUrl: `${myNodeUrl}` }); -// connect your account. To adapt to your own account: -const privateKey0 = process.env.OZ_ACCOUNT_PRIVATE_KEY; -const account0Address = '0x123....789'; - -const account0 = new Account(provider, account0Address, privateKey0); - -// Connect the deployed Test contract in Testnet -const testAddress = '0x02d2a4804f83c34227314dba41d5c2f8a546a500d34e30bb5078fd36b5af2d77'; - -// read the ABI of the Test contract -const { abi: testAbi } = await provider.getClassAt(testAddress); -if (testAbi === undefined) { - throw new Error('no abi.'); -} -const myTestContract = new Contract(testAbi, testAddress, provider); - -// Connect account with the contract -myTestContract.connect(account0); - -// Interactions with the contract with meta-class -const bal1 = await myTestContract.get_balance(); -console.log('Initial balance =', bal1); // Cairo 1 contract -const myCall = myTestContract.populate('increase_balance', [10]); -const res = await myTestContract.increase_balance(myCall.calldata); -await provider.waitForTransaction(res.transaction_hash); - -const bal2 = await myTestContract.get_balance(); -console.log('Final balance =', bal2); -``` - -`Contract.populate()` is the recommended method to define the parameters to call/invoke the Cairo functions. - -## ✍️ Send a transaction, paying fees with ETH - -You need to be connected to a node using RPC 0.7: - -- Define `specVersion: '0.7.1'` when instantiating an RpcProvider -- Use `config.set('legacyMode', true)` to enable **V1** transactions (ETH fees) -- Use `logger.setLogLevel('ERROR')` if you want to remove the warnings when processing **V1** transactions - -```typescript -import { RpcProvider, Account, config, logger, ETransactionVersion } from 'starknet'; - -const myProvider = new RpcProvider({ - nodeUrl: 'https://starknet-sepolia.public.blastapi.io/rpc/v0_7', - specVersion: '0.7.1', -}); - -config.set('legacyMode', true); - -logger.setLogLevel('ERROR'); -``` - -With the above settings the code still uses **V3** transactions (STRK fees) with RPC **0.7** by default. To utilize **V1** transactions (ETH fees) there are two approaches: - -- either configure it at the `Account` instance level by setting the appropriate constructor parameter: - -```typescript -const account0 = new Account( - myProvider, - accountAddress0, - privateKey0, - undefined, - ETransactionVersion.V2 -); -``` - -- or configure it for individual method invocations by setting the corresponding options parameter property: - -```typescript -const res = await account0.execute(myCall, { version: 1 }); -``` - -## Sending sequential transactions - -If you intend to send sequential transactions through the contract object, like so: - -```typescript -const tx = await cairo1Contract.array2d_ex(data); -const tx1 = await cairo1Contract.array2d_ex(data); -``` - -Be sure to use `waitForTransaction` between the calls, because you may experience issues with the nonce not incrementing: - -```typescript -const tx = await cairo1Contract.array2d_ex(data); -await provider.waitForTransaction(tx.transaction_hash); -const tx1 = await cairo1Contract.array2d_ex(data); -await provider.waitForTransaction(tx1.transaction_hash); -``` - -## Write several operations, with Account.execute - -In a Starknet transaction, you can include several invoke operations. It will be performed with `account.execute`. - -We will later see this case in more detail in this dedicated [guide](multiCall.md), but in summary, you use this command with the following parameters: - -- address of the contract to invoke -- name of the function to invoke -- and an array of parameters for this function - -```typescript -const result = await account.execute({ - contractAddress: myContractAddress, - entrypoint: 'transfer', - calldata: CallData.compile({ - recipient: receiverAddress, - amount: cairo.uint256(100000n), - }), -}); -await provider.waitForTransaction(result.transaction_hash); -``` - -## Other existing methods - -Some other useful methods to interact with Starknet: - -### Function name defined in the code - -If you want to call a function with its name contained in a variable: - -```typescript -const listFn = ['calc-sum', 'calc-hash', 'calc-proof']; -// fnChoice is a number defined during execution -const res = await myTestContract[listFn[fnChoice]](200, 234567897n, 865423); -``` - -### Light and fast call - -If you want to have a very fast execution, with minimum resource usage: - -```typescript -const specialParameters: Calldata = ['2036735872918048433518', '5130580', '18']; -const getResponse = await myAccount.call('get_bal', specialParameters, { parseRequest: false }); -``` - -You provide the low-level numbers expected by Starknet, without any parsing or checking. See more details [here](define_call_message.md#parse-configuration). - -## Transaction receipt response - -You can interpret the transaction receipt response to check whether it succeeded or not. - -```typescript -const result = await account.execute(myCall); -const txR = await provider.waitForTransaction(result.transaction_hash); - -console.log(txR.statusReceipt, txR.value); -console.log(txR.isSuccess(), txR.isReverted(), txR.isError()); - -txR.match({ - success: () => { - console.log('Success'); - }, - _: () => { - console.log('Unsuccess'); - }, -}); - -txR.match({ - success: (txR: SuccessfulTransactionReceiptResponse) => { - console.log('Success =', txR); - }, - reverted: (txR: RevertedTransactionReceiptResponse) => { - console.log('Reverted =', txR); - }, - error: (err: Error) => { - console.log('An error occured =', err); - }, -}); -``` diff --git a/www/versioned_docs/version-7.6.2/guides/intro.md b/www/versioned_docs/version-7.6.2/guides/intro.md deleted file mode 100644 index ee8722836..000000000 --- a/www/versioned_docs/version-7.6.2/guides/intro.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Getting Started - -## Installation - -```bash -# use the main branch - -npm install starknet - -# to use latest features (merges in develop branch) - -npm install starknet@next -``` - -## Running tests locally - -Local tests rely on [Starknet Devnet](https://github.com/0xSpaceShard/starknet-devnet), a local testnet emulation. - -Launch a Devnet instance and run: - -```bash -npm run test # all tests -npm run test ./__tests__/contract.test.ts # just one test suite -``` - -## Running docs locally - -If you want to make changes to the documentation and see how it looks before making a PR: - -```bash -cd www -npm install # install docusaurus -npm run start # fires up a local documentation site -``` - -## Compiling Starknet contracts - -Please check the Starknet documentation [here](https://docs.starknet.io/documentation/quick_start/declare_a_smart_contract/#compiling_a_smart_contract) to compile Starknet contracts. - -Additional helpful resources can also be found at [OpenZeppelin](https://docs.openzeppelin.com/contracts-cairo/) documentation site. - -## Interacting with contracts and accounts - -For a basic overview on how to interact with contracts and accounts continue following this guide. - -For some more extensive examples visit PhilippeR26's [workshop](https://github.com/PhilippeR26/starknet.js-workshop-typescript). - -## Contracts used in the guides - -You can find the compiled contracts used in these guides in the [\_\_mocks\_\_](https://github.com/starknet-io/starknet.js/tree/develop/__mocks__/cairo/) directory. diff --git a/www/versioned_docs/version-7.6.2/guides/migrate.md b/www/versioned_docs/version-7.6.2/guides/migrate.md deleted file mode 100644 index cffa4ec04..000000000 --- a/www/versioned_docs/version-7.6.2/guides/migrate.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -sidebar_position: 101 ---- - -# Migrate from v6 to v7 - -This document only covers the features present in v6 which have changed in some significant way in v7. - -If you encounter any missing changes, please let us know and we will update this guide. - -## Fetch dependencies - -`isomorphic-fetch` and `fetch-cookie` have been removed as dependencies. - -For users who might require the features of either library, a `baseFetch` override parameter has been enabled for the `RpcProvider` and `RpcChannel` classes, including classes that inherit from them such as `Account` and `WalletAccount`. - -```typescript -import makeFetchCookie from 'fetch-cookie'; -import isomorphicFetch from 'isomorphic-fetch'; - -const provider = new RpcProvider({ - baseFetch: makeFetchCookie(isomorphicFetch), -}); -``` - -## Rpc compatibility - -Starknet.js v6 is compatible with Starknet RPC **0.6** and **0.7** nodes. - -Starknet.js v7 drops support for RPC **0.6**, and introduces support for RPC **0.8**, it supports RPC **0.7** and **0.8** nodes. - -By default, Starknet.js v7 uses RPC **0.8** with **V3** transactions (STRK fees). This means that you can no longer execute **V1** transactions (ETH fees) by default. - -| | RPC 0.7 | RPC 0.8
(default) | -| ----------------: | :------: | :----------------------: | -| V1 tx (ETH fees) | Possible | Impossible | -| V3 tx (STRK fees) | Default | Default | - -You can configure your code to use RPC **0.7** with ETH and STRK fees available by using the following options: - -- Define `specVersion: '0.7.1'` when instantiating an RpcProvider -- Use `config.set('legacyMode', true)` to enable **V1** transactions -- Use `logger.setLogLevel('ERROR')` if you want to remove the warnings when processing **V1** transactions - -```typescript -import { RpcProvider, Account, config, logger, ETransactionVersion } from 'starknet'; - -const myProvider = new RpcProvider({ - nodeUrl: 'https://starknet-sepolia.public.blastapi.io/rpc/v0_8', - specVersion: '0.7.1', -}); - -config.set('legacyMode', true); - -logger.setLogLevel('ERROR'); -``` - -With the above settings the code still uses **V3** transactions with RPC **0.7** by default. To utilize **V1** transactions there are two approaches: - -- either configure it at the `Account` instance level by setting the appropriate constructor parameter: - -```typescript -const account0 = new Account( - myProvider, - accountAddress0, - privateKey0, - undefined, - ETransactionVersion.V2 -); -``` - -- or configure it for individual method invocations by setting the corresponding options parameter property: - -```typescript -const res = await account0.execute(myCall, { version: 1 }); -``` - -## Transaction receipt - -In the `ReceiptTx` class, the status [`isRejected`](https://starknetjs.com/docs/6.23.1/API/classes/ReceiptTx#isrejected) has been removed. - -## Removed deprecated functionalities - -### RpcProvider - -| method | replacement | -| :-------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`getPendingTransactions(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getpendingtransactions) | [`getBlockWithTxHashes(BlockTag.PENDING)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getblockwithtxhashes)
[`getBlock(BlockTag.PENDING)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getblock) | -| [`getEstimateFee(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getestimatefee) | [`getInvokeEstimateFee(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getinvokeestimatefee)
[`getDeclareEstimateFee(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getdeclareestimatefee)
[`getDeployAccountEstimateFee(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#getdeployaccountestimatefee) | - -### Account - -| method | details | -| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`execute(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Account#execute) | The deprecated [`execute(transactions, abis?, transactionsDetail?)`](https://starknetjs.com/docs/6.23.1/API/classes/Account#parameters-20) override with the optional (and unused) `abis` parameter has been removed.

[`execute(transactions, transactionsDetail?)`](https://starknetjs.com/docs/6.23.1/API/classes/Account#parameters-19) now only accepts two parameters and should be used as such. | -| [`verifyMessage(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Account#verifymessage)

[`verifyMessageHash(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Account#verifymessagehash) | The deprecated `Account` message verification methods have been removed.

The `RpcProvider` [`verifyMessageInStarknet(...)`](https://starknetjs.com/docs/6.23.1/API/classes/Provider#verifymessageinstarknet) method should be used instead. | - -### WalletAccount - -When initializing a `WalletAccount` instance through the constructor [`new WalletAccount(...)`](https://starknetjs.com/docs/6.23.1/API/classes/WalletAccount#constructor) the `address` parameter has been made mandatory with the deprecated eager address retrieval removed. - -To initialize a `WalletAccount` instance [`WalletAccount.connect(...)`](https://starknetjs.com/docs/6.23.1/API/classes/WalletAccount#connect) should be used. - -### Removed namespace - -The `number` namespace alias has been removed in favor of `num` as noted in the v5 migration guide. - -### Removed utility functions - -| namespace | function | replacement | -| :-----------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: | -| `encode` | [`stringToArrayBuffer(...)`](https://starknetjs.com/docs/6.23.1/API/namespaces/encode#stringtoarraybuffer) | [`utf8ToArray(...)`](https://starknetjs.com/docs/next/API/namespaces/encode#utf8toarray) | -| `json` | [`stringifyAlwaysAsBig(...)`](https://starknetjs.com/docs/6.23.1/API/namespaces/json#stringifyalwaysasbig) | [`stringify(...)`](https://starknetjs.com/docs/next/API/namespaces/json#stringify) | -| `stark` | [`makeAddress(...)`](https://starknetjs.com/docs/6.23.1/API/namespaces/stark#makeaddress) | [`validateAndParseAddress(...)`](https://starknetjs.com/docs/next/API/modules#validateandparseaddress) | -| `transaction` | [`fromCallsToExecuteCalldataWithNonce(...)`](https://starknetjs.com/docs/6.23.1/API/namespaces/transaction#fromcallstoexecutecalldatawithnonce)
[`transformCallsToMulticallArrays_cairo1(...)`](https://starknetjs.com/docs/6.23.1/API/namespaces/transaction#transformcallstomulticallarrays_cairo1) | / | - -- the [`CallStruct`](https://starknetjs.com/docs/6.23.1/API/interfaces/types.CallStruct) type that was used by the `transaction` methods has also been removed - -### Removed type alias exports - -Multiple TypeScript types have had their old location re-exports removed. They are no longer available within their old namespace but are available as direct imports: `import { *type* } from 'starknet'`. - -| namespace | type | -| :---------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | -| `num` | [`BigNumberish`](https://starknetjs.com/docs/6.23.1/API/namespaces/num#bignumberish) | -| `typedData` | [`TypedDataRevision`](https://starknetjs.com/docs/6.23.1/API/namespaces/typedData#typeddatarevision)
[`StarknetEnumType`](https://starknetjs.com/docs/6.23.1/API/namespaces/typedData#starknetenumtype)
[`StarknetMerkleType`](https://starknetjs.com/docs/6.23.1/API/namespaces/typedData#starknetmerkletype)
[`StarknetType`](https://starknetjs.com/docs/6.23.1/API/namespaces/typedData#starknettype)
[`StarknetDomain`](https://starknetjs.com/docs/6.23.1/API/namespaces/typedData#starknetdomain)
[`TypedData`](https://starknetjs.com/docs/6.23.1/API/namespaces/typedData#typeddata) | -| `uint256` | [`UINT_128_MAX`](https://starknetjs.com/docs/6.23.1/API/namespaces/uint256#uint_128_max)
[`UINT_256_MAX`](https://starknetjs.com/docs/6.23.1/API/namespaces/uint256#uint_256_max) | diff --git a/www/versioned_docs/version-7.6.2/guides/multiCall.md b/www/versioned_docs/version-7.6.2/guides/multiCall.md deleted file mode 100644 index 15e098554..000000000 --- a/www/versioned_docs/version-7.6.2/guides/multiCall.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -sidebar_position: 16 ---- - -# Interact with more than one contract within one transaction - -Interacting with more than one contract with one transaction is one of Starknet's features. To use this feature, two contracts are required. - -## Setup - -Set up basic stuff before multicall. - -```javascript -// Devnet private key from Account #0 if generated with --seed 0 -const privateKey = '0xe3e70682c2094cac629f6fbed82c07cd'; -const accountAddress = '0x7e00d496e324876bbc8531f2d9a82bf154d1a04a50218ee74cdd372f75a551a'; - -// Ether token contract address -const contractAddress_1 = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7'; - -// contract address which requires ether -const contractAddress_2 = '0x078f36c1d59dd29e00a0bb60aa2a9409856f4f9841c47f165aba5bab4225aa6b'; - -const account = new Account(provider, accountAddress, privateKey); -``` - -## Interact with contracts - -Interact with more than one contract by using `account.execute([calls])`. The example is as follows. - -```javascript -const multiCall = await account.execute([ - // Calling the first contract - { - contractAddress: contractAddress_1, - entrypoint: 'approve', - // approve 1 wei for bridge - calldata: CallData.compile({ - spender: contractAddress_2, - amount: cairo.uint256(1), - }), - }, - // Calling the second contract - { - contractAddress: contractAddress_2, - entrypoint: 'transfer_ether', - // transfer 1 wei to the contract address - calldata: CallData.compile({ - amount: cairo.uint256(1), - }), - }, -]); -await provider.waitForTransaction(multiCall.transaction_hash); -``` diff --git a/www/versioned_docs/version-7.6.2/guides/outsideExecution.md b/www/versioned_docs/version-7.6.2/guides/outsideExecution.md deleted file mode 100644 index 4c51cc200..000000000 --- a/www/versioned_docs/version-7.6.2/guides/outsideExecution.md +++ /dev/null @@ -1,297 +0,0 @@ ---- -sidebar_position: 19 ---- - -# Outside Execution (SNIP-9) - -Outside Execution, also known as meta-transactions, allows a protocol to submit transactions on behalf of a user account, as long as they have the relevant signatures. This feature is implemented according to [SNIP-9](https://github.com/starknet-io/SNIPs/blob/main/SNIPS/snip-9.md). - -## Why Use Outside Execution? - -Outside Execution provides several benefits: - -1. **Delayed Orders**: Protocols can have more atomic control over transaction execution, useful for scenarios like matching limit orders. -2. **Fee Subsidy**: The sender of the transaction pays gas fees, allowing accounts without gas tokens to still execute transactions. - -## Using Outside Execution - -### Check SNIP-9 Support - -The account that will sign the outside transaction has to be compatible with SNIP-9 (V1 or V2). -At early-2025: - -| account | compatibility | -| :-----------------: | :-----------: | -| ArgentX v0.3.0 | v1 | -| ArgentX v0.4.0 | v2 | -| Braavos v1.1.0 | v2 | -| OpenZeppelin v1.0.0 | v2 (\*) | - -> (\*): only OpenZeppelin accounts including the `src9` component. Examples for v0.17.0: -> Starknet account: class = [0x540d7f5ec7ecf317e68d48564934cb99259781b1ee3cedbbc37ec5337f8e688](https://voyager.online/class/0x0540d7f5ec7ecf317e68d48564934cb99259781b1ee3cedbbc37ec5337f8e688) -> ETH account: class = [0x3940bc18abf1df6bc540cabadb1cad9486c6803b95801e57b6153ae21abfe06](https://voyager.online/class/0x3940bc18abf1df6bc540cabadb1cad9486c6803b95801e57b6153ae21abfe06) - -Before using Outside Execution, check if the account that will sign the transaction supports SNIP-9: - -```typescript -const signerAccount = new Account(myProvider, accountAddress, privateKey); -const version = await signerAccount.getSnip9Version(); -if (version === OutsideExecutionVersion.UNSUPPORTED) { - throw new Error('This account is not SNIP-9 compatible.'); -} -``` - -:::info -The account that will sign the transaction needs to be compatible with SNIP-9. -Nevertheless, the account that will execute the transaction do not needs to be SNIP-9 compatible ; it just needs to have enough fees to pay the transaction. -::: - -### Create an `OutsideTransaction` Object - -To create an OutsideExecution object, you need first to prepare the call: - -```typescript -const call1: Call = { - contractAddress: erc20Address, - entrypoint: 'transfer', - calldata: { - recipient: recipientAddress, - amount: cairo.uint256(3n * 10n ** 16n), - }, -}; -``` - -Then, you have to initialize some parameters : - -- The `caller` is the address of the account that will execute the outside transaction. -- The transaction can be executed in a time frame that is defined in `execute_after` and `execute_before`, using Unix timestamp. - -```typescript -const callOptions: OutsideExecutionOptions = { - caller: executorAccount.address, - execute_after: Math.floor(Date.now() / 1000) - 3600, // 1 hour ago - execute_before: Math.floor(Date.now() / 1000) + 3600, // 1 hour from now -}; -``` - -:::warning -You can use the string `"ANY_CALLER"` as content of the `caller` property. To use with care, as anybody that get your `OutsideTransaction` object and execute it. -::: - -To create the `OutsideTransaction` object, you just have to use: - -```typescript -const outsideTransaction1: OutsideTransaction = await signerAccount.getOutsideTransaction( - callOptions, - call1 -); -``` - -:::note -In the same `OutsideTransaction` object, you can include several transactions. So, with only one signature of the signer Account, you can generate an `OutsideTransaction` object that performs many things: - -```typescript -const callOptions: OutsideExecutionOptions = { - caller: executorAccount.address, - execute_after: 100, - execute_before: 200, -}; -const call1 = { - contractAddress: ethAddress, - entrypoint: 'approve', - calldata: { - spender: account2.address, - amount: cairo.uint256(2n * 10n ** 16n), - }, -}; -const call2 = { - contractAddress: ethAddress, - entrypoint: 'transfer', - calldata: { - recipient: account1.address, - amount: cairo.uint256(1n * 10n ** 16n), - }, -}; -const outsideTransaction1: OutsideTransaction = await signerAccount.getOutsideTransaction( - callOptions, - [call1, call2] -); -``` - -::: - -### Process the Outside Execution - -Finally, if you are in the time frame, you can perform the Outside Execution, using the executor Account : - -```typescript -const executorAccount = new Account(provider, executorAddress, executorPrivateKey); -const response = await executorAccount.executeFromOutside(outsideTransaction1); -await provider.waitForTransaction(response.transaction_hash); -``` - -:::info -If you have created several `OutsideTransaction` objects using the same signer account, you can execute them in any order (no nonce problems). -::: - -:::note -In the same command, you can use several `OutsideTransaction` objects created by several signer accounts, even if they are not compatible with the same version of SNIP-9 (V1 or V2): - -```typescript -const outsideTransaction1: OutsideTransaction = await accountAX3.getOutsideTransaction( - callOptions, - call1 -); // V1 compatible -const outsideTransaction2: OutsideTransaction = await accountAX4.getOutsideTransaction( - callOptions, - call2 -); // V2 compatible -const res = await executorAccount.executeFromOutside([outsideTransaction1, outsideTransaction2]); -``` - -::: - -## Example of Outside Execution using a Ledger Nano - -In this example, we want to sign, with a Ledger Nano X, several transactions at 6PM. Then a code is automatically launched each hour until the next day at 8AM, verifying if some conditions are reached. The code will then trigger the execution of some of the transactions signed earlier with the Ledger Nano. -By this way, you can pre-sign some transactions with the Ledger, and if during the night something occurs, a backend can execute automatically some of these transactions, **in any order**. -In this process, **the private key of the Ledger account is never exposed**. - -First, create a Ledger account in Devnet. You will find some documentation [here](./signature.md#signing-with-a-ledger-hardware-wallet), and an example [here](https://github.com/PhilippeR26/starknet.js-workshop-typescript/blob/main/src/scripts/ledgerNano/4.deployLedgerAccount.ts). - -The initial balances are: - -| account | ETH balance | -| ----------------------: | ----------- | -| Ledger Account | 20.0 | -| Backend executorAccount | 999.9902013 | -| Account1 | 1000.0 | -| Account2 | 1000.0 | - -Now, we can ask the user to sign on its Ledger some outside transactions: - -```typescript -const callOptions: OutsideExecutionOptions = { - caller: executorAccount.address, - execute_after: Math.floor(Date.now() / 1000) - 3600, // 1 hour ago - execute_before: Math.floor(Date.now() / 1000) + 3600 * 14, // 14 hours from now -}; -const call1 = { - contractAddress: ethAddress, - entrypoint: 'transfer', - calldata: { - recipient: account1.address, - amount: cairo.uint256(1n * 10n ** 18n), - }, -}; -const call2 = { - contractAddress: ethAddress, - entrypoint: 'transfer', - calldata: { - recipient: account2.address, - amount: cairo.uint256(2n * 10n ** 18n), - }, -}; -const call3 = { - contractAddress: ethAddress, - entrypoint: 'transfer', - calldata: { - recipient: account1.address, - amount: cairo.uint256(3n * 10n ** 18n), - }, -}; -const call4 = { - contractAddress: ethAddress, - entrypoint: 'transfer', - calldata: { - recipient: account2.address, - amount: cairo.uint256(4n * 10n ** 18n), - }, -}; -console.log("It's 6PM. Before night, we will now pre-sign 3 outside transactions:"); -console.log( - 'Sign now on the Ledger Nano for :\n- Transfer 1 ETH to account1.\n- Transfer 2 ETH to account2.' -); -const outsideTransaction1: OutsideTransaction = await ledgerAccount.getOutsideTransaction( - callOptions, - [call1, call2] -); - -console.log('Sign now on the Ledger Nano for :\n- Transfer 3 ETH to account1.'); -const outsideTransaction2: OutsideTransaction = await ledgerAccount.getOutsideTransaction( - callOptions, - call3 -); - -console.log('Sign now on the Ledger Nano for :\n- Transfer 4 ETH to account1.'); -const outsideTransaction3: OutsideTransaction = await ledgerAccount.getOutsideTransaction( - callOptions, - call4 -); -``` - -Transfer these 3 `OutsideTransaction` objects to the backend. - -Imagine we are 5 hours later, the backend has decided to execute a transaction: - -```typescript -console.log('The backend has detected a situation that execute Transaction 2.'); -const res0 = await executorAccount.executeFromOutside(outsideTransaction2); -await myProvider.waitForTransaction(res0.transaction_hash); -``` - -The balances are now : - -| account | ETH balance | -| ----------------------: | ----------- | -| Ledger Account | 17.0 | -| Backend executorAccount | 999.9901592 | -| Account1 | 1003.0 | -| Account2 | 1000.0 | - -2 hours later, the backend has decided to execute several transactions: - -```typescript -console.log('The backend has detected a situation that execute simultaneously Transactions 1 & 3.'); -const res1 = await executorAccount.executeFromOutside([outsideTransaction1, outsideTransaction3]); -await myProvider.waitForTransaction(res1.transaction_hash); -``` - -The balances are finally : - -| account | ETH balance | -| ----------------------: | ----------- | -| Ledger Account | 10.0 | -| Backend executorAccount | 999.9901005 | -| Account1 | 1004.0 | -| Account2 | 1006.0 | - -:::info -The complete code of this example is available [here](https://github.com/PhilippeR26/starknet.js-workshop-typescript/blob/main/src/scripts/Starknet131/Starknet131-devnet/17.outsideExecuteLedger.ts). -::: - -## Estimate fees for an outside execution: - -On executor side, if you want to estimate how many fees you will pay: - -```typescript -const outsideExecutionCall: Call[] = - outsideExecution.buildExecuteFromOutsideCall(outsideTransaction1); -const estimateFee = await executorAccount.estimateFee(outsideExecutionCall); -``` - -## Simulate an outside execution: - -On executor side, if you want to simulate the transaction: - -```typescript -const outsideExecutionCall: Call[] = - outsideExecution.buildExecuteFromOutsideCall(outsideTransaction1); -const invocations: Invocations = [ - { - type: TransactionType.INVOKE, - payload: outsideExecutionCall, - }, -]; -const responseSimulate = await executorAccount.simulateTransaction(invocations); -``` diff --git a/www/versioned_docs/version-7.6.2/guides/pictures/ERC20.png b/www/versioned_docs/version-7.6.2/guides/pictures/ERC20.png deleted file mode 100644 index b79481e54..000000000 Binary files a/www/versioned_docs/version-7.6.2/guides/pictures/ERC20.png and /dev/null differ diff --git a/www/versioned_docs/version-7.6.2/guides/pictures/Interact_contract.png b/www/versioned_docs/version-7.6.2/guides/pictures/Interact_contract.png deleted file mode 100644 index 440567883..000000000 Binary files a/www/versioned_docs/version-7.6.2/guides/pictures/Interact_contract.png and /dev/null differ diff --git a/www/versioned_docs/version-7.6.2/guides/pictures/LedgerConnectivity.png b/www/versioned_docs/version-7.6.2/guides/pictures/LedgerConnectivity.png deleted file mode 100644 index 248064f22..000000000 Binary files a/www/versioned_docs/version-7.6.2/guides/pictures/LedgerConnectivity.png and /dev/null differ diff --git a/www/versioned_docs/version-7.6.2/guides/pictures/LedgerTitle.png b/www/versioned_docs/version-7.6.2/guides/pictures/LedgerTitle.png deleted file mode 100644 index c39ff5ef7..000000000 Binary files a/www/versioned_docs/version-7.6.2/guides/pictures/LedgerTitle.png and /dev/null differ diff --git a/www/versioned_docs/version-7.6.2/guides/pictures/SelectWallet.png b/www/versioned_docs/version-7.6.2/guides/pictures/SelectWallet.png deleted file mode 100644 index 0f3395cba..000000000 Binary files a/www/versioned_docs/version-7.6.2/guides/pictures/SelectWallet.png and /dev/null differ diff --git a/www/versioned_docs/version-7.6.2/guides/pictures/WalletAccountArchitecture.png b/www/versioned_docs/version-7.6.2/guides/pictures/WalletAccountArchitecture.png deleted file mode 100644 index 0bc717d5a..000000000 Binary files a/www/versioned_docs/version-7.6.2/guides/pictures/WalletAccountArchitecture.png and /dev/null differ diff --git a/www/versioned_docs/version-7.6.2/guides/pictures/addToken.png b/www/versioned_docs/version-7.6.2/guides/pictures/addToken.png deleted file mode 100644 index 58d279adc..000000000 Binary files a/www/versioned_docs/version-7.6.2/guides/pictures/addToken.png and /dev/null differ diff --git a/www/versioned_docs/version-7.6.2/guides/pictures/createContract.png b/www/versioned_docs/version-7.6.2/guides/pictures/createContract.png deleted file mode 100644 index 976b809b5..000000000 Binary files a/www/versioned_docs/version-7.6.2/guides/pictures/createContract.png and /dev/null differ diff --git a/www/versioned_docs/version-7.6.2/guides/pictures/executeTx.png b/www/versioned_docs/version-7.6.2/guides/pictures/executeTx.png deleted file mode 100644 index 17dbdb6aa..000000000 Binary files a/www/versioned_docs/version-7.6.2/guides/pictures/executeTx.png and /dev/null differ diff --git a/www/versioned_docs/version-7.6.2/guides/pictures/starknet-js-chart.png b/www/versioned_docs/version-7.6.2/guides/pictures/starknet-js-chart.png deleted file mode 100644 index 383a8377e..000000000 Binary files a/www/versioned_docs/version-7.6.2/guides/pictures/starknet-js-chart.png and /dev/null differ diff --git a/www/versioned_docs/version-7.6.2/guides/pictures/switchNetwork.png b/www/versioned_docs/version-7.6.2/guides/pictures/switchNetwork.png deleted file mode 100644 index d502f64d2..000000000 Binary files a/www/versioned_docs/version-7.6.2/guides/pictures/switchNetwork.png and /dev/null differ diff --git a/www/versioned_docs/version-7.6.2/guides/use_ERC20.md b/www/versioned_docs/version-7.6.2/guides/use_ERC20.md deleted file mode 100644 index 1598d2ab5..000000000 --- a/www/versioned_docs/version-7.6.2/guides/use_ERC20.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -sidebar_position: 12 ---- - -# Work with ERC20 tokens - -Based on what has been seen in the previous pages of this guide, we will use an ERC20 contract. - -## What's an ERC20 - -As in Ethereum, a token has an ERC20 contract to manage it. This contract contains a table, that lists the quantity of tokens owned by each involved account: -![](./pictures/ERC20.png) - -For example, Account address 2 owns 100 tokens of this ERC20 contract. - -Users have the feeling that their tokens are stored in their wallets, but it's absolutely false. You have no list of assets stored in your account contract. In fact, a token has its own ERC20 contract, and the amount of token owned by your account address is stored in this contract. - -If you want to have your balance of a token, ask for its ERC20 contract, with the function `ERC20contract.balanceOf(accountAddress)`. - -When you want to transfer some tokens in your possession, you have to use the ERC20 contract function `transfer`, through the `account.execute` function (or meta-class methods). In this way, Starknet.js will send to the account contract a message signed with the private key. - -This message contains the name of the function to call in the ERC20 contract, with its optional parameters. - -The account contract will use the public key to check that you have the private key, then will ask the ERC20 contract to execute the requested function. - -This way, the ERC20 contract is absolutely sure that the caller of the transfer function knows the private key of this account. - -## STRK token is an ERC20 in Starknet - -Unlike Ethereum, the ETH and STRK fee tokens are both ERC20 in Starknet, just like all other tokens. In all networks, their ERC20 contract addresses are: - -```typescript -const addrSTRK = '0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d'; -const addrETH = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7'; -``` - -## Deploy an ERC20 - -Let's dive down the rabbit hole! - -This example works with an ERC20, that we will deploy on Devnet RPC 0.8 (launched with `cargo run --release -- --seed 0`). - -First, let's initialize an existing account: - -```typescript -// initialize provider -const provider = new RpcProvider({ nodeUrl: 'http://127.0.0.1:5050/rpc' }); -// initialize existing pre-deployed account 0 of Devnet -const privateKey = '0x71d7bb07b9a64f6f78ac4c816aff4da9'; -const accountAddress = '0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691'; - -const account0 = new Account(provider, accountAddress, privateKey); -``` - -Declaration and deployment of the ERC20 contract: - -```typescript -// Deploy an ERC20 contract -console.log('Deployment Tx - ERC20 Contract to Starknet...'); -const compiledSierra = json.parse( - fs.readFileSync('./__mocks__/cairo/ERC20-241/ERC20OZ081.sierra.json').toString('ascii') -); -const compiledCasm = json.parse( - fs.readFileSync('./__mocks__/cairo/ERC20-241/ERC20OZ081.casm.json').toString('ascii') -); -const initialTk: Uint256 = cairo.uint256(20n * 10n ** 18n); // 20 NIT -const erc20CallData: CallData = new CallData(compiledSierra.abi); -const ERC20ConstructorCallData: Calldata = erc20CallData.compile('constructor', { - name: 'niceToken', - symbol: 'NIT', - fixed_supply: initialTk, - recipient: account0.address, -}); - -console.log('constructor=', ERC20ConstructorCallData); -const deployERC20Response = await account0.declareAndDeploy({ - contract: compiledSierra, - casm: compiledCasm, - constructorCalldata: ERC20ConstructorCallData, -}); -console.log('ERC20 declared hash: ', deployERC20Response.declare.class_hash); -console.log('ERC20 deployed at address: ', deployERC20Response.deploy.contract_address); - -// Get the erc20 contract address -const erc20Address = deployERC20Response.deploy.contract_address; -// Create a new erc20 contract object -const erc20 = new Contract(compiledSierra.abi, erc20Address, provider); -erc20.connect(account0); -``` - -## Interact with an ERC20 - -Here we will read the balance and transfer tokens: - -```typescript -// Check balance - should be 20 NIT -console.log(`Calling Starknet for account balance...`); -const balanceInitial = await erc20.balanceOf(account0.address); -console.log('account0 has a balance of:', balanceInitial); - -// Execute tx transfer of 1 tokens to account 1 -console.log(`Invoke Tx - Transfer 1 tokens to erc20 contract...`); -const toTransferTk: Uint256 = cairo.uint256(1 * 10 ** 18); -const transferCall: Call = erc20.populate('transfer', { - recipient: '0x78662e7352d062084b0010068b99288486c2d8b914f6e2a55ce945f8792c8b1', - amount: 1n * 10n ** 18n, -}); -const { transaction_hash: transferTxHash } = await account0.execute(transferCall); -// Wait for the invoke transaction to be accepted on Starknet -console.log(`Waiting for Tx to be Accepted on Starknet - Transfer...`); -await provider.waitForTransaction(transferTxHash); - -// Check balance after transfer - should be 19 NIT -console.log(`Calling Starknet for account balance...`); -const balanceAfterTransfer = await erc20.balanceOf(account0.address); -console.log('account0 has a balance of:', balanceAfterTransfer); -console.log('✅ Script completed.'); -``` diff --git a/www/versioned_docs/version-7.6.2/guides/websocket_channel.md b/www/versioned_docs/version-7.6.2/guides/websocket_channel.md deleted file mode 100644 index fd85b2abc..000000000 --- a/www/versioned_docs/version-7.6.2/guides/websocket_channel.md +++ /dev/null @@ -1,140 +0,0 @@ ---- -sidebar_position: 3 ---- - -# WebSocket Channel - -The `WebSocketChannel` provides a robust, real-time connection to a Starknet RPC Node, enabling you to subscribe to events and receive updates as they happen. It's designed for production use with features like automatic reconnection, request queueing, and a modern subscription management API. - -Ensure that you are using a node that supports the required RPC spec (e.g., v0.8.0). - -## Key Features - -- **Modern API**: Uses a `Subscription` object to manage event streams. -- **Automatic Reconnection**: Automatically detects connection drops and reconnects with an exponential backoff strategy. -- **Request Queueing**: Queues any requests made while the connection is down and executes them upon reconnection. -- **Event Buffering**: Buffers events for a subscription if no handler is attached, preventing event loss. -- **Custom Errors**: Throws specific, catchable errors like `TimeoutError` for more reliable error handling. - -## Importing - -To get started, import the necessary classes and types from the `starknet` library. - -```typescript -import { - WebSocketChannel, - WebSocketOptions, - Subscription, - TimeoutError, - WebSocketNotConnectedError, -} from 'starknet'; -``` - -## Creating a WebSocket Channel - -Instantiate `WebSocketChannel` with your node's WebSocket URL. - -```typescript -const channel = new WebSocketChannel({ - nodeUrl: 'wss://your-starknet-node/rpc/v0_8', -}); - -// It's good practice to wait for the initial connection. -await channel.waitForConnection(); -``` - -If you are in an environment without a native `WebSocket` object (like Node.js), you can provide a custom implementation (e.g., from the `ws` library). - -```typescript -import WebSocket from 'ws'; - -const channel = new WebSocketChannel({ - nodeUrl: '...', - websocket: WebSocket, // Provide the implementation class -}); - -await channel.waitForConnection(); -``` - -### Advanced Configuration - -You can customize the channel's behavior with `WebSocketOptions`. - -```typescript -const options: WebSocketOptions = { - nodeUrl: '...', - autoReconnect: true, // Default: true - reconnectOptions: { - retries: 5, // Default: 5 - delay: 2000, // Default: 2000ms - }, - requestTimeout: 60000, // Default: 60000ms - maxBufferSize: 1000, // Default: 1000 events per subscription -}; - -const channel = new WebSocketChannel(options); -``` - -## Subscribing to Events - -When you call a subscription method (e.g., `subscribeNewHeads`), it returns a `Promise` that resolves with a `Subscription` object. This object is your handle to that specific event stream. - -You attach a listener with `.on()` and stop listening with `.unsubscribe()`. - -```typescript -// 1. Subscribe to an event stream. -const sub: Subscription = await channel.subscribeNewHeads(); - -// 2. Attach a handler to process incoming data. -sub.on((data) => { - console.log('Received new block header:', data.block_number); -}); - -// 3. When you're done, unsubscribe. -// This is automatically handled if the channel disconnects and restores the subscription. -// You only need to call this when you explicitly want to stop listening. -await sub.unsubscribe(); -``` - -### Event Buffering - -If you `await` a subscription but don't immediately attach an `.on()` handler, the `Subscription` object will buffer incoming events. Once you attach a handler, all buffered events will be delivered in order before any new events are processed. This prevents event loss during asynchronous setup. - -The buffer size is limited by the `maxBufferSize` in the channel options. If the buffer is full, the oldest events are dropped. - -## Automatic Reconnection and Queueing - -The channel is designed to be resilient. If the connection drops, it will automatically try to reconnect. While reconnecting: - -- Any API calls (e.g., `sendReceive`, `subscribeNewHeads`) will be queued. -- Once the connection is restored, the queue will be processed automatically. -- All previously active subscriptions will be **automatically re-subscribed**. The original `Subscription` objects you hold will continue to work without any need for manual intervention. - -## Error Handling - -The channel throws specific errors, allowing for precise error handling. - -```typescript -try { - const result = await channel.sendReceive('starknet_chainId'); -} catch (e) { - if (e instanceof TimeoutError) { - console.error('The request timed out!'); - } else if (e instanceof WebSocketNotConnectedError) { - console.error('The WebSocket is not connected.'); - } else { - console.error('An unknown error occurred:', e); - } -} -``` - -## Available Subscription Methods - -Each of these methods returns a `Promise`. - -- `subscribeNewHeads` -- `subscribeEvents` -- `subscribeTransactionStatus` -- `subscribePendingTransaction` - -For more details, see the complete [API documentation](/docs/next/API/classes/WebSocketChannel). diff --git a/www/versioned_docs/version-7.6.2/guides/what_s_starknet.js.md b/www/versioned_docs/version-7.6.2/guides/what_s_starknet.js.md deleted file mode 100644 index 1a214e776..000000000 --- a/www/versioned_docs/version-7.6.2/guides/what_s_starknet.js.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -sidebar_position: 2 ---- - -# What is Starknet.js ? - -Starknet.js is a library that helps connect your website or your Decentralized Application (DAPP) to the blockchain-based Starknet network, using JavaScript / TypeScript. - -## Overview - -![](./pictures/starknet-js-chart.png) - -Some important topics that have to be understood: - -- You can connect your DAPP to several networks: - - - [Starknet Mainnet](https://starkscan.co) (Layer 2 of [Ethereum network](https://etherscan.io/) ). - - [Starknet Testnet](https://sepolia.starkscan.co/) (Layer 2 of [Sepolia network](https://sepolia.etherscan.io/) (testnet of Ethereum)). - - [Starknet Devnet](https://github.com/0xSpaceShard/starknet-devnet) (your local Starknet network, for developers). - - and also to some more specific solutions: - - - private customized version of Starknet. - - local Starknet node (connected to mainnet or testnet). - -> Understanding what Starknet is and how it works is necessary. Then, you can learn how to interact with it using Starknet.js. So, at this stage, you should be aware of the content of the [Starknet official doc](https://docs.starknet.io/documentation/) and [the Cairo Book](https://book.cairo-lang.org/). - -- The `RpcChannel` and `RpcProvider` classes and their methods are used for low-level communication with an RPC node. -- Your DAPP will mainly interact with `Account` and `Contract` class instances; they use underlying `RpcProvider` connections to provide high-level methods for interacting with their Starknet namesakes, accounts and contracts. -- `Signer` and `Utils` objects contain many useful functions for interaction with Starknet.js. -- The `Contract` object is mainly used to read the memory of a blockchain contract. -- The `Account` object is the most useful: - - as a wallet, to store your tokens. - - as a way to pay the fees to the network, and to be able to write in its memory. diff --git a/www/versioned_docs/version-7.5.1/API/_category_.yml b/www/versioned_docs/version-7.6.4/API/_category_.yml similarity index 100% rename from www/versioned_docs/version-7.5.1/API/_category_.yml rename to www/versioned_docs/version-7.6.4/API/_category_.yml diff --git a/www/versioned_docs/version-7.6.2/API/classes/Account.md b/www/versioned_docs/version-7.6.4/API/classes/Account.md similarity index 96% rename from www/versioned_docs/version-7.6.2/API/classes/Account.md rename to www/versioned_docs/version-7.6.4/API/classes/Account.md index ebd0a859c..26d73792f 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/Account.md +++ b/www/versioned_docs/version-7.6.4/API/classes/Account.md @@ -45,7 +45,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L108) +[src/account/default.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L108) ## Properties @@ -59,7 +59,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L98) +[src/account/default.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L98) --- @@ -73,7 +73,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:100](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L100) +[src/account/default.ts:100](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L100) --- @@ -87,7 +87,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:102](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L102) +[src/account/default.ts:102](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L102) --- @@ -97,7 +97,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L104) +[src/account/default.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L104) --- @@ -107,7 +107,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:106](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L106) +[src/account/default.ts:106](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L106) --- @@ -132,7 +132,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:634](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L634) +[src/account/default.ts:634](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L634) --- @@ -146,7 +146,7 @@ custom_edit_url: null #### Defined in -[src/provider/rpc.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L65) +[src/provider/rpc.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L65) --- @@ -164,7 +164,7 @@ custom_edit_url: null #### Defined in -[src/provider/rpc.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L67) +[src/provider/rpc.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L67) --- @@ -226,7 +226,7 @@ custom_edit_url: null #### Defined in -[src/provider/rpc.ts:268](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L268) +[src/provider/rpc.ts:268](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L268) ## Methods @@ -252,7 +252,7 @@ custom_edit_url: null #### Defined in -[src/provider/extensions/starknetId.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L62) +[src/provider/extensions/starknetId.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L62) --- @@ -278,7 +278,7 @@ custom_edit_url: null #### Defined in -[src/provider/extensions/starknetId.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L96) +[src/provider/extensions/starknetId.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L96) --- @@ -309,7 +309,7 @@ custom_edit_url: null #### Defined in -[src/provider/extensions/starknetId.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L128) +[src/provider/extensions/starknetId.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L128) --- @@ -330,7 +330,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L144) +[src/account/default.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L144) --- @@ -358,7 +358,7 @@ nonce of the account #### Defined in -[src/account/default.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L151) +[src/account/default.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L151) --- @@ -378,7 +378,7 @@ nonce of the account #### Defined in -[src/account/default.ts:155](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L155) +[src/account/default.ts:155](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L155) --- @@ -400,7 +400,7 @@ Retrieves the Cairo version from the network and sets `cairoVersion` if not alre #### Defined in -[src/account/default.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L168) +[src/account/default.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L168) --- @@ -421,7 +421,7 @@ Retrieves the Cairo version from the network and sets `cairoVersion` if not alre #### Defined in -[src/account/default.ts:178](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L178) +[src/account/default.ts:178](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L178) --- @@ -450,7 +450,7 @@ response from estimate_fee #### Defined in -[src/account/default.ts:185](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L185) +[src/account/default.ts:185](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L185) --- @@ -479,7 +479,7 @@ response from estimate_fee #### Defined in -[src/account/default.ts:224](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L224) +[src/account/default.ts:224](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L224) --- @@ -508,7 +508,7 @@ response from estimate_fee #### Defined in -[src/account/default.ts:262](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L262) +[src/account/default.ts:262](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L262) --- @@ -536,7 +536,7 @@ This is different from the normal DEPLOY transaction as it goes through the Univ #### Defined in -[src/account/default.ts:301](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L301) +[src/account/default.ts:301](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L301) --- @@ -566,7 +566,7 @@ response from estimate_fee #### Defined in -[src/account/default.ts:309](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L309) +[src/account/default.ts:309](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L309) --- @@ -595,7 +595,7 @@ response from simulate_transaction #### Defined in -[src/account/default.ts:335](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L335) +[src/account/default.ts:335](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L335) --- @@ -624,7 +624,7 @@ response from addTransaction #### Defined in -[src/account/default.ts:362](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L362) +[src/account/default.ts:362](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L362) --- @@ -653,7 +653,7 @@ the prepared transaction #### Defined in -[src/account/default.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L411) +[src/account/default.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L411) --- @@ -682,7 +682,7 @@ response extracting fee from buildPaymasterTransaction #### Defined in -[src/account/default.ts:450](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L450) +[src/account/default.ts:450](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L450) --- @@ -702,7 +702,7 @@ response extracting fee from buildPaymasterTransaction #### Defined in -[src/account/default.ts:458](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L458) +[src/account/default.ts:458](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L458) --- @@ -737,7 +737,7 @@ the tarnsaction hash if successful, otherwise an error is thrown #### Defined in -[src/account/default.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L501) +[src/account/default.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L501) --- @@ -762,7 +762,7 @@ Method will pass even if contract is already declared #### Defined in -[src/account/default.ts:535](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L535) +[src/account/default.ts:535](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L535) --- @@ -791,7 +791,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/account/default.ts:551](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L551) +[src/account/default.ts:551](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L551) --- @@ -822,7 +822,7 @@ support multicall #### Defined in -[src/account/default.ts:595](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L595) +[src/account/default.ts:595](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L595) --- @@ -860,7 +860,7 @@ Internal wait for L2 transaction, support multicall #### Defined in -[src/account/default.ts:608](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L608) +[src/account/default.ts:608](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L608) --- @@ -902,7 +902,7 @@ Method will pass even if contract is already declared (internal using DeclareIfN #### Defined in -[src/account/default.ts:617](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L617) +[src/account/default.ts:617](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L617) --- @@ -931,7 +931,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/account/default.ts:636](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L636) +[src/account/default.ts:636](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L636) --- @@ -964,7 +964,7 @@ if typedData is not a valid TypedData #### Defined in -[src/account/default.ts:696](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L696) +[src/account/default.ts:696](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L696) --- @@ -997,7 +997,7 @@ if typedData is not a valid TypedData #### Defined in -[src/account/default.ts:700](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L700) +[src/account/default.ts:700](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L700) --- @@ -1022,7 +1022,7 @@ const result = myAccount.getSnip9Version(); #### Defined in -[src/account/default.ts:713](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L713) +[src/account/default.ts:713](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L713) --- @@ -1053,7 +1053,7 @@ const result = myAccount.isValidSnip9Nonce(1234); #### Defined in -[src/account/default.ts:734](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L734) +[src/account/default.ts:734](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L734) --- @@ -1079,7 +1079,7 @@ const result = myAccount.getSnip9Nonce(); #### Defined in -[src/account/default.ts:758](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L758) +[src/account/default.ts:758](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L758) --- @@ -1140,7 +1140,7 @@ const outsideTransaction1: OutsideTransaction = await signerAccount.getOutsideTr #### Defined in -[src/account/default.ts:795](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L795) +[src/account/default.ts:795](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L795) --- @@ -1181,7 +1181,7 @@ const result = await myAccount.executeFromOutside([outsideTransaction1, outsideT #### Defined in -[src/account/default.ts:855](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L855) +[src/account/default.ts:855](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L855) --- @@ -1203,7 +1203,7 @@ const result = await myAccount.executeFromOutside([outsideTransaction1, outsideT #### Defined in -[src/account/default.ts:867](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L867) +[src/account/default.ts:867](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L867) --- @@ -1232,7 +1232,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:895](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L895) +[src/account/default.ts:895](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L895) --- @@ -1253,7 +1253,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:917](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L917) +[src/account/default.ts:917](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L917) --- @@ -1274,7 +1274,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:932](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L932) +[src/account/default.ts:932](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L932) --- @@ -1295,7 +1295,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:964](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L964) +[src/account/default.ts:964](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L964) --- @@ -1315,7 +1315,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:998](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L998) +[src/account/default.ts:998](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L998) --- @@ -1336,7 +1336,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:1025](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L1025) +[src/account/default.ts:1025](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L1025) --- @@ -1361,7 +1361,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:1123](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L1123) +[src/account/default.ts:1123](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L1123) --- @@ -1387,7 +1387,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/provider/rpc.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L131) +[src/provider/rpc.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L131) --- @@ -1413,7 +1413,7 @@ the chain Id #### Defined in -[src/provider/rpc.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L135) +[src/provider/rpc.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L135) --- @@ -1433,7 +1433,7 @@ read channel spec version #### Defined in -[src/provider/rpc.ts:142](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L142) +[src/provider/rpc.ts:142](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L142) --- @@ -1453,7 +1453,7 @@ get channel spec version #### Defined in -[src/provider/rpc.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L149) +[src/provider/rpc.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L149) --- @@ -1473,7 +1473,7 @@ setup channel spec version and return it #### Defined in -[src/provider/rpc.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L156) +[src/provider/rpc.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L156) --- @@ -1506,7 +1506,7 @@ the hex nonce #### Defined in -[src/provider/rpc.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L160) +[src/provider/rpc.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L160) --- @@ -1532,7 +1532,7 @@ the block object #### Defined in -[src/provider/rpc.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L167) +[src/provider/rpc.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L167) ▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> @@ -1556,7 +1556,7 @@ the block object #### Defined in -[src/provider/rpc.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L168) +[src/provider/rpc.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L168) ▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> @@ -1580,7 +1580,7 @@ the block object #### Defined in -[src/provider/rpc.ts:169](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L169) +[src/provider/rpc.ts:169](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L169) ▸ **getBlock**(`blockIdentifier?`): `Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> @@ -1604,7 +1604,7 @@ AccountInterface.getBlock #### Defined in -[src/provider/rpc.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L170) +[src/provider/rpc.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L170) --- @@ -1624,7 +1624,7 @@ Get the most recent accepted block hash and number #### Defined in -[src/provider/rpc.ts:180](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L180) +[src/provider/rpc.ts:180](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L180) --- @@ -1647,7 +1647,7 @@ Number of the latest block #### Defined in -[src/provider/rpc.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L189) +[src/provider/rpc.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L189) --- @@ -1671,7 +1671,7 @@ Number of the latest block #### Defined in -[src/provider/rpc.ts:193](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L193) +[src/provider/rpc.ts:193](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L193) --- @@ -1695,7 +1695,7 @@ Number of the latest block #### Defined in -[src/provider/rpc.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L197) +[src/provider/rpc.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L197) --- @@ -1729,7 +1729,7 @@ await myProvider.waitForBlock(); #### Defined in -[src/provider/rpc.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L212) +[src/provider/rpc.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L212) --- @@ -1761,7 +1761,7 @@ gas price of the block #### Defined in -[src/provider/rpc.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L242) +[src/provider/rpc.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L242) --- @@ -1804,7 +1804,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:248](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L248) +[src/provider/rpc.ts:248](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L248) --- @@ -1828,7 +1828,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L264) +[src/provider/rpc.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L264) --- @@ -1846,7 +1846,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:270](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L270) +[src/provider/rpc.ts:270](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L270) ▸ **getBlockStateUpdate**(`blockIdentifier`): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> @@ -1866,7 +1866,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:271](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L271) +[src/provider/rpc.ts:271](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L271) ▸ **getBlockStateUpdate**(`blockIdentifier`): `Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> @@ -1886,7 +1886,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L272) +[src/provider/rpc.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L272) ▸ **getBlockStateUpdate**(`blockIdentifier?`): `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> @@ -1906,7 +1906,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:273](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L273) +[src/provider/rpc.ts:273](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L273) --- @@ -1930,7 +1930,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:278](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L278) +[src/provider/rpc.ts:278](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L278) --- @@ -1954,7 +1954,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L282) +[src/provider/rpc.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L282) --- @@ -1986,7 +1986,7 @@ the transaction object { transaction_id, status, transaction, block_number?, blo #### Defined in -[src/provider/rpc.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L286) +[src/provider/rpc.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L286) --- @@ -2010,7 +2010,7 @@ the transaction object { transaction_id, status, transaction, block_number?, blo #### Defined in -[src/provider/rpc.ts:290](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L290) +[src/provider/rpc.ts:290](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L290) --- @@ -2035,7 +2035,7 @@ the transaction object { transaction_id, status, transaction, block_number?, blo #### Defined in -[src/provider/rpc.ts:294](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L294) +[src/provider/rpc.ts:294](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L294) --- @@ -2067,7 +2067,7 @@ the transaction receipt object #### Defined in -[src/provider/rpc.ts:298](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L298) +[src/provider/rpc.ts:298](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L298) --- @@ -2091,7 +2091,7 @@ the transaction receipt object #### Defined in -[src/provider/rpc.ts:305](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L305) +[src/provider/rpc.ts:305](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L305) --- @@ -2117,7 +2117,7 @@ Get the status of a transaction #### Defined in -[src/provider/rpc.ts:312](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L312) +[src/provider/rpc.ts:312](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L312) --- @@ -2146,7 +2146,7 @@ Get the status of a transaction #### Defined in -[src/provider/rpc.ts:323](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L323) +[src/provider/rpc.ts:323](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L323) --- @@ -2179,7 +2179,7 @@ GetTransactionReceiptResponse #### Defined in -[src/provider/rpc.ts:333](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L333) +[src/provider/rpc.ts:333](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L333) --- @@ -2213,7 +2213,7 @@ the value of the storage variable #### Defined in -[src/provider/rpc.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L345) +[src/provider/rpc.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L345) --- @@ -2246,7 +2246,7 @@ Class hash #### Defined in -[src/provider/rpc.ts:353](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L353) +[src/provider/rpc.ts:353](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L353) --- @@ -2278,7 +2278,7 @@ Contract class of compiled contract #### Defined in -[src/provider/rpc.ts:357](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L357) +[src/provider/rpc.ts:357](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L357) --- @@ -2303,7 +2303,7 @@ Contract class of compiled contract #### Defined in -[src/provider/rpc.ts:361](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L361) +[src/provider/rpc.ts:361](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L361) --- @@ -2336,7 +2336,7 @@ Contract class of compiled contract #### Defined in -[src/provider/rpc.ts:367](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L367) +[src/provider/rpc.ts:367](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L367) --- @@ -2368,7 +2368,7 @@ Gets the contract version from the provided address #### Defined in -[src/provider/rpc.ts:373](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L373) +[src/provider/rpc.ts:373](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L373) ▸ **getContractVersion**(`contractAddress`, `classHash`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> @@ -2396,7 +2396,7 @@ Gets the contract version from the provided address #### Defined in -[src/provider/rpc.ts:378](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L378) +[src/provider/rpc.ts:378](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L378) --- @@ -2431,7 +2431,7 @@ the estimated fee #### Defined in -[src/provider/rpc.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L411) +[src/provider/rpc.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L411) --- @@ -2466,7 +2466,7 @@ the estimated fee #### Defined in -[src/provider/rpc.ts:431](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L431) +[src/provider/rpc.ts:431](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L431) --- @@ -2501,7 +2501,7 @@ the estimated fee #### Defined in -[src/provider/rpc.ts:451](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L451) +[src/provider/rpc.ts:451](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L451) --- @@ -2534,7 +2534,7 @@ the estimated fee #### Defined in -[src/provider/rpc.ts:471](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L471) +[src/provider/rpc.ts:471](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L471) --- @@ -2567,7 +2567,7 @@ response from addTransaction #### Defined in -[src/provider/rpc.ts:480](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L480) +[src/provider/rpc.ts:480](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L480) --- @@ -2600,7 +2600,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/provider/rpc.ts:487](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L487) +[src/provider/rpc.ts:487](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L487) --- @@ -2633,7 +2633,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/provider/rpc.ts:494](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L494) +[src/provider/rpc.ts:494](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L494) --- @@ -2666,7 +2666,7 @@ the result of the function on the smart contract. #### Defined in -[src/provider/rpc.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L501) +[src/provider/rpc.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L501) --- @@ -2697,7 +2697,7 @@ NEW: Estimate the fee for a message from L1 #### Defined in -[src/provider/rpc.ts:509](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L509) +[src/provider/rpc.ts:509](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L509) --- @@ -2719,7 +2719,7 @@ Object with the stats data #### Defined in -[src/provider/rpc.ts:520](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L520) +[src/provider/rpc.ts:520](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L520) --- @@ -2747,7 +2747,7 @@ events and the pagination of the events #### Defined in -[src/provider/rpc.ts:528](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L528) +[src/provider/rpc.ts:528](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L528) --- @@ -2790,7 +2790,7 @@ const result2 = myRpcProvider.verifyMessageInStarknet(messageHash, sign, account #### Defined in -[src/provider/rpc.ts:550](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L550) +[src/provider/rpc.ts:550](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L550) --- @@ -2818,7 +2818,7 @@ Helper method using getClass #### Defined in -[src/provider/rpc.ts:639](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L639) +[src/provider/rpc.ts:639](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L639) --- @@ -2847,7 +2847,7 @@ Build bulk invocations with auto-detect declared class #### Defined in -[src/provider/rpc.ts:670](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L670) +[src/provider/rpc.ts:670](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L670) --- @@ -2873,7 +2873,7 @@ Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses fo #### Defined in -[src/provider/rpc.ts:694](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L694) +[src/provider/rpc.ts:694](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L694) --- @@ -2902,7 +2902,7 @@ Get merkle paths in one of the state tries: global state, classes, individual co #### Defined in -[src/provider/rpc.ts:705](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L705) +[src/provider/rpc.ts:705](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L705) --- @@ -2928,7 +2928,7 @@ Get the contract class definition in the given block associated with the given h #### Defined in -[src/provider/rpc.ts:726](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L726) +[src/provider/rpc.ts:726](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L726) --- @@ -2953,7 +2953,7 @@ Get the contract class definition in the given block associated with the given h #### Defined in -[src/provider/extensions/starknetId.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L31) +[src/provider/extensions/starknetId.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L31) --- @@ -2983,4 +2983,4 @@ Get the contract class definition in the given block associated with the given h #### Defined in -[src/provider/extensions/starknetId.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L40) +[src/provider/extensions/starknetId.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L40) diff --git a/www/versioned_docs/version-7.5.1/API/classes/AccountInterface.md b/www/versioned_docs/version-7.6.4/API/classes/AccountInterface.md similarity index 96% rename from www/versioned_docs/version-7.5.1/API/classes/AccountInterface.md rename to www/versioned_docs/version-7.6.4/API/classes/AccountInterface.md index dad2bdc04..f216d6aae 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/AccountInterface.md +++ b/www/versioned_docs/version-7.6.4/API/classes/AccountInterface.md @@ -39,7 +39,7 @@ custom_edit_url: null #### Defined in -[src/account/interface.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L37) +[src/account/interface.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L37) --- @@ -49,7 +49,7 @@ custom_edit_url: null #### Defined in -[src/account/interface.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L39) +[src/account/interface.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L39) --- @@ -59,7 +59,7 @@ custom_edit_url: null #### Defined in -[src/account/interface.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L41) +[src/account/interface.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L41) --- @@ -73,7 +73,7 @@ custom_edit_url: null #### Defined in -[src/provider/interface.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L37) +[src/provider/interface.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L37) ## Methods @@ -98,7 +98,7 @@ response from estimate_fee #### Defined in -[src/account/interface.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L64) +[src/account/interface.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L64) --- @@ -123,7 +123,7 @@ response from estimate_fee #### Defined in -[src/account/interface.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L91) +[src/account/interface.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L91) --- @@ -148,7 +148,7 @@ response from estimate_fee #### Defined in -[src/account/interface.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L117) +[src/account/interface.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L117) --- @@ -172,7 +172,7 @@ This is different from the normal DEPLOY transaction as it goes through the Univ #### Defined in -[src/account/interface.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L143) +[src/account/interface.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L143) --- @@ -198,7 +198,7 @@ response from estimate_fee #### Defined in -[src/account/interface.ts:169](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L169) +[src/account/interface.ts:169](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L169) --- @@ -223,7 +223,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/interface.ts:181](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L181) +[src/account/interface.ts:181](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L181) --- @@ -248,7 +248,7 @@ response from simulate_transaction #### Defined in -[src/account/interface.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L195) +[src/account/interface.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L195) --- @@ -273,7 +273,7 @@ response from addTransaction #### Defined in -[src/account/interface.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L212) +[src/account/interface.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L212) --- @@ -298,7 +298,7 @@ response extracting fee from buildPaymasterTransaction #### Defined in -[src/account/interface.ts:232](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L232) +[src/account/interface.ts:232](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L232) --- @@ -323,7 +323,7 @@ the prepared transaction #### Defined in -[src/account/interface.ts:252](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L252) +[src/account/interface.ts:252](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L252) --- @@ -354,7 +354,7 @@ the tarnsaction hash if successful, otherwise an error is thrown #### Defined in -[src/account/interface.ts:279](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L279) +[src/account/interface.ts:279](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L279) --- @@ -379,7 +379,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/account/interface.ts:297](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L297) +[src/account/interface.ts:297](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L297) --- @@ -406,7 +406,7 @@ support multicall #### Defined in -[src/account/interface.ts:317](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L317) +[src/account/interface.ts:317](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L317) --- @@ -440,7 +440,7 @@ Internal wait for L2 transaction, support multicall #### Defined in -[src/account/interface.ts:344](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L344) +[src/account/interface.ts:344](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L344) --- @@ -478,7 +478,7 @@ Method will pass even if contract is already declared (internal using DeclareIfN #### Defined in -[src/account/interface.ts:378](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L378) +[src/account/interface.ts:378](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L378) --- @@ -503,7 +503,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/account/interface.ts:395](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L395) +[src/account/interface.ts:395](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L395) --- @@ -532,7 +532,7 @@ if typedData is not a valid TypedData #### Defined in -[src/account/interface.ts:408](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L408) +[src/account/interface.ts:408](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L408) --- @@ -561,7 +561,7 @@ if typedData is not a valid TypedData #### Defined in -[src/account/interface.ts:418](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L418) +[src/account/interface.ts:418](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L418) --- @@ -585,7 +585,7 @@ nonce of the account #### Defined in -[src/account/interface.ts:426](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/account/interface.ts#L426) +[src/account/interface.ts:426](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/interface.ts#L426) --- @@ -607,7 +607,7 @@ the chain Id #### Defined in -[src/provider/interface.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L44) +[src/provider/interface.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L44) --- @@ -636,7 +636,7 @@ the result of the function on the smart contract. #### Defined in -[src/provider/interface.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L53) +[src/provider/interface.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L53) --- @@ -664,7 +664,7 @@ the block object #### Defined in -[src/provider/interface.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L64) +[src/provider/interface.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L64) ▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> @@ -684,7 +684,7 @@ the block object #### Defined in -[src/provider/interface.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L65) +[src/provider/interface.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L65) ▸ **getBlock**(`blockIdentifier`): `Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> @@ -704,7 +704,7 @@ the block object #### Defined in -[src/provider/interface.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L66) +[src/provider/interface.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L66) --- @@ -733,7 +733,7 @@ Contract class of compiled contract #### Defined in -[src/provider/interface.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L75) +[src/provider/interface.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L75) --- @@ -761,7 +761,7 @@ gas price of the block #### Defined in -[src/provider/interface.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L86) +[src/provider/interface.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L86) --- @@ -800,7 +800,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/interface.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L99) +[src/provider/interface.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L99) --- @@ -829,7 +829,7 @@ Class hash #### Defined in -[src/provider/interface.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L108) +[src/provider/interface.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L108) --- @@ -857,7 +857,7 @@ Contract class of compiled contract #### Defined in -[src/provider/interface.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L119) +[src/provider/interface.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L119) --- @@ -886,7 +886,7 @@ the hex nonce #### Defined in -[src/provider/interface.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L127) +[src/provider/interface.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L127) --- @@ -916,7 +916,7 @@ the value of the storage variable #### Defined in -[src/provider/interface.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L140) +[src/provider/interface.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L140) --- @@ -944,7 +944,7 @@ the transaction object { transaction_id, status, transaction, block_number?, blo #### Defined in -[src/provider/interface.ts:152](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L152) +[src/provider/interface.ts:152](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L152) --- @@ -972,7 +972,7 @@ the transaction receipt object #### Defined in -[src/provider/interface.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L160) +[src/provider/interface.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L160) --- @@ -1001,7 +1001,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/provider/interface.ts:173](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L173) +[src/provider/interface.ts:173](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L173) --- @@ -1030,7 +1030,7 @@ response from addTransaction #### Defined in -[src/provider/interface.ts:192](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L192) +[src/provider/interface.ts:192](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L192) --- @@ -1059,7 +1059,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/provider/interface.ts:209](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L209) +[src/provider/interface.ts:209](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L209) --- @@ -1090,7 +1090,7 @@ the estimated fee #### Defined in -[src/provider/interface.ts:229](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L229) +[src/provider/interface.ts:229](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L229) --- @@ -1121,7 +1121,7 @@ the estimated fee #### Defined in -[src/provider/interface.ts:251](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L251) +[src/provider/interface.ts:251](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L251) --- @@ -1152,7 +1152,7 @@ the estimated fee #### Defined in -[src/provider/interface.ts:274](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L274) +[src/provider/interface.ts:274](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L274) --- @@ -1181,7 +1181,7 @@ the estimated fee #### Defined in -[src/provider/interface.ts:289](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L289) +[src/provider/interface.ts:289](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L289) --- @@ -1210,7 +1210,7 @@ GetTransactionReceiptResponse #### Defined in -[src/provider/interface.ts:302](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L302) +[src/provider/interface.ts:302](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L302) --- @@ -1239,7 +1239,7 @@ an array of transaction trace and estimated fee #### Defined in -[src/provider/interface.ts:317](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L317) +[src/provider/interface.ts:317](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L317) --- @@ -1267,7 +1267,7 @@ StateUpdateResponse #### Defined in -[src/provider/interface.ts:328](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L328) +[src/provider/interface.ts:328](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L328) --- @@ -1295,7 +1295,7 @@ Gets the contract version from the provided address #### Defined in -[src/provider/interface.ts:338](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L338) +[src/provider/interface.ts:338](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L338) ▸ **getContractVersion**(`contractAddress`, `classHash`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> @@ -1319,4 +1319,4 @@ Gets the contract version from the provided address #### Defined in -[src/provider/interface.ts:352](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/interface.ts#L352) +[src/provider/interface.ts:352](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L352) diff --git a/www/versioned_docs/version-7.5.1/API/classes/BatchClient.md b/www/versioned_docs/version-7.6.4/API/classes/BatchClient.md similarity index 88% rename from www/versioned_docs/version-7.5.1/API/classes/BatchClient.md rename to www/versioned_docs/version-7.6.4/API/classes/BatchClient.md index 42a2507bc..568f4ad33 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/BatchClient.md +++ b/www/versioned_docs/version-7.6.4/API/classes/BatchClient.md @@ -24,7 +24,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L33) +[src/utils/batch/index.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L33) ## Properties @@ -34,7 +34,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L13) +[src/utils/batch/index.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L13) --- @@ -44,7 +44,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L15) +[src/utils/batch/index.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L15) --- @@ -54,7 +54,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L17) +[src/utils/batch/index.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L17) --- @@ -64,7 +64,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L19) +[src/utils/batch/index.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L19) --- @@ -74,7 +74,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L21) +[src/utils/batch/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L21) --- @@ -84,7 +84,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L23) +[src/utils/batch/index.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L23) --- @@ -94,7 +94,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L25) +[src/utils/batch/index.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L25) --- @@ -104,7 +104,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L27) +[src/utils/batch/index.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L27) --- @@ -122,7 +122,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L29) +[src/utils/batch/index.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L29) --- @@ -147,7 +147,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L31) +[src/utils/batch/index.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L31) ## Methods @@ -161,7 +161,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L40) +[src/utils/batch/index.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L40) --- @@ -189,7 +189,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L66) +[src/utils/batch/index.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L66) --- @@ -209,7 +209,7 @@ custom_edit_url: null #### Defined in -[src/utils/batch/index.ts:83](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L83) +[src/utils/batch/index.ts:83](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L83) --- @@ -242,4 +242,4 @@ JSON-RPC Response #### Defined in -[src/utils/batch/index.ts:100](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/batch/index.ts#L100) +[src/utils/batch/index.ts:100](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L100) diff --git a/www/versioned_docs/version-7.5.1/API/classes/CairoCustomEnum.md b/www/versioned_docs/version-7.6.4/API/classes/CairoCustomEnum.md similarity index 89% rename from www/versioned_docs/version-7.5.1/API/classes/CairoCustomEnum.md rename to www/versioned_docs/version-7.6.4/API/classes/CairoCustomEnum.md index 596a86d92..1e89b19b0 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/CairoCustomEnum.md +++ b/www/versioned_docs/version-7.6.4/API/classes/CairoCustomEnum.md @@ -42,7 +42,7 @@ const myCairoEnum = new CairoCustomEnum({ #### Defined in -[src/utils/calldata/enum/CairoCustomEnum.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoCustomEnum.ts#L29) +[src/utils/calldata/enum/CairoCustomEnum.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoCustomEnum.ts#L29) ## Properties @@ -59,7 +59,7 @@ const successValue = myCairoEnum.variant.Success; #### Defined in -[src/utils/calldata/enum/CairoCustomEnum.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoCustomEnum.ts#L24) +[src/utils/calldata/enum/CairoCustomEnum.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoCustomEnum.ts#L24) ## Methods @@ -75,7 +75,7 @@ the content of the valid variant of a Cairo custom Enum. #### Defined in -[src/utils/calldata/enum/CairoCustomEnum.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoCustomEnum.ts#L45) +[src/utils/calldata/enum/CairoCustomEnum.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoCustomEnum.ts#L45) ___ @@ -91,5 +91,5 @@ the name of the valid variant of a Cairo custom Enum. #### Defined in -[src/utils/calldata/enum/CairoCustomEnum.ts:54](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/enum/CairoCustomEnum.ts#L54) +[src/utils/calldata/enum/CairoCustomEnum.ts:54](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoCustomEnum.ts#L54) ``` diff --git a/www/versioned_docs/version-7.5.1/API/classes/CairoFixedArray.md b/www/versioned_docs/version-7.6.4/API/classes/CairoFixedArray.md similarity index 88% rename from www/versioned_docs/version-7.5.1/API/classes/CairoFixedArray.md rename to www/versioned_docs/version-7.6.4/API/classes/CairoFixedArray.md index 38e91b9d9..af57147c4 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/CairoFixedArray.md +++ b/www/versioned_docs/version-7.6.4/API/classes/CairoFixedArray.md @@ -27,7 +27,7 @@ Create an instance representing a Cairo fixed Array. #### Defined in -[src/utils/cairoDataTypes/fixedArray.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/fixedArray.ts#L19) +[src/utils/cairoDataTypes/fixedArray.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/fixedArray.ts#L19) ## Properties @@ -39,7 +39,7 @@ JS array representing a Cairo fixed array. #### Defined in -[src/utils/cairoDataTypes/fixedArray.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/fixedArray.ts#L7) +[src/utils/cairoDataTypes/fixedArray.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/fixedArray.ts#L7) --- @@ -51,7 +51,7 @@ Cairo fixed array type. #### Defined in -[src/utils/cairoDataTypes/fixedArray.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/fixedArray.ts#L12) +[src/utils/cairoDataTypes/fixedArray.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/fixedArray.ts#L12) ## Methods @@ -82,7 +82,7 @@ const result = CairoFixedArray.getFixedArraySize('[core::integer::u32; 8]'); #### Defined in -[src/utils/cairoDataTypes/fixedArray.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/fixedArray.ts#L56) +[src/utils/cairoDataTypes/fixedArray.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/fixedArray.ts#L56) --- @@ -113,7 +113,7 @@ const result = CairoFixedArray.getFixedArrayType('[core::integer::u32; 8]'); #### Defined in -[src/utils/cairoDataTypes/fixedArray.ts:87](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/fixedArray.ts#L87) +[src/utils/cairoDataTypes/fixedArray.ts:87](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/fixedArray.ts#L87) --- @@ -146,7 +146,7 @@ const result = CairoFixedArray.compile([10, 20, 30]); #### Defined in -[src/utils/cairoDataTypes/fixedArray.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/fixedArray.ts#L120) +[src/utils/cairoDataTypes/fixedArray.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/fixedArray.ts#L120) --- @@ -174,7 +174,7 @@ const result = CairoFixedArray.isTypeFixedArray("[core::integer::u32; 8]"); #### Defined in -[src/utils/cairoDataTypes/fixedArray.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/fixedArray.ts#L151) +[src/utils/cairoDataTypes/fixedArray.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/fixedArray.ts#L151) ___ @@ -200,7 +200,7 @@ const result = fArray.getFixedArraySize(); #### Defined in -[src/utils/cairoDataTypes/fixedArray.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/fixedArray.ts#L73) +[src/utils/cairoDataTypes/fixedArray.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/fixedArray.ts#L73) --- @@ -226,7 +226,7 @@ const result = fArray.getFixedArrayType(); #### Defined in -[src/utils/cairoDataTypes/fixedArray.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/fixedArray.ts#L104) +[src/utils/cairoDataTypes/fixedArray.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/fixedArray.ts#L104) --- @@ -253,4 +253,4 @@ const result = fArray.compile(); #### Defined in -[src/utils/cairoDataTypes/fixedArray.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/fixedArray.ts#L138) +[src/utils/cairoDataTypes/fixedArray.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/fixedArray.ts#L138) diff --git a/www/versioned_docs/version-7.6.2/API/classes/CairoOption.md b/www/versioned_docs/version-7.6.4/API/classes/CairoOption.md similarity index 83% rename from www/versioned_docs/version-7.6.2/API/classes/CairoOption.md rename to www/versioned_docs/version-7.6.4/API/classes/CairoOption.md index a6baa1a84..c87b2ce1a 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/CairoOption.md +++ b/www/versioned_docs/version-7.6.4/API/classes/CairoOption.md @@ -53,7 +53,7 @@ const myOption = new CairoOption(CairoOptionVariant.Some, '0x54dda #### Defined in -[src/utils/calldata/enum/CairoOption.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoOption.ts#L26) +[src/utils/calldata/enum/CairoOption.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoOption.ts#L26) ## Properties @@ -63,7 +63,7 @@ const myOption = new CairoOption(CairoOptionVariant.Some, '0x54dda #### Defined in -[src/utils/calldata/enum/CairoOption.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoOption.ts#L22) +[src/utils/calldata/enum/CairoOption.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoOption.ts#L22) --- @@ -73,7 +73,7 @@ const myOption = new CairoOption(CairoOptionVariant.Some, '0x54dda #### Defined in -[src/utils/calldata/enum/CairoOption.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoOption.ts#L24) +[src/utils/calldata/enum/CairoOption.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoOption.ts#L24) ## Methods @@ -90,7 +90,7 @@ If None, returns 'undefined'. #### Defined in -[src/utils/calldata/enum/CairoOption.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoOption.ts#L49) +[src/utils/calldata/enum/CairoOption.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoOption.ts#L49) --- @@ -106,7 +106,7 @@ true if the valid variant is 'isSome'. #### Defined in -[src/utils/calldata/enum/CairoOption.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoOption.ts#L57) +[src/utils/calldata/enum/CairoOption.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoOption.ts#L57) --- @@ -122,4 +122,4 @@ true if the valid variant is 'isNone'. #### Defined in -[src/utils/calldata/enum/CairoOption.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoOption.ts#L65) +[src/utils/calldata/enum/CairoOption.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoOption.ts#L65) diff --git a/www/versioned_docs/version-7.6.2/API/classes/CairoResult.md b/www/versioned_docs/version-7.6.4/API/classes/CairoResult.md similarity index 83% rename from www/versioned_docs/version-7.6.2/API/classes/CairoResult.md rename to www/versioned_docs/version-7.6.4/API/classes/CairoResult.md index a56806819..b138e3dfd 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/CairoResult.md +++ b/www/versioned_docs/version-7.6.4/API/classes/CairoResult.md @@ -55,7 +55,7 @@ const myOption = new CairoResult(CairoResultVariant.O #### Defined in -[src/utils/calldata/enum/CairoResult.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoResult.ts#L26) +[src/utils/calldata/enum/CairoResult.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoResult.ts#L26) ## Properties @@ -65,7 +65,7 @@ const myOption = new CairoResult(CairoResultVariant.O #### Defined in -[src/utils/calldata/enum/CairoResult.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoResult.ts#L22) +[src/utils/calldata/enum/CairoResult.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoResult.ts#L22) --- @@ -75,7 +75,7 @@ const myOption = new CairoResult(CairoResultVariant.O #### Defined in -[src/utils/calldata/enum/CairoResult.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoResult.ts#L24) +[src/utils/calldata/enum/CairoResult.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoResult.ts#L24) ## Methods @@ -91,7 +91,7 @@ the content of the valid variant of a Cairo Result. #### Defined in -[src/utils/calldata/enum/CairoResult.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoResult.ts#L43) +[src/utils/calldata/enum/CairoResult.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoResult.ts#L43) --- @@ -107,7 +107,7 @@ true if the valid variant is 'Ok'. #### Defined in -[src/utils/calldata/enum/CairoResult.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoResult.ts#L57) +[src/utils/calldata/enum/CairoResult.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoResult.ts#L57) --- @@ -123,4 +123,4 @@ true if the valid variant is 'isErr'. #### Defined in -[src/utils/calldata/enum/CairoResult.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoResult.ts#L65) +[src/utils/calldata/enum/CairoResult.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoResult.ts#L65) diff --git a/www/versioned_docs/version-7.5.1/API/classes/CairoUint256.md b/www/versioned_docs/version-7.6.4/API/classes/CairoUint256.md similarity index 85% rename from www/versioned_docs/version-7.5.1/API/classes/CairoUint256.md rename to www/versioned_docs/version-7.6.4/API/classes/CairoUint256.md index 6463c51ea..489e45e1d 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/CairoUint256.md +++ b/www/versioned_docs/version-7.6.4/API/classes/CairoUint256.md @@ -26,7 +26,7 @@ Default constructor (Lib usage) #### Defined in -[src/utils/cairoDataTypes/uint256.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L29) +[src/utils/cairoDataTypes/uint256.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L29) • **new CairoUint256**(`low`, `high`): [`CairoUint256`](CairoUint256.md) @@ -45,7 +45,7 @@ Direct props initialization (Api response) #### Defined in -[src/utils/cairoDataTypes/uint256.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L33) +[src/utils/cairoDataTypes/uint256.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L33) • **new CairoUint256**(`uint256`): [`CairoUint256`](CairoUint256.md) @@ -63,7 +63,7 @@ Initialization from Uint256 object #### Defined in -[src/utils/cairoDataTypes/uint256.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L37) +[src/utils/cairoDataTypes/uint256.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L37) ## Properties @@ -73,7 +73,7 @@ Initialization from Uint256 object #### Defined in -[src/utils/cairoDataTypes/uint256.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L23) +[src/utils/cairoDataTypes/uint256.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L23) --- @@ -83,7 +83,7 @@ Initialization from Uint256 object #### Defined in -[src/utils/cairoDataTypes/uint256.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L19) +[src/utils/cairoDataTypes/uint256.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L19) --- @@ -93,7 +93,7 @@ Initialization from Uint256 object #### Defined in -[src/utils/cairoDataTypes/uint256.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L21) +[src/utils/cairoDataTypes/uint256.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L21) ## Methods @@ -115,7 +115,7 @@ Validate if BigNumberish can be represented as Unit256 #### Defined in -[src/utils/cairoDataTypes/uint256.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L60) +[src/utils/cairoDataTypes/uint256.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L60) --- @@ -143,7 +143,7 @@ Validate if low and high can be represented as Unit256 #### Defined in -[src/utils/cairoDataTypes/uint256.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L70) +[src/utils/cairoDataTypes/uint256.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L70) --- @@ -165,7 +165,7 @@ Check if BigNumberish can be represented as Unit256 #### Defined in -[src/utils/cairoDataTypes/uint256.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L85) +[src/utils/cairoDataTypes/uint256.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L85) --- @@ -187,7 +187,7 @@ Check if provided abi type is this data type #### Defined in -[src/utils/cairoDataTypes/uint256.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L97) +[src/utils/cairoDataTypes/uint256.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L97) --- @@ -203,7 +203,7 @@ Return bigint representation #### Defined in -[src/utils/cairoDataTypes/uint256.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L104) +[src/utils/cairoDataTypes/uint256.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L104) --- @@ -225,7 +225,7 @@ Return Uint256 structure with HexString props #### Defined in -[src/utils/cairoDataTypes/uint256.ts:112](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L112) +[src/utils/cairoDataTypes/uint256.ts:112](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L112) --- @@ -247,7 +247,7 @@ Return Uint256 structure with DecimalString props #### Defined in -[src/utils/cairoDataTypes/uint256.ts:123](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L123) +[src/utils/cairoDataTypes/uint256.ts:123](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L123) --- @@ -263,4 +263,4 @@ Return api requests representation witch is felt array #### Defined in -[src/utils/cairoDataTypes/uint256.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint256.ts#L133) +[src/utils/cairoDataTypes/uint256.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L133) diff --git a/www/versioned_docs/version-7.5.1/API/classes/CairoUint512.md b/www/versioned_docs/version-7.6.4/API/classes/CairoUint512.md similarity index 85% rename from www/versioned_docs/version-7.5.1/API/classes/CairoUint512.md rename to www/versioned_docs/version-7.6.4/API/classes/CairoUint512.md index 472a97caa..2e945e098 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/CairoUint512.md +++ b/www/versioned_docs/version-7.6.4/API/classes/CairoUint512.md @@ -26,7 +26,7 @@ Default constructor (Lib usage) #### Defined in -[src/utils/cairoDataTypes/uint512.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L30) +[src/utils/cairoDataTypes/uint512.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L30) • **new CairoUint512**(`limb0`, `limb1`, `limb2`, `limb3`): [`CairoUint512`](CairoUint512.md) @@ -47,7 +47,7 @@ Direct props initialization (Api response) #### Defined in -[src/utils/cairoDataTypes/uint512.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L34) +[src/utils/cairoDataTypes/uint512.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L34) • **new CairoUint512**(`uint512`): [`CairoUint512`](CairoUint512.md) @@ -65,7 +65,7 @@ Initialization from Uint512 object #### Defined in -[src/utils/cairoDataTypes/uint512.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L43) +[src/utils/cairoDataTypes/uint512.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L43) ## Properties @@ -75,7 +75,7 @@ Initialization from Uint512 object #### Defined in -[src/utils/cairoDataTypes/uint512.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L24) +[src/utils/cairoDataTypes/uint512.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L24) --- @@ -85,7 +85,7 @@ Initialization from Uint512 object #### Defined in -[src/utils/cairoDataTypes/uint512.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L16) +[src/utils/cairoDataTypes/uint512.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L16) --- @@ -95,7 +95,7 @@ Initialization from Uint512 object #### Defined in -[src/utils/cairoDataTypes/uint512.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L18) +[src/utils/cairoDataTypes/uint512.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L18) --- @@ -105,7 +105,7 @@ Initialization from Uint512 object #### Defined in -[src/utils/cairoDataTypes/uint512.ts:20](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L20) +[src/utils/cairoDataTypes/uint512.ts:20](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L20) --- @@ -115,7 +115,7 @@ Initialization from Uint512 object #### Defined in -[src/utils/cairoDataTypes/uint512.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L22) +[src/utils/cairoDataTypes/uint512.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L22) ## Methods @@ -137,7 +137,7 @@ Validate if BigNumberish can be represented as Uint512 #### Defined in -[src/utils/cairoDataTypes/uint512.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L84) +[src/utils/cairoDataTypes/uint512.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L84) --- @@ -169,7 +169,7 @@ Validate if limbs can be represented as Uint512 #### Defined in -[src/utils/cairoDataTypes/uint512.ts:94](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L94) +[src/utils/cairoDataTypes/uint512.ts:94](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L94) --- @@ -191,7 +191,7 @@ Check if BigNumberish can be represented as Uint512 #### Defined in -[src/utils/cairoDataTypes/uint512.ts:115](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L115) +[src/utils/cairoDataTypes/uint512.ts:115](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L115) --- @@ -213,7 +213,7 @@ Check if provided abi type is this data type #### Defined in -[src/utils/cairoDataTypes/uint512.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L127) +[src/utils/cairoDataTypes/uint512.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L127) --- @@ -229,7 +229,7 @@ Return bigint representation #### Defined in -[src/utils/cairoDataTypes/uint512.ts:134](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L134) +[src/utils/cairoDataTypes/uint512.ts:134](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L134) --- @@ -253,7 +253,7 @@ limbx: HexString #### Defined in -[src/utils/cairoDataTypes/uint512.ts:142](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L142) +[src/utils/cairoDataTypes/uint512.ts:142](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L142) --- @@ -277,7 +277,7 @@ limbx DecString #### Defined in -[src/utils/cairoDataTypes/uint512.ts:155](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L155) +[src/utils/cairoDataTypes/uint512.ts:155](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L155) --- @@ -293,4 +293,4 @@ Return api requests representation witch is felt array #### Defined in -[src/utils/cairoDataTypes/uint512.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/cairoDataTypes/uint512.ts#L167) +[src/utils/cairoDataTypes/uint512.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L167) diff --git a/www/versioned_docs/version-7.6.2/API/classes/CallData.md b/www/versioned_docs/version-7.6.4/API/classes/CallData.md similarity index 91% rename from www/versioned_docs/version-7.6.2/API/classes/CallData.md rename to www/versioned_docs/version-7.6.4/API/classes/CallData.md index c2e57ace4..b03eb55ab 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/CallData.md +++ b/www/versioned_docs/version-7.6.4/API/classes/CallData.md @@ -24,7 +24,7 @@ custom_edit_url: null #### Defined in -[src/utils/calldata/index.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L52) +[src/utils/calldata/index.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L52) ## Properties @@ -34,7 +34,7 @@ custom_edit_url: null #### Defined in -[src/utils/calldata/index.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L44) +[src/utils/calldata/index.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L44) --- @@ -44,7 +44,7 @@ custom_edit_url: null #### Defined in -[src/utils/calldata/index.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L46) +[src/utils/calldata/index.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L46) --- @@ -54,7 +54,7 @@ custom_edit_url: null #### Defined in -[src/utils/calldata/index.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L48) +[src/utils/calldata/index.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L48) --- @@ -64,7 +64,7 @@ custom_edit_url: null #### Defined in -[src/utils/calldata/index.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L50) +[src/utils/calldata/index.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L50) ## Methods @@ -88,7 +88,7 @@ Calldata #### Defined in -[src/utils/calldata/index.ts:165](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L165) +[src/utils/calldata/index.ts:165](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L165) --- @@ -112,7 +112,7 @@ AbiStructs - structs from abi #### Defined in -[src/utils/calldata/index.ts:283](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L283) +[src/utils/calldata/index.ts:283](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L283) --- @@ -136,7 +136,7 @@ AbiEnums - enums from abi #### Defined in -[src/utils/calldata/index.ts:300](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L300) +[src/utils/calldata/index.ts:300](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L300) --- @@ -160,7 +160,7 @@ Calldata #### Defined in -[src/utils/calldata/index.ts:319](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L319) +[src/utils/calldata/index.ts:319](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L319) --- @@ -184,7 +184,7 @@ HexCalldata #### Defined in -[src/utils/calldata/index.ts:328](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L328) +[src/utils/calldata/index.ts:328](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L328) --- @@ -208,7 +208,7 @@ Validate arguments passed to the method as corresponding to the ones in the abi #### Defined in -[src/utils/calldata/index.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L65) +[src/utils/calldata/index.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L65) --- @@ -244,7 +244,7 @@ const calldata2 = myCallData.compile('constructor', { list: [1, 3n], balance: '0 #### Defined in -[src/utils/calldata/index.ts:118](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L118) +[src/utils/calldata/index.ts:118](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L118) --- @@ -269,7 +269,7 @@ Result - parsed response corresponding to the abi #### Defined in -[src/utils/calldata/index.ts:249](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L249) +[src/utils/calldata/index.ts:249](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L249) --- @@ -295,7 +295,7 @@ Result - parsed and formatted response object #### Defined in -[src/utils/calldata/index.ts:273](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L273) +[src/utils/calldata/index.ts:273](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L273) --- @@ -328,4 +328,4 @@ result = { address: 1193046n, is_claimed: true }; #### Defined in -[src/utils/calldata/index.ts:343](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/index.ts#L343) +[src/utils/calldata/index.ts:343](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/index.ts#L343) diff --git a/www/versioned_docs/version-7.6.2/API/classes/Contract.md b/www/versioned_docs/version-7.6.4/API/classes/Contract.md similarity index 91% rename from www/versioned_docs/version-7.6.2/API/classes/Contract.md rename to www/versioned_docs/version-7.6.4/API/classes/Contract.md index d7c649791..0804271c3 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/Contract.md +++ b/www/versioned_docs/version-7.6.4/API/classes/Contract.md @@ -36,7 +36,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L138) +[src/contract/default.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L138) ## Properties @@ -50,7 +50,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:105](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L105) +[src/contract/default.ts:105](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L105) --- @@ -64,7 +64,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:107](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L107) +[src/contract/default.ts:107](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L107) --- @@ -78,7 +78,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:109](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L109) +[src/contract/default.ts:109](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L109) --- @@ -92,7 +92,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:111](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L111) +[src/contract/default.ts:111](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L111) --- @@ -106,7 +106,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:113](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L113) +[src/contract/default.ts:113](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L113) --- @@ -116,7 +116,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:115](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L115) +[src/contract/default.ts:115](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L115) --- @@ -134,7 +134,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L117) +[src/contract/default.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L117) --- @@ -152,7 +152,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L119) +[src/contract/default.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L119) --- @@ -170,7 +170,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:121](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L121) +[src/contract/default.ts:121](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L121) --- @@ -188,7 +188,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:123](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L123) +[src/contract/default.ts:123](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L123) --- @@ -198,7 +198,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L127) +[src/contract/default.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L127) --- @@ -208,7 +208,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:129](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L129) +[src/contract/default.ts:129](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L129) ## Methods @@ -228,7 +228,7 @@ Contract class to handle contract methods #### Defined in -[src/contract/default.ts:194](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L194) +[src/contract/default.ts:194](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L194) --- @@ -254,7 +254,7 @@ Saves the address of the contract deployed on network that will be used for inte #### Defined in -[src/contract/default.ts:199](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L199) +[src/contract/default.ts:199](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L199) --- @@ -280,7 +280,7 @@ Attaches to new Provider or Account #### Defined in -[src/contract/default.ts:203](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L203) +[src/contract/default.ts:203](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L203) --- @@ -306,7 +306,7 @@ When deployment fails #### Defined in -[src/contract/default.ts:207](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L207) +[src/contract/default.ts:207](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L207) --- @@ -336,7 +336,7 @@ Result of the call as an array with key value pars #### Defined in -[src/contract/default.ts:215](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L215) +[src/contract/default.ts:215](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L215) --- @@ -366,7 +366,7 @@ Add Transaction Response #### Defined in -[src/contract/default.ts:256](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L256) +[src/contract/default.ts:256](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L256) --- @@ -393,7 +393,7 @@ Estimates a method on a contract #### Defined in -[src/contract/default.ts:299](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L299) +[src/contract/default.ts:299](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L299) --- @@ -422,7 +422,7 @@ Invocation object #### Defined in -[src/contract/default.ts:313](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L313) +[src/contract/default.ts:313](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L313) --- @@ -450,7 +450,7 @@ Events parsed #### Defined in -[src/contract/default.ts:324](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L324) +[src/contract/default.ts:324](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L324) --- @@ -478,7 +478,7 @@ const isCairo1: boolean = myContract.isCairo1(); #### Defined in -[src/contract/default.ts:355](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L355) +[src/contract/default.ts:355](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L355) --- @@ -498,7 +498,7 @@ Retrieves the version of the contract (cairo version & compiler version) #### Defined in -[src/contract/default.ts:359](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L359) +[src/contract/default.ts:359](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L359) --- @@ -532,4 +532,4 @@ Returns a typed instance of ContractV2 based on the supplied ABI. #### Defined in -[src/contract/default.ts:363](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L363) +[src/contract/default.ts:363](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L363) diff --git a/www/versioned_docs/version-7.6.2/API/classes/ContractFactory.md b/www/versioned_docs/version-7.6.4/API/classes/ContractFactory.md similarity index 83% rename from www/versioned_docs/version-7.6.2/API/classes/ContractFactory.md rename to www/versioned_docs/version-7.6.4/API/classes/ContractFactory.md index f30c8d403..3b417f7c6 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/ContractFactory.md +++ b/www/versioned_docs/version-7.6.4/API/classes/ContractFactory.md @@ -24,7 +24,7 @@ custom_edit_url: null #### Defined in -[src/contract/contractFactory.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/contractFactory.ts#L51) +[src/contract/contractFactory.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/contractFactory.ts#L51) ## Properties @@ -34,7 +34,7 @@ custom_edit_url: null #### Defined in -[src/contract/contractFactory.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/contractFactory.ts#L26) +[src/contract/contractFactory.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/contractFactory.ts#L26) --- @@ -44,7 +44,7 @@ custom_edit_url: null #### Defined in -[src/contract/contractFactory.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/contractFactory.ts#L28) +[src/contract/contractFactory.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/contractFactory.ts#L28) --- @@ -54,7 +54,7 @@ custom_edit_url: null #### Defined in -[src/contract/contractFactory.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/contractFactory.ts#L30) +[src/contract/contractFactory.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/contractFactory.ts#L30) --- @@ -64,7 +64,7 @@ custom_edit_url: null #### Defined in -[src/contract/contractFactory.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/contractFactory.ts#L32) +[src/contract/contractFactory.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/contractFactory.ts#L32) --- @@ -74,7 +74,7 @@ custom_edit_url: null #### Defined in -[src/contract/contractFactory.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/contractFactory.ts#L34) +[src/contract/contractFactory.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/contractFactory.ts#L34) --- @@ -84,7 +84,7 @@ custom_edit_url: null #### Defined in -[src/contract/contractFactory.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/contractFactory.ts#L36) +[src/contract/contractFactory.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/contractFactory.ts#L36) --- @@ -94,7 +94,7 @@ custom_edit_url: null #### Defined in -[src/contract/contractFactory.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/contractFactory.ts#L38) +[src/contract/contractFactory.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/contractFactory.ts#L38) --- @@ -104,7 +104,7 @@ custom_edit_url: null #### Defined in -[src/contract/contractFactory.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/contractFactory.ts#L40) +[src/contract/contractFactory.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/contractFactory.ts#L40) ## Methods @@ -128,7 +128,7 @@ If contract is not declared it will first declare it, and then deploy #### Defined in -[src/contract/contractFactory.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/contractFactory.ts#L67) +[src/contract/contractFactory.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/contractFactory.ts#L67) --- @@ -150,7 +150,7 @@ Attaches to new Account #### Defined in -[src/contract/contractFactory.ts:106](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/contractFactory.ts#L106) +[src/contract/contractFactory.ts:106](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/contractFactory.ts#L106) --- @@ -172,4 +172,4 @@ Attaches current abi and account to the new address #### Defined in -[src/contract/contractFactory.ts:114](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/contractFactory.ts#L114) +[src/contract/contractFactory.ts:114](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/contractFactory.ts#L114) diff --git a/www/versioned_docs/version-7.6.2/API/classes/ContractInterface.md b/www/versioned_docs/version-7.6.4/API/classes/ContractInterface.md similarity index 90% rename from www/versioned_docs/version-7.6.2/API/classes/ContractInterface.md rename to www/versioned_docs/version-7.6.4/API/classes/ContractInterface.md index 94b2e306e..11717412d 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/ContractInterface.md +++ b/www/versioned_docs/version-7.6.4/API/classes/ContractInterface.md @@ -32,7 +32,7 @@ custom_edit_url: null #### Defined in -[src/contract/interface.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L49) +[src/contract/interface.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L49) --- @@ -42,7 +42,7 @@ custom_edit_url: null #### Defined in -[src/contract/interface.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L51) +[src/contract/interface.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L51) --- @@ -52,7 +52,7 @@ custom_edit_url: null #### Defined in -[src/contract/interface.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L53) +[src/contract/interface.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L53) --- @@ -62,7 +62,7 @@ custom_edit_url: null #### Defined in -[src/contract/interface.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L55) +[src/contract/interface.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L55) --- @@ -76,7 +76,7 @@ custom_edit_url: null #### Defined in -[src/contract/interface.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L57) +[src/contract/interface.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L57) --- @@ -90,7 +90,7 @@ custom_edit_url: null #### Defined in -[src/contract/interface.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L59) +[src/contract/interface.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L59) --- @@ -104,7 +104,7 @@ custom_edit_url: null #### Defined in -[src/contract/interface.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L61) +[src/contract/interface.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L61) --- @@ -118,7 +118,7 @@ custom_edit_url: null #### Defined in -[src/contract/interface.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L63) +[src/contract/interface.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L63) ## Methods @@ -140,7 +140,7 @@ Saves the address of the contract deployed on network that will be used for inte #### Defined in -[src/contract/interface.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L72) +[src/contract/interface.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L72) --- @@ -162,7 +162,7 @@ Attaches to new Provider or Account #### Defined in -[src/contract/interface.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L79) +[src/contract/interface.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L79) --- @@ -184,7 +184,7 @@ When deployment fails #### Defined in -[src/contract/interface.ts:87](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L87) +[src/contract/interface.ts:87](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L87) --- @@ -210,7 +210,7 @@ Result of the call as an array with key value pars #### Defined in -[src/contract/interface.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L97) +[src/contract/interface.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L97) --- @@ -236,7 +236,7 @@ Add Transaction Response #### Defined in -[src/contract/interface.ts:111](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L111) +[src/contract/interface.ts:111](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L111) --- @@ -261,7 +261,7 @@ Estimates a method on a contract #### Defined in -[src/contract/interface.ts:124](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L124) +[src/contract/interface.ts:124](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L124) --- @@ -286,7 +286,7 @@ Invocation object #### Defined in -[src/contract/interface.ts:139](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L139) +[src/contract/interface.ts:139](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L139) --- @@ -310,7 +310,7 @@ Events parsed #### Defined in -[src/contract/interface.ts:147](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L147) +[src/contract/interface.ts:147](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L147) --- @@ -334,7 +334,7 @@ const isCairo1: boolean = myContract.isCairo1(); #### Defined in -[src/contract/interface.ts:158](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L158) +[src/contract/interface.ts:158](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L158) --- @@ -350,7 +350,7 @@ Retrieves the version of the contract (cairo version & compiler version) #### Defined in -[src/contract/interface.ts:163](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L163) +[src/contract/interface.ts:163](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L163) --- @@ -380,4 +380,4 @@ Returns a typed instance of ContractV2 based on the supplied ABI. #### Defined in -[src/contract/interface.ts:171](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/interface.ts#L171) +[src/contract/interface.ts:171](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/interface.ts#L171) diff --git a/www/versioned_docs/version-7.5.1/API/classes/EthSigner.md b/www/versioned_docs/version-7.6.4/API/classes/EthSigner.md similarity index 96% rename from www/versioned_docs/version-7.5.1/API/classes/EthSigner.md rename to www/versioned_docs/version-7.6.4/API/classes/EthSigner.md index d7a47d07c..d746cef8c 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/EthSigner.md +++ b/www/versioned_docs/version-7.6.4/API/classes/EthSigner.md @@ -30,7 +30,7 @@ Signer for accounts using Ethereum signature #### Defined in -[src/signer/ethSigner.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ethSigner.ts#L42) +[src/signer/ethSigner.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ethSigner.ts#L42) ## Properties @@ -40,7 +40,7 @@ Signer for accounts using Ethereum signature #### Defined in -[src/signer/ethSigner.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ethSigner.ts#L40) +[src/signer/ethSigner.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ethSigner.ts#L40) ## Methods @@ -62,7 +62,7 @@ an hex string : 64 first characters are Point X coordinate. 64 last characters a #### Defined in -[src/signer/ethSigner.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ethSigner.ts#L53) +[src/signer/ethSigner.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ethSigner.ts#L53) --- @@ -117,7 +117,7 @@ const result = await mySigner.signMessage( #### Defined in -[src/signer/ethSigner.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ethSigner.ts#L59) +[src/signer/ethSigner.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ethSigner.ts#L59) --- @@ -170,7 +170,7 @@ const result = await mySigner.signTransaction(calls, transactionsDetail); #### Defined in -[src/signer/ethSigner.ts:68](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ethSigner.ts#L68) +[src/signer/ethSigner.ts:68](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ethSigner.ts#L68) --- @@ -223,7 +223,7 @@ const result = await mySigner.signDeployAccountTransaction(myDeployAcc); #### Defined in -[src/signer/ethSigner.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ethSigner.ts#L104) +[src/signer/ethSigner.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ethSigner.ts#L104) --- @@ -274,7 +274,7 @@ const result = await mySigner.signDeclareTransaction(myDeclare); #### Defined in -[src/signer/ethSigner.ts:139](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ethSigner.ts#L139) +[src/signer/ethSigner.ts:139](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ethSigner.ts#L139) --- @@ -298,4 +298,4 @@ an array of felts, representing a Cairo Eth Signature. #### Defined in -[src/signer/ethSigner.ts:175](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ethSigner.ts#L175) +[src/signer/ethSigner.ts:175](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ethSigner.ts#L175) diff --git a/www/versioned_docs/version-7.5.1/API/classes/LedgerSigner111.md b/www/versioned_docs/version-7.6.4/API/classes/LedgerSigner111.md similarity index 92% rename from www/versioned_docs/version-7.5.1/API/classes/LedgerSigner111.md rename to www/versioned_docs/version-7.6.4/API/classes/LedgerSigner111.md index c03eccb3c..86ea047f7 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/LedgerSigner111.md +++ b/www/versioned_docs/version-7.6.4/API/classes/LedgerSigner111.md @@ -63,7 +63,7 @@ const myLedgerSigner = new LedgerSigner111(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L80) +[src/signer/ledgerSigner111.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L80) ## Properties @@ -73,7 +73,7 @@ const myLedgerSigner = new LedgerSigner111(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L46) +[src/signer/ledgerSigner111.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L46) --- @@ -83,7 +83,7 @@ const myLedgerSigner = new LedgerSigner111(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L49) +[src/signer/ledgerSigner111.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L49) --- @@ -93,7 +93,7 @@ const myLedgerSigner = new LedgerSigner111(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L51) +[src/signer/ledgerSigner111.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L51) --- @@ -103,7 +103,7 @@ const myLedgerSigner = new LedgerSigner111(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L53) +[src/signer/ledgerSigner111.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L53) --- @@ -113,7 +113,7 @@ const myLedgerSigner = new LedgerSigner111(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L55) +[src/signer/ledgerSigner111.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L55) --- @@ -123,7 +123,7 @@ const myLedgerSigner = new LedgerSigner111(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L57) +[src/signer/ledgerSigner111.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L57) --- @@ -133,7 +133,7 @@ const myLedgerSigner = new LedgerSigner111(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L59) +[src/signer/ledgerSigner111.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L59) --- @@ -143,7 +143,7 @@ const myLedgerSigner = new LedgerSigner111(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L61) +[src/signer/ledgerSigner111.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L61) ## Methods @@ -172,7 +172,7 @@ const result = await myLedgerSigner.getPubKey(); #### Defined in -[src/signer/ledgerSigner111.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L108) +[src/signer/ledgerSigner111.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L108) --- @@ -197,7 +197,7 @@ const result = await myLedgerSigner.getFullPubKey(); #### Defined in -[src/signer/ledgerSigner111.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L122) +[src/signer/ledgerSigner111.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L122) --- @@ -222,7 +222,7 @@ const result = await myLedgerSigner.getAppVersion(); #### Defined in -[src/signer/ledgerSigner111.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L136) +[src/signer/ledgerSigner111.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L136) --- @@ -260,7 +260,7 @@ const result = myLedgerSigner.signMessage(snip12Message, account0.address); #### Defined in -[src/signer/ledgerSigner111.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L157) +[src/signer/ledgerSigner111.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L157) --- @@ -320,7 +320,7 @@ const result = myLedgerSigner.signTransaction([call0, call1], txDetailsV3); #### Defined in -[src/signer/ledgerSigner111.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L197) +[src/signer/ledgerSigner111.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L197) --- @@ -357,7 +357,7 @@ const result = myLedgerSigner.signDeployAccountTransaction(details); #### Defined in -[src/signer/ledgerSigner111.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L242) +[src/signer/ledgerSigner111.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L242) --- @@ -394,7 +394,7 @@ const result = myLedgerSigner.signDeclareTransaction(details); #### Defined in -[src/signer/ledgerSigner111.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L286) +[src/signer/ledgerSigner111.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L286) --- @@ -417,7 +417,7 @@ This is a blind sign in the Ledger ; no display of what you are signing. #### Defined in -[src/signer/ledgerSigner111.ts:315](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L315) +[src/signer/ledgerSigner111.ts:315](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L315) --- @@ -433,4 +433,4 @@ internal function to get both the Starknet public key and the full public key #### Defined in -[src/signer/ledgerSigner111.ts:334](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/ledgerSigner111.ts#L334) +[src/signer/ledgerSigner111.ts:334](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L334) diff --git a/www/versioned_docs/version-7.6.2/API/classes/LedgerSigner221.md b/www/versioned_docs/version-7.6.4/API/classes/LedgerSigner221.md similarity index 94% rename from www/versioned_docs/version-7.6.2/API/classes/LedgerSigner221.md rename to www/versioned_docs/version-7.6.4/API/classes/LedgerSigner221.md index f414b1b43..6eaac8a59 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/LedgerSigner221.md +++ b/www/versioned_docs/version-7.6.4/API/classes/LedgerSigner221.md @@ -69,7 +69,7 @@ const myLedgerSigner = new LedgerSigner211(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner221.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L76) +[src/signer/ledgerSigner221.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L76) ## Properties @@ -83,7 +83,7 @@ const myLedgerSigner = new LedgerSigner211(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L46) +[src/signer/ledgerSigner111.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L46) --- @@ -97,7 +97,7 @@ const myLedgerSigner = new LedgerSigner211(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L49) +[src/signer/ledgerSigner111.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L49) --- @@ -111,7 +111,7 @@ const myLedgerSigner = new LedgerSigner211(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L51) +[src/signer/ledgerSigner111.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L51) --- @@ -125,7 +125,7 @@ const myLedgerSigner = new LedgerSigner211(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L53) +[src/signer/ledgerSigner111.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L53) --- @@ -139,7 +139,7 @@ const myLedgerSigner = new LedgerSigner211(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L55) +[src/signer/ledgerSigner111.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L55) --- @@ -153,7 +153,7 @@ const myLedgerSigner = new LedgerSigner211(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L57) +[src/signer/ledgerSigner111.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L57) --- @@ -167,7 +167,7 @@ const myLedgerSigner = new LedgerSigner211(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L59) +[src/signer/ledgerSigner111.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L59) --- @@ -181,7 +181,7 @@ const myLedgerSigner = new LedgerSigner211(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L61) +[src/signer/ledgerSigner111.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L61) ## Methods @@ -245,7 +245,7 @@ const result = myLedgerSigner.signTransaction([call0, call1], txDetailsV3); #### Defined in -[src/signer/ledgerSigner221.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L120) +[src/signer/ledgerSigner221.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L120) --- @@ -286,7 +286,7 @@ const result = myLedgerSigner.signDeployAccountTransaction(details); #### Defined in -[src/signer/ledgerSigner221.ts:173](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L173) +[src/signer/ledgerSigner221.ts:173](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L173) --- @@ -310,7 +310,7 @@ a Uint8Array containing 32 bytes. #### Defined in -[src/signer/ledgerSigner221.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L219) +[src/signer/ledgerSigner221.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L219) --- @@ -339,7 +339,7 @@ transaction hash & signature #### Defined in -[src/signer/ledgerSigner221.ts:228](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L228) +[src/signer/ledgerSigner221.ts:228](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L228) --- @@ -363,7 +363,7 @@ Call encoded in an array of Uint8Array (each containing 7 u256). #### Defined in -[src/signer/ledgerSigner221.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L242) +[src/signer/ledgerSigner221.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L242) --- @@ -416,7 +416,7 @@ const res = await myLedgerSigner.signTxV1(txDet, calls); #### Defined in -[src/signer/ledgerSigner221.ts:288](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L288) +[src/signer/ledgerSigner221.ts:288](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L288) --- @@ -477,7 +477,7 @@ const res = await myLedgerSigner.signTxV3(txDetailsV3, calls); #### Defined in -[src/signer/ledgerSigner221.ts:358](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L358) +[src/signer/ledgerSigner221.ts:358](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L358) --- @@ -531,7 +531,7 @@ const res = await myLedgerSigner.signDeployAccountV1(deployData); #### Defined in -[src/signer/ledgerSigner221.ts:464](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L464) +[src/signer/ledgerSigner221.ts:464](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L464) --- @@ -585,7 +585,7 @@ const res = await myLedgerSigner.signDeployAccountV3(deployData); #### Defined in -[src/signer/ledgerSigner221.ts:546](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L546) +[src/signer/ledgerSigner221.ts:546](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L546) --- @@ -618,7 +618,7 @@ const result = await myLedgerSigner.getPubKey(); #### Defined in -[src/signer/ledgerSigner111.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L108) +[src/signer/ledgerSigner111.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L108) --- @@ -647,7 +647,7 @@ const result = await myLedgerSigner.getFullPubKey(); #### Defined in -[src/signer/ledgerSigner111.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L122) +[src/signer/ledgerSigner111.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L122) --- @@ -676,7 +676,7 @@ const result = await myLedgerSigner.getAppVersion(); #### Defined in -[src/signer/ledgerSigner111.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L136) +[src/signer/ledgerSigner111.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L136) --- @@ -718,7 +718,7 @@ const result = myLedgerSigner.signMessage(snip12Message, account0.address); #### Defined in -[src/signer/ledgerSigner111.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L157) +[src/signer/ledgerSigner111.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L157) --- @@ -759,7 +759,7 @@ const result = myLedgerSigner.signDeclareTransaction(details); #### Defined in -[src/signer/ledgerSigner111.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L286) +[src/signer/ledgerSigner111.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L286) --- @@ -786,7 +786,7 @@ This is a blind sign in the Ledger ; no display of what you are signing. #### Defined in -[src/signer/ledgerSigner111.ts:315](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L315) +[src/signer/ledgerSigner111.ts:315](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L315) --- @@ -806,4 +806,4 @@ internal function to get both the Starknet public key and the full public key #### Defined in -[src/signer/ledgerSigner111.ts:334](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L334) +[src/signer/ledgerSigner111.ts:334](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L334) diff --git a/www/versioned_docs/version-7.6.2/API/classes/LedgerSigner231.md b/www/versioned_docs/version-7.6.4/API/classes/LedgerSigner231.md similarity index 94% rename from www/versioned_docs/version-7.6.2/API/classes/LedgerSigner231.md rename to www/versioned_docs/version-7.6.4/API/classes/LedgerSigner231.md index 139c6acb9..2db01fdef 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/LedgerSigner231.md +++ b/www/versioned_docs/version-7.6.4/API/classes/LedgerSigner231.md @@ -67,7 +67,7 @@ const myLedgerSigner = new LedgerSigner231(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner231.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner231.ts#L65) +[src/signer/ledgerSigner231.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner231.ts#L65) ## Properties @@ -81,7 +81,7 @@ const myLedgerSigner = new LedgerSigner231(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L46) +[src/signer/ledgerSigner111.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L46) --- @@ -95,7 +95,7 @@ const myLedgerSigner = new LedgerSigner231(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L49) +[src/signer/ledgerSigner111.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L49) --- @@ -109,7 +109,7 @@ const myLedgerSigner = new LedgerSigner231(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L51) +[src/signer/ledgerSigner111.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L51) --- @@ -123,7 +123,7 @@ const myLedgerSigner = new LedgerSigner231(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L53) +[src/signer/ledgerSigner111.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L53) --- @@ -137,7 +137,7 @@ const myLedgerSigner = new LedgerSigner231(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L55) +[src/signer/ledgerSigner111.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L55) --- @@ -151,7 +151,7 @@ const myLedgerSigner = new LedgerSigner231(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L57) +[src/signer/ledgerSigner111.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L57) --- @@ -165,7 +165,7 @@ const myLedgerSigner = new LedgerSigner231(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L59) +[src/signer/ledgerSigner111.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L59) --- @@ -179,7 +179,7 @@ const myLedgerSigner = new LedgerSigner231(myNodeTransport, 0); #### Defined in -[src/signer/ledgerSigner111.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L61) +[src/signer/ledgerSigner111.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L61) ## Methods @@ -236,7 +236,7 @@ const res = await myLedgerSigner.signTxV1(txDet, calls); #### Defined in -[src/signer/ledgerSigner231.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner231.ts#L97) +[src/signer/ledgerSigner231.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner231.ts#L97) --- @@ -301,7 +301,7 @@ const res = await myLedgerSigner.signTxV3(txDetailsV3, calls); #### Defined in -[src/signer/ledgerSigner231.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner231.ts#L167) +[src/signer/ledgerSigner231.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner231.ts#L167) --- @@ -359,7 +359,7 @@ const res = await myLedgerSigner.signDeployAccountV1(deployData); #### Defined in -[src/signer/ledgerSigner231.ts:291](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner231.ts#L291) +[src/signer/ledgerSigner231.ts:291](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner231.ts#L291) --- @@ -417,7 +417,7 @@ const res = await myLedgerSigner.signDeployAccountV3(deployData); #### Defined in -[src/signer/ledgerSigner231.ts:373](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner231.ts#L373) +[src/signer/ledgerSigner231.ts:373](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner231.ts#L373) --- @@ -445,7 +445,7 @@ Call encoded in an array of Uint8Array (each containing 7 u256). #### Defined in -[src/signer/ledgerSigner231.ts:474](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner231.ts#L474) +[src/signer/ledgerSigner231.ts:474](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner231.ts#L474) --- @@ -509,7 +509,7 @@ const result = myLedgerSigner.signTransaction([call0, call1], txDetailsV3); #### Defined in -[src/signer/ledgerSigner221.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L120) +[src/signer/ledgerSigner221.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L120) --- @@ -550,7 +550,7 @@ const result = myLedgerSigner.signDeployAccountTransaction(details); #### Defined in -[src/signer/ledgerSigner221.ts:173](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L173) +[src/signer/ledgerSigner221.ts:173](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L173) --- @@ -578,7 +578,7 @@ a Uint8Array containing 32 bytes. #### Defined in -[src/signer/ledgerSigner221.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L219) +[src/signer/ledgerSigner221.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L219) --- @@ -611,7 +611,7 @@ transaction hash & signature #### Defined in -[src/signer/ledgerSigner221.ts:228](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L228) +[src/signer/ledgerSigner221.ts:228](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L228) --- @@ -644,7 +644,7 @@ const result = await myLedgerSigner.getPubKey(); #### Defined in -[src/signer/ledgerSigner111.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L108) +[src/signer/ledgerSigner111.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L108) --- @@ -673,7 +673,7 @@ const result = await myLedgerSigner.getFullPubKey(); #### Defined in -[src/signer/ledgerSigner111.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L122) +[src/signer/ledgerSigner111.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L122) --- @@ -702,7 +702,7 @@ const result = await myLedgerSigner.getAppVersion(); #### Defined in -[src/signer/ledgerSigner111.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L136) +[src/signer/ledgerSigner111.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L136) --- @@ -744,7 +744,7 @@ const result = myLedgerSigner.signMessage(snip12Message, account0.address); #### Defined in -[src/signer/ledgerSigner111.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L157) +[src/signer/ledgerSigner111.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L157) --- @@ -785,7 +785,7 @@ const result = myLedgerSigner.signDeclareTransaction(details); #### Defined in -[src/signer/ledgerSigner111.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L286) +[src/signer/ledgerSigner111.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L286) --- @@ -812,7 +812,7 @@ This is a blind sign in the Ledger ; no display of what you are signing. #### Defined in -[src/signer/ledgerSigner111.ts:315](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L315) +[src/signer/ledgerSigner111.ts:315](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L315) --- @@ -832,4 +832,4 @@ internal function to get both the Starknet public key and the full public key #### Defined in -[src/signer/ledgerSigner111.ts:334](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L334) +[src/signer/ledgerSigner111.ts:334](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L334) diff --git a/www/versioned_docs/version-7.6.2/API/classes/LibraryError.md b/www/versioned_docs/version-7.6.4/API/classes/LibraryError.md similarity index 96% rename from www/versioned_docs/version-7.6.2/API/classes/LibraryError.md rename to www/versioned_docs/version-7.6.4/API/classes/LibraryError.md index 6b0369bc1..da06c09a1 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/LibraryError.md +++ b/www/versioned_docs/version-7.6.4/API/classes/LibraryError.md @@ -40,7 +40,7 @@ CustomError.constructor #### Defined in -[src/utils/errors/index.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/errors/index.ts#L23) +[src/utils/errors/index.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/errors/index.ts#L23) ## Properties @@ -103,7 +103,7 @@ CustomError.name #### Defined in -[src/utils/errors/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/errors/index.ts#L21) +[src/utils/errors/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/errors/index.ts#L21) --- diff --git a/www/versioned_docs/version-7.6.2/API/classes/PaymasterInterface.md b/www/versioned_docs/version-7.6.4/API/classes/PaymasterInterface.md similarity index 92% rename from www/versioned_docs/version-7.6.2/API/classes/PaymasterInterface.md rename to www/versioned_docs/version-7.6.4/API/classes/PaymasterInterface.md index bc98103a5..aa91fd807 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/PaymasterInterface.md +++ b/www/versioned_docs/version-7.6.4/API/classes/PaymasterInterface.md @@ -28,7 +28,7 @@ custom_edit_url: null #### Defined in -[src/paymaster/interface.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/interface.ts#L12) +[src/paymaster/interface.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/interface.ts#L12) --- @@ -38,7 +38,7 @@ custom_edit_url: null #### Defined in -[src/paymaster/interface.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/interface.ts#L14) +[src/paymaster/interface.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/interface.ts#L14) --- @@ -63,7 +63,7 @@ custom_edit_url: null #### Defined in -[src/paymaster/interface.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/interface.ts#L16) +[src/paymaster/interface.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/interface.ts#L16) ## Methods @@ -81,7 +81,7 @@ If the paymaster service is correctly functioning, return true. Else, return fal #### Defined in -[src/paymaster/interface.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/interface.ts#L23) +[src/paymaster/interface.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/interface.ts#L23) --- @@ -107,7 +107,7 @@ The transaction data required for execution along with an estimation of the fee #### Defined in -[src/paymaster/interface.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/interface.ts#L33) +[src/paymaster/interface.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/interface.ts#L33) --- @@ -132,7 +132,7 @@ The hash of the transaction broadcasted by the paymaster and the tracking ID cor #### Defined in -[src/paymaster/interface.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/interface.ts#L45) +[src/paymaster/interface.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/interface.ts#L45) --- @@ -150,4 +150,4 @@ An array of token data #### Defined in -[src/paymaster/interface.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/interface.ts#L55) +[src/paymaster/interface.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/interface.ts#L55) diff --git a/www/versioned_docs/version-7.6.2/API/classes/PaymasterRpc.md b/www/versioned_docs/version-7.6.4/API/classes/PaymasterRpc.md similarity index 93% rename from www/versioned_docs/version-7.6.2/API/classes/PaymasterRpc.md rename to www/versioned_docs/version-7.6.4/API/classes/PaymasterRpc.md index dd8f74482..8a412e974 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/PaymasterRpc.md +++ b/www/versioned_docs/version-7.6.4/API/classes/PaymasterRpc.md @@ -28,7 +28,7 @@ custom_edit_url: null #### Defined in -[src/paymaster/rpc.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/rpc.ts#L84) +[src/paymaster/rpc.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/rpc.ts#L84) ## Properties @@ -42,7 +42,7 @@ custom_edit_url: null #### Defined in -[src/paymaster/rpc.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/rpc.ts#L76) +[src/paymaster/rpc.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/rpc.ts#L76) --- @@ -56,7 +56,7 @@ custom_edit_url: null #### Defined in -[src/paymaster/rpc.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/rpc.ts#L78) +[src/paymaster/rpc.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/rpc.ts#L78) --- @@ -85,7 +85,7 @@ custom_edit_url: null #### Defined in -[src/paymaster/rpc.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/rpc.ts#L80) +[src/paymaster/rpc.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/rpc.ts#L80) --- @@ -95,7 +95,7 @@ custom_edit_url: null #### Defined in -[src/paymaster/rpc.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/rpc.ts#L82) +[src/paymaster/rpc.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/rpc.ts#L82) ## Methods @@ -117,7 +117,7 @@ custom_edit_url: null #### Defined in -[src/paymaster/rpc.ts:114](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/rpc.ts#L114) +[src/paymaster/rpc.ts:114](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/rpc.ts#L114) --- @@ -140,7 +140,7 @@ custom_edit_url: null #### Defined in -[src/paymaster/rpc.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/rpc.ts#L128) +[src/paymaster/rpc.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/rpc.ts#L128) --- @@ -167,7 +167,7 @@ custom_edit_url: null #### Defined in -[src/paymaster/rpc.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/rpc.ts#L140) +[src/paymaster/rpc.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/rpc.ts#L140) --- @@ -189,7 +189,7 @@ If the paymaster service is correctly functioning, return true. Else, return fal #### Defined in -[src/paymaster/rpc.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/rpc.ts#L156) +[src/paymaster/rpc.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/rpc.ts#L156) --- @@ -219,7 +219,7 @@ The transaction data required for execution along with an estimation of the fee #### Defined in -[src/paymaster/rpc.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/rpc.ts#L160) +[src/paymaster/rpc.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/rpc.ts#L160) --- @@ -248,7 +248,7 @@ The hash of the transaction broadcasted by the paymaster and the tracking ID cor #### Defined in -[src/paymaster/rpc.ts:238](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/rpc.ts#L238) +[src/paymaster/rpc.ts:238](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/rpc.ts#L238) --- @@ -270,4 +270,4 @@ An array of token data #### Defined in -[src/paymaster/rpc.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/rpc.ts#L282) +[src/paymaster/rpc.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/rpc.ts#L282) diff --git a/www/versioned_docs/version-7.6.2/API/classes/Provider.md b/www/versioned_docs/version-7.6.4/API/classes/Provider.md similarity index 95% rename from www/versioned_docs/version-7.6.2/API/classes/Provider.md rename to www/versioned_docs/version-7.6.4/API/classes/Provider.md index a961cf625..418579a0c 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/Provider.md +++ b/www/versioned_docs/version-7.6.4/API/classes/Provider.md @@ -36,7 +36,7 @@ Mixin(BaseRpcProvider, StarknetId).constructor #### Defined in -[src/provider/rpc.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L69) +[src/provider/rpc.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L69) • **new Provider**(): [`Provider`](Provider.md) @@ -60,7 +60,7 @@ Mixin(BaseRpcProvider, StarknetId).responseParser #### Defined in -[src/provider/rpc.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L65) +[src/provider/rpc.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L65) --- @@ -74,7 +74,7 @@ Mixin(BaseRpcProvider, StarknetId).channel #### Defined in -[src/provider/rpc.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L67) +[src/provider/rpc.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L67) --- @@ -132,7 +132,7 @@ Mixin(BaseRpcProvider, StarknetId).getStateUpdate #### Defined in -[src/provider/rpc.ts:268](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L268) +[src/provider/rpc.ts:268](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L268) ## Methods @@ -166,7 +166,7 @@ Mixin(BaseRpcProvider, StarknetId).create #### Defined in -[src/provider/rpc.ts:101](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L101) +[src/provider/rpc.ts:101](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L101) --- @@ -192,7 +192,7 @@ Mixin(BaseRpcProvider, StarknetId).getStarkName #### Defined in -[src/provider/extensions/starknetId.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L62) +[src/provider/extensions/starknetId.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L62) --- @@ -218,7 +218,7 @@ Mixin(BaseRpcProvider, StarknetId).getAddressFromStarkName #### Defined in -[src/provider/extensions/starknetId.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L96) +[src/provider/extensions/starknetId.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L96) --- @@ -249,7 +249,7 @@ Mixin(BaseRpcProvider, StarknetId).getStarkProfile #### Defined in -[src/provider/extensions/starknetId.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L128) +[src/provider/extensions/starknetId.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L128) --- @@ -275,7 +275,7 @@ Mixin(BaseRpcProvider, StarknetId).fetch #### Defined in -[src/provider/rpc.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L131) +[src/provider/rpc.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L131) --- @@ -293,7 +293,7 @@ Mixin(BaseRpcProvider, StarknetId).getChainId #### Defined in -[src/provider/rpc.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L135) +[src/provider/rpc.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L135) --- @@ -313,7 +313,7 @@ Mixin(BaseRpcProvider, StarknetId).readSpecVersion #### Defined in -[src/provider/rpc.ts:142](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L142) +[src/provider/rpc.ts:142](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L142) --- @@ -333,7 +333,7 @@ Mixin(BaseRpcProvider, StarknetId).getSpecVersion #### Defined in -[src/provider/rpc.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L149) +[src/provider/rpc.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L149) --- @@ -353,7 +353,7 @@ Mixin(BaseRpcProvider, StarknetId).setUpSpecVersion #### Defined in -[src/provider/rpc.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L156) +[src/provider/rpc.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L156) --- @@ -378,7 +378,7 @@ Mixin(BaseRpcProvider, StarknetId).getNonceForAddress #### Defined in -[src/provider/rpc.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L160) +[src/provider/rpc.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L160) --- @@ -396,7 +396,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlock #### Defined in -[src/provider/rpc.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L167) +[src/provider/rpc.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L167) ▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> @@ -416,7 +416,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlock #### Defined in -[src/provider/rpc.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L168) +[src/provider/rpc.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L168) ▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> @@ -436,7 +436,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlock #### Defined in -[src/provider/rpc.ts:169](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L169) +[src/provider/rpc.ts:169](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L169) ▸ **getBlock**(`blockIdentifier?`): `Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> @@ -456,7 +456,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlock #### Defined in -[src/provider/rpc.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L170) +[src/provider/rpc.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L170) --- @@ -476,7 +476,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlockLatestAccepted #### Defined in -[src/provider/rpc.ts:180](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L180) +[src/provider/rpc.ts:180](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L180) --- @@ -499,7 +499,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlockNumber #### Defined in -[src/provider/rpc.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L189) +[src/provider/rpc.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L189) --- @@ -523,7 +523,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlockWithTxHashes #### Defined in -[src/provider/rpc.ts:193](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L193) +[src/provider/rpc.ts:193](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L193) --- @@ -547,7 +547,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlockWithTxs #### Defined in -[src/provider/rpc.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L197) +[src/provider/rpc.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L197) --- @@ -581,7 +581,7 @@ Mixin(BaseRpcProvider, StarknetId).waitForBlock #### Defined in -[src/provider/rpc.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L212) +[src/provider/rpc.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L212) --- @@ -605,7 +605,7 @@ Mixin(BaseRpcProvider, StarknetId).getL1GasPrice #### Defined in -[src/provider/rpc.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L242) +[src/provider/rpc.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L242) --- @@ -629,7 +629,7 @@ Mixin(BaseRpcProvider, StarknetId).getL1MessageHash #### Defined in -[src/provider/rpc.ts:248](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L248) +[src/provider/rpc.ts:248](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L248) --- @@ -653,7 +653,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlockWithReceipts #### Defined in -[src/provider/rpc.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L264) +[src/provider/rpc.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L264) --- @@ -671,7 +671,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlockStateUpdate #### Defined in -[src/provider/rpc.ts:270](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L270) +[src/provider/rpc.ts:270](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L270) ▸ **getBlockStateUpdate**(`blockIdentifier`): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> @@ -691,7 +691,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlockStateUpdate #### Defined in -[src/provider/rpc.ts:271](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L271) +[src/provider/rpc.ts:271](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L271) ▸ **getBlockStateUpdate**(`blockIdentifier`): `Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> @@ -711,7 +711,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlockStateUpdate #### Defined in -[src/provider/rpc.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L272) +[src/provider/rpc.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L272) ▸ **getBlockStateUpdate**(`blockIdentifier?`): `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> @@ -731,7 +731,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlockStateUpdate #### Defined in -[src/provider/rpc.ts:273](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L273) +[src/provider/rpc.ts:273](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L273) --- @@ -755,7 +755,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlockTransactionsTraces #### Defined in -[src/provider/rpc.ts:278](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L278) +[src/provider/rpc.ts:278](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L278) --- @@ -779,7 +779,7 @@ Mixin(BaseRpcProvider, StarknetId).getBlockTransactionCount #### Defined in -[src/provider/rpc.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L282) +[src/provider/rpc.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L282) --- @@ -803,7 +803,7 @@ Mixin(BaseRpcProvider, StarknetId).getTransaction #### Defined in -[src/provider/rpc.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L286) +[src/provider/rpc.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L286) --- @@ -827,7 +827,7 @@ Mixin(BaseRpcProvider, StarknetId).getTransactionByHash #### Defined in -[src/provider/rpc.ts:290](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L290) +[src/provider/rpc.ts:290](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L290) --- @@ -852,7 +852,7 @@ Mixin(BaseRpcProvider, StarknetId).getTransactionByBlockIdAndIndex #### Defined in -[src/provider/rpc.ts:294](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L294) +[src/provider/rpc.ts:294](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L294) --- @@ -876,7 +876,7 @@ Mixin(BaseRpcProvider, StarknetId).getTransactionReceipt #### Defined in -[src/provider/rpc.ts:298](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L298) +[src/provider/rpc.ts:298](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L298) --- @@ -900,7 +900,7 @@ Mixin(BaseRpcProvider, StarknetId).getTransactionTrace #### Defined in -[src/provider/rpc.ts:305](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L305) +[src/provider/rpc.ts:305](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L305) --- @@ -926,7 +926,7 @@ Mixin(BaseRpcProvider, StarknetId).getTransactionStatus #### Defined in -[src/provider/rpc.ts:312](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L312) +[src/provider/rpc.ts:312](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L312) --- @@ -951,7 +951,7 @@ Mixin(BaseRpcProvider, StarknetId).getSimulateTransaction #### Defined in -[src/provider/rpc.ts:323](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L323) +[src/provider/rpc.ts:323](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L323) --- @@ -976,7 +976,7 @@ Mixin(BaseRpcProvider, StarknetId).waitForTransaction #### Defined in -[src/provider/rpc.ts:333](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L333) +[src/provider/rpc.ts:333](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L333) --- @@ -1002,7 +1002,7 @@ Mixin(BaseRpcProvider, StarknetId).getStorageAt #### Defined in -[src/provider/rpc.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L345) +[src/provider/rpc.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L345) --- @@ -1027,7 +1027,7 @@ Mixin(BaseRpcProvider, StarknetId).getClassHashAt #### Defined in -[src/provider/rpc.ts:353](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L353) +[src/provider/rpc.ts:353](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L353) --- @@ -1051,7 +1051,7 @@ Mixin(BaseRpcProvider, StarknetId).getClassByHash #### Defined in -[src/provider/rpc.ts:357](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L357) +[src/provider/rpc.ts:357](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L357) --- @@ -1076,7 +1076,7 @@ Mixin(BaseRpcProvider, StarknetId).getClass #### Defined in -[src/provider/rpc.ts:361](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L361) +[src/provider/rpc.ts:361](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L361) --- @@ -1101,7 +1101,7 @@ Mixin(BaseRpcProvider, StarknetId).getClassAt #### Defined in -[src/provider/rpc.ts:367](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L367) +[src/provider/rpc.ts:367](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L367) --- @@ -1127,7 +1127,7 @@ Mixin(BaseRpcProvider, StarknetId).getContractVersion #### Defined in -[src/provider/rpc.ts:373](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L373) +[src/provider/rpc.ts:373](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L373) ▸ **getContractVersion**(`contractAddress`, `classHash`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> @@ -1149,7 +1149,7 @@ Mixin(BaseRpcProvider, StarknetId).getContractVersion #### Defined in -[src/provider/rpc.ts:378](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L378) +[src/provider/rpc.ts:378](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L378) --- @@ -1176,7 +1176,7 @@ Mixin(BaseRpcProvider, StarknetId).getInvokeEstimateFee #### Defined in -[src/provider/rpc.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L411) +[src/provider/rpc.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L411) --- @@ -1203,7 +1203,7 @@ Mixin(BaseRpcProvider, StarknetId).getDeclareEstimateFee #### Defined in -[src/provider/rpc.ts:431](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L431) +[src/provider/rpc.ts:431](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L431) --- @@ -1230,7 +1230,7 @@ Mixin(BaseRpcProvider, StarknetId).getDeployAccountEstimateFee #### Defined in -[src/provider/rpc.ts:451](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L451) +[src/provider/rpc.ts:451](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L451) --- @@ -1255,7 +1255,7 @@ Mixin(BaseRpcProvider, StarknetId).getEstimateFeeBulk #### Defined in -[src/provider/rpc.ts:471](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L471) +[src/provider/rpc.ts:471](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L471) --- @@ -1280,7 +1280,7 @@ Mixin(BaseRpcProvider, StarknetId).invokeFunction #### Defined in -[src/provider/rpc.ts:480](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L480) +[src/provider/rpc.ts:480](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L480) --- @@ -1305,7 +1305,7 @@ Mixin(BaseRpcProvider, StarknetId).declareContract #### Defined in -[src/provider/rpc.ts:487](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L487) +[src/provider/rpc.ts:487](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L487) --- @@ -1330,7 +1330,7 @@ Mixin(BaseRpcProvider, StarknetId).deployAccountContract #### Defined in -[src/provider/rpc.ts:494](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L494) +[src/provider/rpc.ts:494](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L494) --- @@ -1355,7 +1355,7 @@ Mixin(BaseRpcProvider, StarknetId).callContract #### Defined in -[src/provider/rpc.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L501) +[src/provider/rpc.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L501) --- @@ -1386,7 +1386,7 @@ Mixin(BaseRpcProvider, StarknetId).estimateMessageFee #### Defined in -[src/provider/rpc.ts:509](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L509) +[src/provider/rpc.ts:509](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L509) --- @@ -1408,7 +1408,7 @@ Mixin(BaseRpcProvider, StarknetId).getSyncingStats #### Defined in -[src/provider/rpc.ts:520](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L520) +[src/provider/rpc.ts:520](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L520) --- @@ -1436,7 +1436,7 @@ Mixin(BaseRpcProvider, StarknetId).getEvents #### Defined in -[src/provider/rpc.ts:528](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L528) +[src/provider/rpc.ts:528](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L528) --- @@ -1479,7 +1479,7 @@ Mixin(BaseRpcProvider, StarknetId).verifyMessageInStarknet #### Defined in -[src/provider/rpc.ts:550](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L550) +[src/provider/rpc.ts:550](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L550) --- @@ -1507,7 +1507,7 @@ Mixin(BaseRpcProvider, StarknetId).isClassDeclared #### Defined in -[src/provider/rpc.ts:639](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L639) +[src/provider/rpc.ts:639](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L639) --- @@ -1536,7 +1536,7 @@ Mixin(BaseRpcProvider, StarknetId).prepareInvocations #### Defined in -[src/provider/rpc.ts:670](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L670) +[src/provider/rpc.ts:670](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L670) --- @@ -1562,7 +1562,7 @@ Mixin(BaseRpcProvider, StarknetId).getL1MessagesStatus #### Defined in -[src/provider/rpc.ts:694](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L694) +[src/provider/rpc.ts:694](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L694) --- @@ -1591,7 +1591,7 @@ Mixin(BaseRpcProvider, StarknetId).getStorageProof #### Defined in -[src/provider/rpc.ts:705](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L705) +[src/provider/rpc.ts:705](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L705) --- @@ -1617,7 +1617,7 @@ Mixin(BaseRpcProvider, StarknetId).getCompiledCasm #### Defined in -[src/provider/rpc.ts:726](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L726) +[src/provider/rpc.ts:726](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L726) --- @@ -1642,7 +1642,7 @@ Mixin(BaseRpcProvider, StarknetId).getStarkName #### Defined in -[src/provider/extensions/starknetId.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L22) +[src/provider/extensions/starknetId.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L22) --- @@ -1667,7 +1667,7 @@ Mixin(BaseRpcProvider, StarknetId).getAddressFromStarkName #### Defined in -[src/provider/extensions/starknetId.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L31) +[src/provider/extensions/starknetId.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L31) --- @@ -1697,4 +1697,4 @@ Mixin(BaseRpcProvider, StarknetId).getStarkProfile #### Defined in -[src/provider/extensions/starknetId.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L40) +[src/provider/extensions/starknetId.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L40) diff --git a/www/versioned_docs/version-7.6.2/API/classes/ProviderInterface.md b/www/versioned_docs/version-7.6.4/API/classes/ProviderInterface.md similarity index 95% rename from www/versioned_docs/version-7.6.2/API/classes/ProviderInterface.md rename to www/versioned_docs/version-7.6.4/API/classes/ProviderInterface.md index f55f6f17d..e9817326e 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/ProviderInterface.md +++ b/www/versioned_docs/version-7.6.4/API/classes/ProviderInterface.md @@ -30,7 +30,7 @@ custom_edit_url: null #### Defined in -[src/provider/interface.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L37) +[src/provider/interface.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L37) ## Methods @@ -48,7 +48,7 @@ the chain Id #### Defined in -[src/provider/interface.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L44) +[src/provider/interface.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L44) --- @@ -73,7 +73,7 @@ the result of the function on the smart contract. #### Defined in -[src/provider/interface.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L53) +[src/provider/interface.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L53) --- @@ -97,7 +97,7 @@ the block object #### Defined in -[src/provider/interface.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L64) +[src/provider/interface.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L64) ▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> @@ -113,7 +113,7 @@ the block object #### Defined in -[src/provider/interface.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L65) +[src/provider/interface.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L65) ▸ **getBlock**(`blockIdentifier`): `Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> @@ -129,7 +129,7 @@ the block object #### Defined in -[src/provider/interface.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L66) +[src/provider/interface.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L66) --- @@ -154,7 +154,7 @@ Contract class of compiled contract #### Defined in -[src/provider/interface.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L75) +[src/provider/interface.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L75) --- @@ -178,7 +178,7 @@ gas price of the block #### Defined in -[src/provider/interface.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L86) +[src/provider/interface.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L86) --- @@ -213,7 +213,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/interface.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L99) +[src/provider/interface.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L99) --- @@ -238,7 +238,7 @@ Class hash #### Defined in -[src/provider/interface.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L108) +[src/provider/interface.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L108) --- @@ -262,7 +262,7 @@ Contract class of compiled contract #### Defined in -[src/provider/interface.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L119) +[src/provider/interface.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L119) --- @@ -287,7 +287,7 @@ the hex nonce #### Defined in -[src/provider/interface.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L127) +[src/provider/interface.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L127) --- @@ -313,7 +313,7 @@ the value of the storage variable #### Defined in -[src/provider/interface.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L140) +[src/provider/interface.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L140) --- @@ -337,7 +337,7 @@ the transaction object { transaction_id, status, transaction, block_number?, blo #### Defined in -[src/provider/interface.ts:152](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L152) +[src/provider/interface.ts:152](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L152) --- @@ -361,7 +361,7 @@ the transaction receipt object #### Defined in -[src/provider/interface.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L160) +[src/provider/interface.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L160) --- @@ -386,7 +386,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/provider/interface.ts:173](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L173) +[src/provider/interface.ts:173](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L173) --- @@ -411,7 +411,7 @@ response from addTransaction #### Defined in -[src/provider/interface.ts:192](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L192) +[src/provider/interface.ts:192](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L192) --- @@ -436,7 +436,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/provider/interface.ts:209](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L209) +[src/provider/interface.ts:209](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L209) --- @@ -463,7 +463,7 @@ the estimated fee #### Defined in -[src/provider/interface.ts:229](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L229) +[src/provider/interface.ts:229](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L229) --- @@ -490,7 +490,7 @@ the estimated fee #### Defined in -[src/provider/interface.ts:251](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L251) +[src/provider/interface.ts:251](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L251) --- @@ -517,7 +517,7 @@ the estimated fee #### Defined in -[src/provider/interface.ts:274](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L274) +[src/provider/interface.ts:274](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L274) --- @@ -542,7 +542,7 @@ the estimated fee #### Defined in -[src/provider/interface.ts:289](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L289) +[src/provider/interface.ts:289](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L289) --- @@ -567,7 +567,7 @@ GetTransactionReceiptResponse #### Defined in -[src/provider/interface.ts:302](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L302) +[src/provider/interface.ts:302](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L302) --- @@ -592,7 +592,7 @@ an array of transaction trace and estimated fee #### Defined in -[src/provider/interface.ts:317](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L317) +[src/provider/interface.ts:317](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L317) --- @@ -616,7 +616,7 @@ StateUpdateResponse #### Defined in -[src/provider/interface.ts:328](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L328) +[src/provider/interface.ts:328](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L328) --- @@ -640,7 +640,7 @@ Gets the contract version from the provided address #### Defined in -[src/provider/interface.ts:338](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L338) +[src/provider/interface.ts:338](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L338) ▸ **getContractVersion**(`contractAddress`, `classHash`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> @@ -660,4 +660,4 @@ Gets the contract version from the provided address #### Defined in -[src/provider/interface.ts:352](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/interface.ts#L352) +[src/provider/interface.ts:352](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/interface.ts#L352) diff --git a/www/versioned_docs/version-7.5.1/API/classes/RPC07.RpcChannel.md b/www/versioned_docs/version-7.6.4/API/classes/RPC07.RpcChannel.md similarity index 90% rename from www/versioned_docs/version-7.5.1/API/classes/RPC07.RpcChannel.md rename to www/versioned_docs/version-7.6.4/API/classes/RPC07.RpcChannel.md index c686a9c9a..4d328f6a8 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/RPC07.RpcChannel.md +++ b/www/versioned_docs/version-7.6.4/API/classes/RPC07.RpcChannel.md @@ -25,7 +25,7 @@ custom_edit_url: null #### Defined in -[src/channel/rpc_0_7_1.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L82) +[src/channel/rpc_0_7_1.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L82) ## Properties @@ -35,7 +35,7 @@ custom_edit_url: null #### Defined in -[src/channel/rpc_0_7_1.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L50) +[src/channel/rpc_0_7_1.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L50) --- @@ -47,7 +47,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_7_1.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L55) +[src/channel/rpc_0_7_1.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L55) --- @@ -57,7 +57,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_7_1.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L57) +[src/channel/rpc_0_7_1.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L57) --- @@ -67,7 +67,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_7_1.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L59) +[src/channel/rpc_0_7_1.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L59) --- @@ -77,7 +77,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_7_1.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L61) +[src/channel/rpc_0_7_1.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L61) --- @@ -87,7 +87,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_7_1.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L63) +[src/channel/rpc_0_7_1.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L63) --- @@ -97,7 +97,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_7_1.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L65) +[src/channel/rpc_0_7_1.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L65) --- @@ -107,7 +107,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_7_1.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L67) +[src/channel/rpc_0_7_1.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L67) --- @@ -117,7 +117,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_7_1.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L69) +[src/channel/rpc_0_7_1.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L69) --- @@ -129,7 +129,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_7_1.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L74) +[src/channel/rpc_0_7_1.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L74) --- @@ -139,7 +139,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_7_1.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L76) +[src/channel/rpc_0_7_1.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L76) --- @@ -149,7 +149,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_7_1.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L78) +[src/channel/rpc_0_7_1.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L78) --- @@ -174,7 +174,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_7_1.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L80) +[src/channel/rpc_0_7_1.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L80) ## Accessors @@ -188,7 +188,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_7_1.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L136) +[src/channel/rpc_0_7_1.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L136) ## Methods @@ -202,7 +202,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_7_1.ts:132](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L132) +[src/channel/rpc_0_7_1.ts:132](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L132) --- @@ -222,7 +222,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_7_1.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L140) +[src/channel/rpc_0_7_1.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L140) --- @@ -244,7 +244,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_7_1.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L144) +[src/channel/rpc_0_7_1.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L144) --- @@ -267,7 +267,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_7_1.ts:158](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L158) +[src/channel/rpc_0_7_1.ts:158](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L158) --- @@ -294,7 +294,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_7_1.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L170) +[src/channel/rpc_0_7_1.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L170) --- @@ -308,7 +308,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_7_1.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L195) +[src/channel/rpc_0_7_1.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L195) --- @@ -330,7 +330,7 @@ this.specVersion = '0.7.1'; #### Defined in -[src/channel/rpc_0_7_1.ts:204](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L204) +[src/channel/rpc_0_7_1.ts:204](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L204) --- @@ -352,7 +352,7 @@ this.specVersion = '0.7.1'; #### Defined in -[src/channel/rpc_0_7_1.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L212) +[src/channel/rpc_0_7_1.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L212) --- @@ -373,7 +373,7 @@ this.specVersion = '0.7.1'; #### Defined in -[src/channel/rpc_0_7_1.ts:234](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L234) +[src/channel/rpc_0_7_1.ts:234](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L234) --- @@ -389,7 +389,7 @@ Get the most recent accepted block hash and number #### Defined in -[src/channel/rpc_0_7_1.ts:249](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L249) +[src/channel/rpc_0_7_1.ts:249](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L249) --- @@ -408,7 +408,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_7_1.ts:258](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L258) +[src/channel/rpc_0_7_1.ts:258](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L258) --- @@ -428,7 +428,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_7_1.ts:262](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L262) +[src/channel/rpc_0_7_1.ts:262](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L262) --- @@ -448,7 +448,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_7_1.ts:267](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L267) +[src/channel/rpc_0_7_1.ts:267](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L267) --- @@ -468,7 +468,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_7_1.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L272) +[src/channel/rpc_0_7_1.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L272) --- @@ -488,7 +488,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_7_1.ts:277](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L277) +[src/channel/rpc_0_7_1.ts:277](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L277) --- @@ -508,7 +508,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_7_1.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L282) +[src/channel/rpc_0_7_1.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L282) --- @@ -528,7 +528,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_7_1.ts:287](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L287) +[src/channel/rpc_0_7_1.ts:287](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L287) --- @@ -548,7 +548,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_7_1.ts:292](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L292) +[src/channel/rpc_0_7_1.ts:292](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L292) --- @@ -569,7 +569,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_7_1.ts:299](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L299) +[src/channel/rpc_0_7_1.ts:299](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L299) --- @@ -589,7 +589,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_7_1.ts:304](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L304) +[src/channel/rpc_0_7_1.ts:304](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L304) --- @@ -609,7 +609,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_7_1.ts:309](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L309) +[src/channel/rpc_0_7_1.ts:309](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L309) --- @@ -631,7 +631,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_7_1.ts:317](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L317) +[src/channel/rpc_0_7_1.ts:317](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L317) --- @@ -652,7 +652,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_7_1.ts:329](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L329) +[src/channel/rpc_0_7_1.ts:329](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L329) --- @@ -673,7 +673,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_7_1.ts:350](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L350) +[src/channel/rpc_0_7_1.ts:350](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L350) --- @@ -695,7 +695,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_7_1.ts:432](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L432) +[src/channel/rpc_0_7_1.ts:432](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L432) --- @@ -716,7 +716,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_7_1.ts:447](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L447) +[src/channel/rpc_0_7_1.ts:447](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L447) --- @@ -737,7 +737,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_7_1.ts:459](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L459) +[src/channel/rpc_0_7_1.ts:459](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L459) --- @@ -758,7 +758,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_7_1.ts:471](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L471) +[src/channel/rpc_0_7_1.ts:471](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L471) --- @@ -779,7 +779,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_7_1.ts:483](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L483) +[src/channel/rpc_0_7_1.ts:483](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L483) --- @@ -800,7 +800,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_7_1.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L501) +[src/channel/rpc_0_7_1.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L501) --- @@ -821,7 +821,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_7_1.ts:550](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L550) +[src/channel/rpc_0_7_1.ts:550](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L550) --- @@ -842,7 +842,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_7_1.ts:638](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L638) +[src/channel/rpc_0_7_1.ts:638](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L638) --- @@ -863,7 +863,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_7_1.ts:691](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L691) +[src/channel/rpc_0_7_1.ts:691](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L691) --- @@ -886,7 +886,7 @@ NEW: Estimate the fee for a message from L1 #### Defined in -[src/channel/rpc_0_7_1.ts:707](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L707) +[src/channel/rpc_0_7_1.ts:707](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L707) --- @@ -904,7 +904,7 @@ Object with the stats data #### Defined in -[src/channel/rpc_0_7_1.ts:730](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L730) +[src/channel/rpc_0_7_1.ts:730](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L730) --- @@ -928,7 +928,7 @@ events and the pagination of the events #### Defined in -[src/channel/rpc_0_7_1.ts:738](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L738) +[src/channel/rpc_0_7_1.ts:738](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L738) --- @@ -949,4 +949,4 @@ events and the pagination of the events #### Defined in -[src/channel/rpc_0_7_1.ts:742](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_7_1.ts#L742) +[src/channel/rpc_0_7_1.ts:742](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_7_1.ts#L742) diff --git a/www/versioned_docs/version-7.5.1/API/classes/RPC08.RpcChannel.md b/www/versioned_docs/version-7.6.4/API/classes/RPC08.RpcChannel.md similarity index 92% rename from www/versioned_docs/version-7.5.1/API/classes/RPC08.RpcChannel.md rename to www/versioned_docs/version-7.6.4/API/classes/RPC08.RpcChannel.md index 055e85eb6..aa87e7533 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/RPC08.RpcChannel.md +++ b/www/versioned_docs/version-7.6.4/API/classes/RPC08.RpcChannel.md @@ -25,7 +25,7 @@ custom_edit_url: null #### Defined in -[src/channel/rpc_0_8_1.ts:88](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L88) +[src/channel/rpc_0_8_1.ts:88](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L88) ## Properties @@ -35,7 +35,7 @@ custom_edit_url: null #### Defined in -[src/channel/rpc_0_8_1.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L56) +[src/channel/rpc_0_8_1.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L56) --- @@ -47,7 +47,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_8_1.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L61) +[src/channel/rpc_0_8_1.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L61) --- @@ -57,7 +57,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_8_1.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L63) +[src/channel/rpc_0_8_1.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L63) --- @@ -67,7 +67,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_8_1.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L65) +[src/channel/rpc_0_8_1.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L65) --- @@ -77,7 +77,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_8_1.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L67) +[src/channel/rpc_0_8_1.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L67) --- @@ -87,7 +87,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_8_1.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L69) +[src/channel/rpc_0_8_1.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L69) --- @@ -97,7 +97,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_8_1.ts:71](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L71) +[src/channel/rpc_0_8_1.ts:71](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L71) --- @@ -107,7 +107,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_8_1.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L73) +[src/channel/rpc_0_8_1.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L73) --- @@ -117,7 +117,7 @@ RPC specification version this Channel class implements #### Defined in -[src/channel/rpc_0_8_1.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L75) +[src/channel/rpc_0_8_1.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L75) --- @@ -129,7 +129,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_8_1.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L80) +[src/channel/rpc_0_8_1.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L80) --- @@ -139,7 +139,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_8_1.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L82) +[src/channel/rpc_0_8_1.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L82) --- @@ -149,7 +149,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_8_1.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L84) +[src/channel/rpc_0_8_1.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L84) --- @@ -174,7 +174,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_8_1.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L86) +[src/channel/rpc_0_8_1.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L86) ## Accessors @@ -188,7 +188,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_8_1.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L143) +[src/channel/rpc_0_8_1.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L143) ## Methods @@ -202,7 +202,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_8_1.ts:139](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L139) +[src/channel/rpc_0_8_1.ts:139](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L139) --- @@ -222,7 +222,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_8_1.ts:147](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L147) +[src/channel/rpc_0_8_1.ts:147](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L147) --- @@ -244,7 +244,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_8_1.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L151) +[src/channel/rpc_0_8_1.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L151) --- @@ -267,7 +267,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_8_1.ts:165](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L165) +[src/channel/rpc_0_8_1.ts:165](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L165) --- @@ -294,7 +294,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_8_1.ts:177](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L177) +[src/channel/rpc_0_8_1.ts:177](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L177) --- @@ -308,7 +308,7 @@ RPC specification version of the connected node #### Defined in -[src/channel/rpc_0_8_1.ts:202](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L202) +[src/channel/rpc_0_8_1.ts:202](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L202) --- @@ -330,7 +330,7 @@ this.specVersion = '0.7.1'; #### Defined in -[src/channel/rpc_0_8_1.ts:211](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L211) +[src/channel/rpc_0_8_1.ts:211](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L211) --- @@ -352,7 +352,7 @@ this.specVersion = '0.8.1'; #### Defined in -[src/channel/rpc_0_8_1.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L219) +[src/channel/rpc_0_8_1.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L219) --- @@ -374,7 +374,7 @@ Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses fo #### Defined in -[src/channel/rpc_0_8_1.ts:245](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L245) +[src/channel/rpc_0_8_1.ts:245](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L245) --- @@ -397,7 +397,7 @@ Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses fo #### Defined in -[src/channel/rpc_0_8_1.ts:253](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L253) +[src/channel/rpc_0_8_1.ts:253](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L253) --- @@ -417,7 +417,7 @@ Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses fo #### Defined in -[src/channel/rpc_0_8_1.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L272) +[src/channel/rpc_0_8_1.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L272) --- @@ -438,7 +438,7 @@ Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses fo #### Defined in -[src/channel/rpc_0_8_1.ts:280](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L280) +[src/channel/rpc_0_8_1.ts:280](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L280) --- @@ -454,7 +454,7 @@ Get the most recent accepted block hash and number #### Defined in -[src/channel/rpc_0_8_1.ts:295](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L295) +[src/channel/rpc_0_8_1.ts:295](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L295) --- @@ -473,7 +473,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_8_1.ts:304](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L304) +[src/channel/rpc_0_8_1.ts:304](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L304) --- @@ -493,7 +493,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_8_1.ts:308](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L308) +[src/channel/rpc_0_8_1.ts:308](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L308) --- @@ -513,7 +513,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_8_1.ts:313](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L313) +[src/channel/rpc_0_8_1.ts:313](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L313) --- @@ -533,7 +533,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_8_1.ts:318](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L318) +[src/channel/rpc_0_8_1.ts:318](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L318) --- @@ -553,7 +553,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_8_1.ts:323](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L323) +[src/channel/rpc_0_8_1.ts:323](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L323) --- @@ -573,7 +573,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_8_1.ts:328](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L328) +[src/channel/rpc_0_8_1.ts:328](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L328) --- @@ -593,7 +593,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_8_1.ts:333](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L333) +[src/channel/rpc_0_8_1.ts:333](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L333) --- @@ -613,7 +613,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_8_1.ts:338](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L338) +[src/channel/rpc_0_8_1.ts:338](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L338) --- @@ -634,7 +634,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_8_1.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L345) +[src/channel/rpc_0_8_1.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L345) --- @@ -654,7 +654,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_8_1.ts:350](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L350) +[src/channel/rpc_0_8_1.ts:350](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L350) --- @@ -674,7 +674,7 @@ Number of the latest block #### Defined in -[src/channel/rpc_0_8_1.ts:355](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L355) +[src/channel/rpc_0_8_1.ts:355](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L355) --- @@ -696,7 +696,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_8_1.ts:363](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L363) +[src/channel/rpc_0_8_1.ts:363](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L363) --- @@ -717,7 +717,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_8_1.ts:375](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L375) +[src/channel/rpc_0_8_1.ts:375](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L375) --- @@ -738,7 +738,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_8_1.ts:396](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L396) +[src/channel/rpc_0_8_1.ts:396](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L396) --- @@ -760,7 +760,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_8_1.ts:478](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L478) +[src/channel/rpc_0_8_1.ts:478](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L478) --- @@ -781,7 +781,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_8_1.ts:493](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L493) +[src/channel/rpc_0_8_1.ts:493](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L493) --- @@ -802,7 +802,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_8_1.ts:505](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L505) +[src/channel/rpc_0_8_1.ts:505](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L505) --- @@ -823,7 +823,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_8_1.ts:517](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L517) +[src/channel/rpc_0_8_1.ts:517](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L517) --- @@ -844,7 +844,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_8_1.ts:529](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L529) +[src/channel/rpc_0_8_1.ts:529](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L529) --- @@ -865,7 +865,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_8_1.ts:547](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L547) +[src/channel/rpc_0_8_1.ts:547](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L547) --- @@ -886,7 +886,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_8_1.ts:574](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L574) +[src/channel/rpc_0_8_1.ts:574](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L574) --- @@ -907,7 +907,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_8_1.ts:610](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L610) +[src/channel/rpc_0_8_1.ts:610](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L610) --- @@ -928,7 +928,7 @@ Get the status of a transaction #### Defined in -[src/channel/rpc_0_8_1.ts:640](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L640) +[src/channel/rpc_0_8_1.ts:640](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L640) --- @@ -951,7 +951,7 @@ NEW: Estimate the fee for a message from L1 #### Defined in -[src/channel/rpc_0_8_1.ts:656](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L656) +[src/channel/rpc_0_8_1.ts:656](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L656) --- @@ -969,7 +969,7 @@ Object with the stats data #### Defined in -[src/channel/rpc_0_8_1.ts:679](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L679) +[src/channel/rpc_0_8_1.ts:679](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L679) --- @@ -993,7 +993,7 @@ events and the pagination of the events #### Defined in -[src/channel/rpc_0_8_1.ts:687](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L687) +[src/channel/rpc_0_8_1.ts:687](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L687) --- @@ -1014,4 +1014,4 @@ events and the pagination of the events #### Defined in -[src/channel/rpc_0_8_1.ts:691](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/rpc_0_8_1.ts#L691) +[src/channel/rpc_0_8_1.ts:691](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/rpc_0_8_1.ts#L691) diff --git a/www/versioned_docs/version-7.5.1/API/classes/RPCResponseParser.md b/www/versioned_docs/version-7.6.4/API/classes/RPCResponseParser.md similarity index 89% rename from www/versioned_docs/version-7.5.1/API/classes/RPCResponseParser.md rename to www/versioned_docs/version-7.6.4/API/classes/RPCResponseParser.md index 14a07c8d4..f5dd92824 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/RPCResponseParser.md +++ b/www/versioned_docs/version-7.6.4/API/classes/RPCResponseParser.md @@ -28,7 +28,7 @@ custom_edit_url: null #### Defined in -[src/utils/responseParser/rpc.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/rpc.ts#L38) +[src/utils/responseParser/rpc.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/rpc.ts#L38) ## Properties @@ -38,7 +38,7 @@ custom_edit_url: null #### Defined in -[src/utils/responseParser/rpc.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/rpc.ts#L36) +[src/utils/responseParser/rpc.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/rpc.ts#L36) ## Methods @@ -58,7 +58,7 @@ custom_edit_url: null #### Defined in -[src/utils/responseParser/rpc.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/rpc.ts#L42) +[src/utils/responseParser/rpc.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/rpc.ts#L42) --- @@ -78,7 +78,7 @@ custom_edit_url: null #### Defined in -[src/utils/responseParser/rpc.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/rpc.ts#L46) +[src/utils/responseParser/rpc.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/rpc.ts#L46) --- @@ -102,7 +102,7 @@ Omit.parseGetBlockResponse #### Defined in -[src/utils/responseParser/rpc.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/rpc.ts#L50) +[src/utils/responseParser/rpc.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/rpc.ts#L50) --- @@ -122,7 +122,7 @@ Omit.parseGetBlockResponse #### Defined in -[src/utils/responseParser/rpc.ts:54](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/rpc.ts#L54) +[src/utils/responseParser/rpc.ts:54](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/rpc.ts#L54) --- @@ -146,7 +146,7 @@ Omit.parseFeeEstimateResponse #### Defined in -[src/utils/responseParser/rpc.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/rpc.ts#L58) +[src/utils/responseParser/rpc.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/rpc.ts#L58) --- @@ -166,7 +166,7 @@ Omit.parseFeeEstimateResponse #### Defined in -[src/utils/responseParser/rpc.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/rpc.ts#L77) +[src/utils/responseParser/rpc.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/rpc.ts#L77) --- @@ -190,7 +190,7 @@ Omit.parseSimulateTransactionResponse #### Defined in -[src/utils/responseParser/rpc.ts:95](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/rpc.ts#L95) +[src/utils/responseParser/rpc.ts:95](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/rpc.ts#L95) --- @@ -210,7 +210,7 @@ Omit.parseSimulateTransactionResponse #### Defined in -[src/utils/responseParser/rpc.ts:112](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/rpc.ts#L112) +[src/utils/responseParser/rpc.ts:112](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/rpc.ts#L112) --- @@ -230,4 +230,4 @@ Omit.parseSimulateTransactionResponse #### Defined in -[src/utils/responseParser/rpc.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/rpc.ts#L119) +[src/utils/responseParser/rpc.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/rpc.ts#L119) diff --git a/www/versioned_docs/version-7.5.1/API/classes/ReceiptTx.md b/www/versioned_docs/version-7.6.4/API/classes/ReceiptTx.md similarity index 89% rename from www/versioned_docs/version-7.5.1/API/classes/ReceiptTx.md rename to www/versioned_docs/version-7.6.4/API/classes/ReceiptTx.md index 571133cae..30fa0c7e4 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/ReceiptTx.md +++ b/www/versioned_docs/version-7.6.4/API/classes/ReceiptTx.md @@ -45,7 +45,7 @@ responseTx.match({ #### Defined in -[src/utils/transactionReceipt/transactionReceipt.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.ts#L37) +[src/utils/transactionReceipt/transactionReceipt.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.ts#L37) ## Properties @@ -59,7 +59,7 @@ GetTransactionReceiptResponse.statusReceipt #### Defined in -[src/utils/transactionReceipt/transactionReceipt.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.ts#L33) +[src/utils/transactionReceipt/transactionReceipt.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.ts#L33) --- @@ -73,7 +73,7 @@ GetTransactionReceiptResponse.value #### Defined in -[src/utils/transactionReceipt/transactionReceipt.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.ts#L35) +[src/utils/transactionReceipt/transactionReceipt.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.ts#L35) ## Methods @@ -93,7 +93,7 @@ transactionReceipt is SuccessfulTransactionReceiptResponse #### Defined in -[src/utils/transactionReceipt/transactionReceipt.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.ts#L85) +[src/utils/transactionReceipt/transactionReceipt.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.ts#L85) --- @@ -113,7 +113,7 @@ transactionReceipt is RevertedTransactionReceiptResponse #### Defined in -[src/utils/transactionReceipt/transactionReceipt.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.ts#L91) +[src/utils/transactionReceipt/transactionReceipt.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.ts#L91) --- @@ -137,7 +137,7 @@ GetTransactionReceiptResponse.match #### Defined in -[src/utils/transactionReceipt/transactionReceipt.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.ts#L59) +[src/utils/transactionReceipt/transactionReceipt.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.ts#L59) --- @@ -155,7 +155,7 @@ GetTransactionReceiptResponse.isSuccess #### Defined in -[src/utils/transactionReceipt/transactionReceipt.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.ts#L66) +[src/utils/transactionReceipt/transactionReceipt.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.ts#L66) --- @@ -173,7 +173,7 @@ GetTransactionReceiptResponse.isReverted #### Defined in -[src/utils/transactionReceipt/transactionReceipt.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.ts#L70) +[src/utils/transactionReceipt/transactionReceipt.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.ts#L70) --- @@ -191,4 +191,4 @@ GetTransactionReceiptResponse.isError #### Defined in -[src/utils/transactionReceipt/transactionReceipt.ts:81](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transactionReceipt/transactionReceipt.ts#L81) +[src/utils/transactionReceipt/transactionReceipt.ts:81](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.ts#L81) diff --git a/www/versioned_docs/version-7.5.1/API/classes/ResponseParser.md b/www/versioned_docs/version-7.6.4/API/classes/ResponseParser.md similarity index 88% rename from www/versioned_docs/version-7.5.1/API/classes/ResponseParser.md rename to www/versioned_docs/version-7.6.4/API/classes/ResponseParser.md index 2e0c96f62..8f29ce69d 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/ResponseParser.md +++ b/www/versioned_docs/version-7.6.4/API/classes/ResponseParser.md @@ -34,7 +34,7 @@ custom_edit_url: null #### Defined in -[src/utils/responseParser/interface.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/interface.ts#L16) +[src/utils/responseParser/interface.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/interface.ts#L16) --- @@ -54,7 +54,7 @@ custom_edit_url: null #### Defined in -[src/utils/responseParser/interface.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/interface.ts#L18) +[src/utils/responseParser/interface.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/interface.ts#L18) --- @@ -74,7 +74,7 @@ custom_edit_url: null #### Defined in -[src/utils/responseParser/interface.ts:20](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/interface.ts#L20) +[src/utils/responseParser/interface.ts:20](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/interface.ts#L20) --- @@ -94,7 +94,7 @@ custom_edit_url: null #### Defined in -[src/utils/responseParser/interface.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/interface.ts#L22) +[src/utils/responseParser/interface.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/interface.ts#L22) --- @@ -114,7 +114,7 @@ custom_edit_url: null #### Defined in -[src/utils/responseParser/interface.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/interface.ts#L24) +[src/utils/responseParser/interface.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/interface.ts#L24) --- @@ -138,7 +138,7 @@ custom_edit_url: null #### Defined in -[src/utils/responseParser/interface.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/interface.ts#L26) +[src/utils/responseParser/interface.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/interface.ts#L26) --- @@ -158,7 +158,7 @@ custom_edit_url: null #### Defined in -[src/utils/responseParser/interface.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/interface.ts#L28) +[src/utils/responseParser/interface.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/interface.ts#L28) --- @@ -183,7 +183,7 @@ custom_edit_url: null #### Defined in -[src/utils/responseParser/interface.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/interface.ts#L30) +[src/utils/responseParser/interface.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/interface.ts#L30) --- @@ -203,4 +203,4 @@ custom_edit_url: null #### Defined in -[src/utils/responseParser/interface.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/responseParser/interface.ts#L32) +[src/utils/responseParser/interface.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/responseParser/interface.ts#L32) diff --git a/www/versioned_docs/version-7.6.2/API/classes/RpcError.md b/www/versioned_docs/version-7.6.4/API/classes/RpcError.md similarity index 95% rename from www/versioned_docs/version-7.6.2/API/classes/RpcError.md rename to www/versioned_docs/version-7.6.4/API/classes/RpcError.md index 902d9e35f..f6d2c974b 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/RpcError.md +++ b/www/versioned_docs/version-7.6.4/API/classes/RpcError.md @@ -48,7 +48,7 @@ custom_edit_url: null #### Defined in -[src/utils/errors/index.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/errors/index.ts#L50) +[src/utils/errors/index.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/errors/index.ts#L50) ## Properties @@ -114,7 +114,7 @@ node_modules/@types/node/globals.d.ts:145 #### Defined in -[src/utils/errors/index.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/errors/index.ts#L45) +[src/utils/errors/index.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/errors/index.ts#L45) --- @@ -124,7 +124,7 @@ node_modules/@types/node/globals.d.ts:145 #### Defined in -[src/utils/errors/index.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/errors/index.ts#L51) +[src/utils/errors/index.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/errors/index.ts#L51) --- @@ -138,7 +138,7 @@ node_modules/@types/node/globals.d.ts:145 #### Defined in -[src/utils/errors/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/errors/index.ts#L21) +[src/utils/errors/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/errors/index.ts#L21) --- @@ -194,7 +194,7 @@ www/node_modules/typescript/lib/lib.es2022.error.d.ts:24 #### Defined in -[src/utils/errors/index.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/errors/index.ts#L62) +[src/utils/errors/index.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/errors/index.ts#L62) ## Methods @@ -256,4 +256,4 @@ SomeError.isType('UNEXPECTED_ERROR'); #### Defined in -[src/utils/errors/index.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/errors/index.ts#L73) +[src/utils/errors/index.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/errors/index.ts#L73) diff --git a/www/versioned_docs/version-7.6.2/API/classes/Signer.md b/www/versioned_docs/version-7.6.4/API/classes/Signer.md similarity index 96% rename from www/versioned_docs/version-7.6.2/API/classes/Signer.md rename to www/versioned_docs/version-7.6.4/API/classes/Signer.md index a6247d5c9..bd365c212 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/Signer.md +++ b/www/versioned_docs/version-7.6.4/API/classes/Signer.md @@ -28,7 +28,7 @@ custom_edit_url: null #### Defined in -[src/signer/default.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/default.ts#L33) +[src/signer/default.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/default.ts#L33) ## Properties @@ -38,7 +38,7 @@ custom_edit_url: null #### Defined in -[src/signer/default.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/default.ts#L31) +[src/signer/default.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/default.ts#L31) ## Methods @@ -68,7 +68,7 @@ const result = await mySigner.getPubKey(); #### Defined in -[src/signer/default.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/default.ts#L37) +[src/signer/default.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/default.ts#L37) --- @@ -123,7 +123,7 @@ const result = await mySigner.signMessage( #### Defined in -[src/signer/default.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/default.ts#L41) +[src/signer/default.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/default.ts#L41) --- @@ -176,7 +176,7 @@ const result = await mySigner.signTransaction(calls, transactionsDetail); #### Defined in -[src/signer/default.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/default.ts#L46) +[src/signer/default.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/default.ts#L46) --- @@ -229,7 +229,7 @@ const result = await mySigner.signDeployAccountTransaction(myDeployAcc); #### Defined in -[src/signer/default.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/default.ts#L79) +[src/signer/default.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/default.ts#L79) --- @@ -280,7 +280,7 @@ const result = await mySigner.signDeclareTransaction(myDeclare); #### Defined in -[src/signer/default.ts:111](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/default.ts#L111) +[src/signer/default.ts:111](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/default.ts#L111) --- @@ -300,4 +300,4 @@ const result = await mySigner.signDeclareTransaction(myDeclare); #### Defined in -[src/signer/default.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/default.ts#L138) +[src/signer/default.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/default.ts#L138) diff --git a/www/versioned_docs/version-7.5.1/API/classes/SignerInterface.md b/www/versioned_docs/version-7.6.4/API/classes/SignerInterface.md similarity index 96% rename from www/versioned_docs/version-7.5.1/API/classes/SignerInterface.md rename to www/versioned_docs/version-7.6.4/API/classes/SignerInterface.md index 9c7d4af3a..986c0f010 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/SignerInterface.md +++ b/www/versioned_docs/version-7.6.4/API/classes/SignerInterface.md @@ -48,7 +48,7 @@ const result = await mySigner.getPubKey(); #### Defined in -[src/signer/interface.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/interface.ts#L22) +[src/signer/interface.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/interface.ts#L22) --- @@ -99,7 +99,7 @@ const result = await mySigner.signMessage( #### Defined in -[src/signer/interface.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/interface.ts#L50) +[src/signer/interface.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/interface.ts#L50) --- @@ -148,7 +148,7 @@ const result = await mySigner.signTransaction(calls, transactionsDetail); #### Defined in -[src/signer/interface.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/interface.ts#L77) +[src/signer/interface.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/interface.ts#L77) --- @@ -197,7 +197,7 @@ const result = await mySigner.signDeployAccountTransaction(myDeployAcc); #### Defined in -[src/signer/interface.ts:105](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/interface.ts#L105) +[src/signer/interface.ts:105](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/interface.ts#L105) --- @@ -244,4 +244,4 @@ const result = await mySigner.signDeclareTransaction(myDeclare); #### Defined in -[src/signer/interface.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/signer/interface.ts#L131) +[src/signer/interface.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/interface.ts#L131) diff --git a/www/versioned_docs/version-7.6.2/API/classes/Subscription.md b/www/versioned_docs/version-7.6.4/API/classes/Subscription.md similarity index 85% rename from www/versioned_docs/version-7.6.2/API/classes/Subscription.md rename to www/versioned_docs/version-7.6.4/API/classes/Subscription.md index 86238cbfe..ffb9d4e77 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/Subscription.md +++ b/www/versioned_docs/version-7.6.4/API/classes/Subscription.md @@ -62,7 +62,7 @@ await sub.unsubscribe(); #### Defined in -[src/channel/ws/subscription.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L79) +[src/channel/ws/subscription.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L79) ## Properties @@ -74,7 +74,7 @@ The containing `WebSocketChannel` instance. #### Defined in -[src/channel/ws/subscription.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L41) +[src/channel/ws/subscription.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L41) --- @@ -86,7 +86,7 @@ The JSON-RPC method used to create this subscription. #### Defined in -[src/channel/ws/subscription.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L47) +[src/channel/ws/subscription.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L47) --- @@ -98,7 +98,7 @@ The parameters used to create this subscription. #### Defined in -[src/channel/ws/subscription.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L53) +[src/channel/ws/subscription.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L53) --- @@ -110,7 +110,7 @@ The unique identifier for this subscription. #### Defined in -[src/channel/ws/subscription.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L59) +[src/channel/ws/subscription.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L59) --- @@ -120,7 +120,7 @@ The unique identifier for this subscription. #### Defined in -[src/channel/ws/subscription.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L61) +[src/channel/ws/subscription.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L61) --- @@ -130,7 +130,7 @@ The unique identifier for this subscription. #### Defined in -[src/channel/ws/subscription.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L63) +[src/channel/ws/subscription.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L63) --- @@ -140,7 +140,7 @@ The unique identifier for this subscription. #### Defined in -[src/channel/ws/subscription.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L65) +[src/channel/ws/subscription.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L65) --- @@ -150,7 +150,7 @@ The unique identifier for this subscription. #### Defined in -[src/channel/ws/subscription.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L67) +[src/channel/ws/subscription.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L67) --- @@ -160,7 +160,7 @@ The unique identifier for this subscription. #### Defined in -[src/channel/ws/subscription.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L69) +[src/channel/ws/subscription.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L69) ## Accessors @@ -178,7 +178,7 @@ Indicates if the subscription has been closed. #### Defined in -[src/channel/ws/subscription.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L97) +[src/channel/ws/subscription.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L97) ## Methods @@ -201,7 +201,7 @@ If a handler is attached, it's invoked immediately. Otherwise, the event is buff #### Defined in -[src/channel/ws/subscription.ts:107](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L107) +[src/channel/ws/subscription.ts:107](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L107) --- @@ -230,7 +230,7 @@ If a handler is already attached to this subscription. #### Defined in -[src/channel/ws/subscription.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L128) +[src/channel/ws/subscription.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L128) --- @@ -248,4 +248,4 @@ A Promise that resolves to `true` if the unsubscription was successful. #### Defined in -[src/channel/ws/subscription.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/subscription.ts#L149) +[src/channel/ws/subscription.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/subscription.ts#L149) diff --git a/www/versioned_docs/version-7.5.1/API/classes/TimeoutError.md b/www/versioned_docs/version-7.6.4/API/classes/TimeoutError.md similarity index 96% rename from www/versioned_docs/version-7.5.1/API/classes/TimeoutError.md rename to www/versioned_docs/version-7.6.4/API/classes/TimeoutError.md index 82cd06155..8d6fcaa1b 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/TimeoutError.md +++ b/www/versioned_docs/version-7.6.4/API/classes/TimeoutError.md @@ -36,7 +36,7 @@ Thrown when a WebSocket request does not receive a response within the configure #### Defined in -[src/utils/errors/index.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/errors/index.ts#L85) +[src/utils/errors/index.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/errors/index.ts#L85) ## Properties @@ -101,7 +101,7 @@ The name of the error, always 'TimeoutError'. #### Defined in -[src/utils/errors/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/errors/index.ts#L21) +[src/utils/errors/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/errors/index.ts#L21) --- diff --git a/www/versioned_docs/version-7.6.2/API/classes/WalletAccount.md b/www/versioned_docs/version-7.6.4/API/classes/WalletAccount.md similarity index 96% rename from www/versioned_docs/version-7.6.2/API/classes/WalletAccount.md rename to www/versioned_docs/version-7.6.4/API/classes/WalletAccount.md index 16e7889c9..7397896fe 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/WalletAccount.md +++ b/www/versioned_docs/version-7.6.4/API/classes/WalletAccount.md @@ -42,7 +42,7 @@ custom_edit_url: null #### Defined in -[src/wallet/account.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L46) +[src/wallet/account.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L46) ## Properties @@ -52,7 +52,7 @@ custom_edit_url: null #### Defined in -[src/wallet/account.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L44) +[src/wallet/account.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L44) --- @@ -70,7 +70,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L98) +[src/account/default.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L98) --- @@ -88,7 +88,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:100](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L100) +[src/account/default.ts:100](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L100) --- @@ -106,7 +106,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:102](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L102) +[src/account/default.ts:102](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L102) --- @@ -120,7 +120,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L104) +[src/account/default.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L104) --- @@ -134,7 +134,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:106](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L106) +[src/account/default.ts:106](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L106) --- @@ -163,7 +163,7 @@ custom_edit_url: null #### Defined in -[src/account/default.ts:634](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L634) +[src/account/default.ts:634](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L634) --- @@ -177,7 +177,7 @@ custom_edit_url: null #### Defined in -[src/provider/rpc.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L65) +[src/provider/rpc.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L65) --- @@ -195,7 +195,7 @@ custom_edit_url: null #### Defined in -[src/provider/rpc.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L67) +[src/provider/rpc.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L67) --- @@ -257,7 +257,7 @@ custom_edit_url: null #### Defined in -[src/provider/rpc.ts:268](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L268) +[src/provider/rpc.ts:268](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L268) ## Methods @@ -281,7 +281,7 @@ custom_edit_url: null #### Defined in -[src/wallet/account.ts:164](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L164) +[src/wallet/account.ts:164](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L164) --- @@ -304,7 +304,7 @@ custom_edit_url: null #### Defined in -[src/wallet/account.ts:175](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L175) +[src/wallet/account.ts:175](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L175) --- @@ -330,7 +330,7 @@ custom_edit_url: null #### Defined in -[src/provider/extensions/starknetId.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L62) +[src/provider/extensions/starknetId.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L62) --- @@ -356,7 +356,7 @@ custom_edit_url: null #### Defined in -[src/provider/extensions/starknetId.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L96) +[src/provider/extensions/starknetId.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L96) --- @@ -387,7 +387,7 @@ custom_edit_url: null #### Defined in -[src/provider/extensions/starknetId.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L128) +[src/provider/extensions/starknetId.ts:128](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L128) --- @@ -409,7 +409,7 @@ WALLET EVENTS #### Defined in -[src/wallet/account.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L74) +[src/wallet/account.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L74) --- @@ -429,7 +429,7 @@ WALLET EVENTS #### Defined in -[src/wallet/account.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L78) +[src/wallet/account.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L78) --- @@ -451,7 +451,7 @@ WALLET SPECIFIC METHODS #### Defined in -[src/wallet/account.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L85) +[src/wallet/account.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L85) --- @@ -465,7 +465,7 @@ WALLET SPECIFIC METHODS #### Defined in -[src/wallet/account.ts:89](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L89) +[src/wallet/account.ts:89](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L89) --- @@ -485,7 +485,7 @@ WALLET SPECIFIC METHODS #### Defined in -[src/wallet/account.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L93) +[src/wallet/account.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L93) --- @@ -505,7 +505,7 @@ WALLET SPECIFIC METHODS #### Defined in -[src/wallet/account.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L97) +[src/wallet/account.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L97) --- @@ -525,7 +525,7 @@ WALLET SPECIFIC METHODS #### Defined in -[src/wallet/account.ts:101](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L101) +[src/wallet/account.ts:101](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L101) --- @@ -555,7 +555,7 @@ ACCOUNT METHODS #### Defined in -[src/wallet/account.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L108) +[src/wallet/account.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L108) --- @@ -587,7 +587,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/wallet/account.ts:125](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L125) +[src/wallet/account.ts:125](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L125) --- @@ -621,7 +621,7 @@ support multicall #### Defined in -[src/wallet/account.ts:148](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L148) +[src/wallet/account.ts:148](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L148) --- @@ -658,7 +658,7 @@ if typedData is not a valid TypedData #### Defined in -[src/wallet/account.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/wallet/account.ts#L160) +[src/wallet/account.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/account.ts#L160) --- @@ -683,7 +683,7 @@ if typedData is not a valid TypedData #### Defined in -[src/account/default.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L144) +[src/account/default.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L144) --- @@ -715,7 +715,7 @@ nonce of the account #### Defined in -[src/account/default.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L151) +[src/account/default.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L151) --- @@ -739,7 +739,7 @@ nonce of the account #### Defined in -[src/account/default.ts:155](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L155) +[src/account/default.ts:155](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L155) --- @@ -765,7 +765,7 @@ Retrieves the Cairo version from the network and sets `cairoVersion` if not alre #### Defined in -[src/account/default.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L168) +[src/account/default.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L168) --- @@ -790,7 +790,7 @@ Retrieves the Cairo version from the network and sets `cairoVersion` if not alre #### Defined in -[src/account/default.ts:178](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L178) +[src/account/default.ts:178](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L178) --- @@ -823,7 +823,7 @@ response from estimate_fee #### Defined in -[src/account/default.ts:185](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L185) +[src/account/default.ts:185](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L185) --- @@ -856,7 +856,7 @@ response from estimate_fee #### Defined in -[src/account/default.ts:224](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L224) +[src/account/default.ts:224](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L224) --- @@ -889,7 +889,7 @@ response from estimate_fee #### Defined in -[src/account/default.ts:262](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L262) +[src/account/default.ts:262](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L262) --- @@ -921,7 +921,7 @@ This is different from the normal DEPLOY transaction as it goes through the Univ #### Defined in -[src/account/default.ts:301](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L301) +[src/account/default.ts:301](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L301) --- @@ -955,7 +955,7 @@ response from estimate_fee #### Defined in -[src/account/default.ts:309](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L309) +[src/account/default.ts:309](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L309) --- @@ -988,7 +988,7 @@ response from simulate_transaction #### Defined in -[src/account/default.ts:335](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L335) +[src/account/default.ts:335](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L335) --- @@ -1021,7 +1021,7 @@ the prepared transaction #### Defined in -[src/account/default.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L411) +[src/account/default.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L411) --- @@ -1054,7 +1054,7 @@ response extracting fee from buildPaymasterTransaction #### Defined in -[src/account/default.ts:450](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L450) +[src/account/default.ts:450](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L450) --- @@ -1078,7 +1078,7 @@ response extracting fee from buildPaymasterTransaction #### Defined in -[src/account/default.ts:458](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L458) +[src/account/default.ts:458](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L458) --- @@ -1117,7 +1117,7 @@ the tarnsaction hash if successful, otherwise an error is thrown #### Defined in -[src/account/default.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L501) +[src/account/default.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L501) --- @@ -1146,7 +1146,7 @@ Method will pass even if contract is already declared #### Defined in -[src/account/default.ts:535](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L535) +[src/account/default.ts:535](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L535) --- @@ -1188,7 +1188,7 @@ Internal wait for L2 transaction, support multicall #### Defined in -[src/account/default.ts:608](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L608) +[src/account/default.ts:608](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L608) --- @@ -1234,7 +1234,7 @@ Method will pass even if contract is already declared (internal using DeclareIfN #### Defined in -[src/account/default.ts:617](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L617) +[src/account/default.ts:617](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L617) --- @@ -1267,7 +1267,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/account/default.ts:636](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L636) +[src/account/default.ts:636](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L636) --- @@ -1304,7 +1304,7 @@ if typedData is not a valid TypedData #### Defined in -[src/account/default.ts:700](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L700) +[src/account/default.ts:700](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L700) --- @@ -1333,7 +1333,7 @@ const result = myAccount.getSnip9Version(); #### Defined in -[src/account/default.ts:713](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L713) +[src/account/default.ts:713](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L713) --- @@ -1368,7 +1368,7 @@ const result = myAccount.isValidSnip9Nonce(1234); #### Defined in -[src/account/default.ts:734](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L734) +[src/account/default.ts:734](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L734) --- @@ -1398,7 +1398,7 @@ const result = myAccount.getSnip9Nonce(); #### Defined in -[src/account/default.ts:758](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L758) +[src/account/default.ts:758](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L758) --- @@ -1463,7 +1463,7 @@ const outsideTransaction1: OutsideTransaction = await signerAccount.getOutsideTr #### Defined in -[src/account/default.ts:795](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L795) +[src/account/default.ts:795](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L795) --- @@ -1508,7 +1508,7 @@ const result = await myAccount.executeFromOutside([outsideTransaction1, outsideT #### Defined in -[src/account/default.ts:855](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L855) +[src/account/default.ts:855](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L855) --- @@ -1534,7 +1534,7 @@ const result = await myAccount.executeFromOutside([outsideTransaction1, outsideT #### Defined in -[src/account/default.ts:867](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L867) +[src/account/default.ts:867](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L867) --- @@ -1567,7 +1567,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:895](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L895) +[src/account/default.ts:895](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L895) --- @@ -1592,7 +1592,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:917](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L917) +[src/account/default.ts:917](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L917) --- @@ -1617,7 +1617,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:932](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L932) +[src/account/default.ts:932](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L932) --- @@ -1642,7 +1642,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:964](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L964) +[src/account/default.ts:964](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L964) --- @@ -1666,7 +1666,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:998](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L998) +[src/account/default.ts:998](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L998) --- @@ -1691,7 +1691,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:1025](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L1025) +[src/account/default.ts:1025](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L1025) --- @@ -1716,7 +1716,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/account/default.ts:1123](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/account/default.ts#L1123) +[src/account/default.ts:1123](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/account/default.ts#L1123) --- @@ -1742,7 +1742,7 @@ EstimateFee (...response, resourceBounds, suggestedMaxFee) #### Defined in -[src/provider/rpc.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L131) +[src/provider/rpc.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L131) --- @@ -1768,7 +1768,7 @@ the chain Id #### Defined in -[src/provider/rpc.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L135) +[src/provider/rpc.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L135) --- @@ -1788,7 +1788,7 @@ read channel spec version #### Defined in -[src/provider/rpc.ts:142](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L142) +[src/provider/rpc.ts:142](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L142) --- @@ -1808,7 +1808,7 @@ get channel spec version #### Defined in -[src/provider/rpc.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L149) +[src/provider/rpc.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L149) --- @@ -1828,7 +1828,7 @@ setup channel spec version and return it #### Defined in -[src/provider/rpc.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L156) +[src/provider/rpc.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L156) --- @@ -1861,7 +1861,7 @@ the hex nonce #### Defined in -[src/provider/rpc.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L160) +[src/provider/rpc.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L160) --- @@ -1887,7 +1887,7 @@ the block object #### Defined in -[src/provider/rpc.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L167) +[src/provider/rpc.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L167) ▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `transactions`: `string`[] ; `parent_hash`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` }\> @@ -1911,7 +1911,7 @@ the block object #### Defined in -[src/provider/rpc.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L168) +[src/provider/rpc.ts:168](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L168) ▸ **getBlock**(`blockIdentifier`): `Promise`<\{ `status`: [`BLOCK_STATUS`](../namespaces/types.RPC.RPCSPEC08.API.md#block_status) ; `block_hash`: `string` ; `parent_hash`: `string` ; `block_number`: `number` ; `new_root`: `string` ; `timestamp`: `number` ; `sequencer_address`: `string` ; `l1_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l2_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_data_gas_price`: [`RESOURCE_PRICE`](../namespaces/types.RPC.RPCSPEC08.API.md#resource_price) ; `l1_da_mode`: [`L1_DA_MODE`](../namespaces/types.RPC.RPCSPEC08.API.md#l1_da_mode-1) ; `starknet_version`: `string` ; `transactions`: `string`[] }\> @@ -1935,7 +1935,7 @@ the block object #### Defined in -[src/provider/rpc.ts:169](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L169) +[src/provider/rpc.ts:169](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L169) ▸ **getBlock**(`blockIdentifier?`): `Promise`<[`GetBlockResponse`](../namespaces/types.md#getblockresponse)\> @@ -1959,7 +1959,7 @@ AccountInterface.getBlock #### Defined in -[src/provider/rpc.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L170) +[src/provider/rpc.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L170) --- @@ -1979,7 +1979,7 @@ Get the most recent accepted block hash and number #### Defined in -[src/provider/rpc.ts:180](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L180) +[src/provider/rpc.ts:180](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L180) --- @@ -2002,7 +2002,7 @@ Number of the latest block #### Defined in -[src/provider/rpc.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L189) +[src/provider/rpc.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L189) --- @@ -2026,7 +2026,7 @@ Number of the latest block #### Defined in -[src/provider/rpc.ts:193](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L193) +[src/provider/rpc.ts:193](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L193) --- @@ -2050,7 +2050,7 @@ Number of the latest block #### Defined in -[src/provider/rpc.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L197) +[src/provider/rpc.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L197) --- @@ -2084,7 +2084,7 @@ await myProvider.waitForBlock(); #### Defined in -[src/provider/rpc.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L212) +[src/provider/rpc.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L212) --- @@ -2116,7 +2116,7 @@ gas price of the block #### Defined in -[src/provider/rpc.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L242) +[src/provider/rpc.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L242) --- @@ -2159,7 +2159,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:248](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L248) +[src/provider/rpc.ts:248](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L248) --- @@ -2183,7 +2183,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L264) +[src/provider/rpc.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L264) --- @@ -2201,7 +2201,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:270](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L270) +[src/provider/rpc.ts:270](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L270) ▸ **getBlockStateUpdate**(`blockIdentifier`): `Promise`<\{ `block_hash`: `never` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> @@ -2221,7 +2221,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:271](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L271) +[src/provider/rpc.ts:271](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L271) ▸ **getBlockStateUpdate**(`blockIdentifier`): `Promise`<\{ `block_hash`: `string` ; `new_root`: `string` ; `old_root`: `string` ; `state_diff`: \{ storage_diffs: \{ address: string; storage_entries: \{ key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: \{ class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: \{ address: string; class_hash: string; }[]; replaced_classes: \{ contract_address: string; class_hash: string; }[]; nonces: \{ nonce: string; contract_address: string; }[]; } }\> @@ -2241,7 +2241,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L272) +[src/provider/rpc.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L272) ▸ **getBlockStateUpdate**(`blockIdentifier?`): `Promise`<[`StateUpdateResponse`](../namespaces/types.md#stateupdateresponse)\> @@ -2261,7 +2261,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:273](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L273) +[src/provider/rpc.ts:273](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L273) --- @@ -2285,7 +2285,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:278](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L278) +[src/provider/rpc.ts:278](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L278) --- @@ -2309,7 +2309,7 @@ const result = provider.getL1MessageHash( #### Defined in -[src/provider/rpc.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L282) +[src/provider/rpc.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L282) --- @@ -2341,7 +2341,7 @@ the transaction object { transaction_id, status, transaction, block_number?, blo #### Defined in -[src/provider/rpc.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L286) +[src/provider/rpc.ts:286](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L286) --- @@ -2365,7 +2365,7 @@ the transaction object { transaction_id, status, transaction, block_number?, blo #### Defined in -[src/provider/rpc.ts:290](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L290) +[src/provider/rpc.ts:290](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L290) --- @@ -2390,7 +2390,7 @@ the transaction object { transaction_id, status, transaction, block_number?, blo #### Defined in -[src/provider/rpc.ts:294](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L294) +[src/provider/rpc.ts:294](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L294) --- @@ -2422,7 +2422,7 @@ the transaction receipt object #### Defined in -[src/provider/rpc.ts:298](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L298) +[src/provider/rpc.ts:298](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L298) --- @@ -2446,7 +2446,7 @@ the transaction receipt object #### Defined in -[src/provider/rpc.ts:305](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L305) +[src/provider/rpc.ts:305](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L305) --- @@ -2472,7 +2472,7 @@ Get the status of a transaction #### Defined in -[src/provider/rpc.ts:312](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L312) +[src/provider/rpc.ts:312](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L312) --- @@ -2501,7 +2501,7 @@ Get the status of a transaction #### Defined in -[src/provider/rpc.ts:323](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L323) +[src/provider/rpc.ts:323](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L323) --- @@ -2534,7 +2534,7 @@ GetTransactionReceiptResponse #### Defined in -[src/provider/rpc.ts:333](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L333) +[src/provider/rpc.ts:333](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L333) --- @@ -2568,7 +2568,7 @@ the value of the storage variable #### Defined in -[src/provider/rpc.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L345) +[src/provider/rpc.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L345) --- @@ -2601,7 +2601,7 @@ Class hash #### Defined in -[src/provider/rpc.ts:353](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L353) +[src/provider/rpc.ts:353](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L353) --- @@ -2633,7 +2633,7 @@ Contract class of compiled contract #### Defined in -[src/provider/rpc.ts:357](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L357) +[src/provider/rpc.ts:357](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L357) --- @@ -2658,7 +2658,7 @@ Contract class of compiled contract #### Defined in -[src/provider/rpc.ts:361](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L361) +[src/provider/rpc.ts:361](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L361) --- @@ -2691,7 +2691,7 @@ Contract class of compiled contract #### Defined in -[src/provider/rpc.ts:367](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L367) +[src/provider/rpc.ts:367](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L367) --- @@ -2723,7 +2723,7 @@ Gets the contract version from the provided address #### Defined in -[src/provider/rpc.ts:373](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L373) +[src/provider/rpc.ts:373](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L373) ▸ **getContractVersion**(`contractAddress`, `classHash`, `options?`): `Promise`<[`ContractVersion`](../namespaces/types.md#contractversion)\> @@ -2751,7 +2751,7 @@ Gets the contract version from the provided address #### Defined in -[src/provider/rpc.ts:378](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L378) +[src/provider/rpc.ts:378](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L378) --- @@ -2786,7 +2786,7 @@ the estimated fee #### Defined in -[src/provider/rpc.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L411) +[src/provider/rpc.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L411) --- @@ -2821,7 +2821,7 @@ the estimated fee #### Defined in -[src/provider/rpc.ts:431](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L431) +[src/provider/rpc.ts:431](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L431) --- @@ -2856,7 +2856,7 @@ the estimated fee #### Defined in -[src/provider/rpc.ts:451](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L451) +[src/provider/rpc.ts:451](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L451) --- @@ -2889,7 +2889,7 @@ the estimated fee #### Defined in -[src/provider/rpc.ts:471](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L471) +[src/provider/rpc.ts:471](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L471) --- @@ -2922,7 +2922,7 @@ response from addTransaction #### Defined in -[src/provider/rpc.ts:480](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L480) +[src/provider/rpc.ts:480](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L480) --- @@ -2955,7 +2955,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/provider/rpc.ts:487](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L487) +[src/provider/rpc.ts:487](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L487) --- @@ -2988,7 +2988,7 @@ a confirmation of sending a transaction on the starknet contract #### Defined in -[src/provider/rpc.ts:494](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L494) +[src/provider/rpc.ts:494](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L494) --- @@ -3021,7 +3021,7 @@ the result of the function on the smart contract. #### Defined in -[src/provider/rpc.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L501) +[src/provider/rpc.ts:501](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L501) --- @@ -3052,7 +3052,7 @@ NEW: Estimate the fee for a message from L1 #### Defined in -[src/provider/rpc.ts:509](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L509) +[src/provider/rpc.ts:509](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L509) --- @@ -3074,7 +3074,7 @@ Object with the stats data #### Defined in -[src/provider/rpc.ts:520](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L520) +[src/provider/rpc.ts:520](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L520) --- @@ -3102,7 +3102,7 @@ events and the pagination of the events #### Defined in -[src/provider/rpc.ts:528](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L528) +[src/provider/rpc.ts:528](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L528) --- @@ -3145,7 +3145,7 @@ const result2 = myRpcProvider.verifyMessageInStarknet(messageHash, sign, account #### Defined in -[src/provider/rpc.ts:550](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L550) +[src/provider/rpc.ts:550](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L550) --- @@ -3173,7 +3173,7 @@ Helper method using getClass #### Defined in -[src/provider/rpc.ts:639](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L639) +[src/provider/rpc.ts:639](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L639) --- @@ -3202,7 +3202,7 @@ Build bulk invocations with auto-detect declared class #### Defined in -[src/provider/rpc.ts:670](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L670) +[src/provider/rpc.ts:670](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L670) --- @@ -3228,7 +3228,7 @@ Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses fo #### Defined in -[src/provider/rpc.ts:694](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L694) +[src/provider/rpc.ts:694](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L694) --- @@ -3257,7 +3257,7 @@ Get merkle paths in one of the state tries: global state, classes, individual co #### Defined in -[src/provider/rpc.ts:705](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L705) +[src/provider/rpc.ts:705](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L705) --- @@ -3283,7 +3283,7 @@ Get the contract class definition in the given block associated with the given h #### Defined in -[src/provider/rpc.ts:726](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/rpc.ts#L726) +[src/provider/rpc.ts:726](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/rpc.ts#L726) --- @@ -3308,7 +3308,7 @@ Get the contract class definition in the given block associated with the given h #### Defined in -[src/provider/extensions/starknetId.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L31) +[src/provider/extensions/starknetId.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L31) --- @@ -3338,4 +3338,4 @@ Get the contract class definition in the given block associated with the given h #### Defined in -[src/provider/extensions/starknetId.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/extensions/starknetId.ts#L40) +[src/provider/extensions/starknetId.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/extensions/starknetId.ts#L40) diff --git a/www/versioned_docs/version-7.5.1/API/classes/WebSocketChannel.md b/www/versioned_docs/version-7.6.4/API/classes/WebSocketChannel.md similarity index 89% rename from www/versioned_docs/version-7.5.1/API/classes/WebSocketChannel.md rename to www/versioned_docs/version-7.6.4/API/classes/WebSocketChannel.md index 6735d8b58..76f936bdf 100644 --- a/www/versioned_docs/version-7.5.1/API/classes/WebSocketChannel.md +++ b/www/versioned_docs/version-7.6.4/API/classes/WebSocketChannel.md @@ -45,7 +45,7 @@ Creates an instance of WebSocketChannel. #### Defined in -[src/channel/ws/ws_0_8.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L170) +[src/channel/ws/ws_0_8.ts:170](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L170) ## Properties @@ -63,7 +63,7 @@ The URL of the WebSocket RPC Node. #### Defined in -[src/channel/ws/ws_0_8.ts:114](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L114) +[src/channel/ws/ws_0_8.ts:114](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L114) --- @@ -75,7 +75,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L119) +[src/channel/ws/ws_0_8.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L119) --- @@ -110,7 +110,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L122) +[src/channel/ws/ws_0_8.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L122) --- @@ -120,7 +120,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:125](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L125) +[src/channel/ws/ws_0_8.ts:125](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L125) --- @@ -130,7 +130,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L127) +[src/channel/ws/ws_0_8.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L127) --- @@ -140,7 +140,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:129](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L129) +[src/channel/ws/ws_0_8.ts:129](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L129) --- @@ -150,7 +150,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L131) +[src/channel/ws/ws_0_8.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L131) --- @@ -160,7 +160,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L133) +[src/channel/ws/ws_0_8.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L133) --- @@ -170,7 +170,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L135) +[src/channel/ws/ws_0_8.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L135) --- @@ -180,7 +180,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:137](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L137) +[src/channel/ws/ws_0_8.ts:137](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L137) --- @@ -190,7 +190,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:139](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L139) +[src/channel/ws/ws_0_8.ts:139](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L139) --- @@ -200,7 +200,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:141](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L141) +[src/channel/ws/ws_0_8.ts:141](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L141) --- @@ -210,7 +210,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L143) +[src/channel/ws/ws_0_8.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L143) --- @@ -220,7 +220,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:150](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L150) +[src/channel/ws/ws_0_8.ts:150](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L150) --- @@ -244,7 +244,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:154](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L154) +[src/channel/ws/ws_0_8.ts:154](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L154) --- @@ -268,7 +268,7 @@ The underlying WebSocket instance. #### Defined in -[src/channel/ws/ws_0_8.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L156) +[src/channel/ws/ws_0_8.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L156) --- @@ -281,7 +281,7 @@ The receiving message is expected to contain the same ID. #### Defined in -[src/channel/ws/ws_0_8.ts:164](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L164) +[src/channel/ws/ws_0_8.ts:164](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L164) ## Methods @@ -301,7 +301,7 @@ The receiving message is expected to contain the same ID. #### Defined in -[src/channel/ws/ws_0_8.ts:152](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L152) +[src/channel/ws/ws_0_8.ts:152](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L152) --- @@ -321,7 +321,7 @@ The receiving message is expected to contain the same ID. #### Defined in -[src/channel/ws/ws_0_8.ts:158](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L158) +[src/channel/ws/ws_0_8.ts:158](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L158) --- @@ -341,7 +341,7 @@ The receiving message is expected to contain the same ID. #### Defined in -[src/channel/ws/ws_0_8.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L189) +[src/channel/ws/ws_0_8.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L189) --- @@ -372,7 +372,7 @@ If the WebSocket is not connected. #### Defined in -[src/channel/ws/ws_0_8.ts:206](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L206) +[src/channel/ws/ws_0_8.ts:206](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L206) --- @@ -413,7 +413,7 @@ If the WebSocket is not connected and auto-reconnect is disabled. #### Defined in -[src/channel/ws/ws_0_8.ts:235](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L235) +[src/channel/ws/ws_0_8.ts:235](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L235) --- @@ -431,7 +431,7 @@ Checks if the WebSocket connection is currently open. #### Defined in -[src/channel/ws/ws_0_8.ts:310](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L310) +[src/channel/ws/ws_0_8.ts:310](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L310) --- @@ -458,7 +458,7 @@ console.log('Connected!'); #### Defined in -[src/channel/ws/ws_0_8.ts:325](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L325) +[src/channel/ws/ws_0_8.ts:325](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L325) --- @@ -482,7 +482,7 @@ This method is user-initiated and will prevent automatic reconnection for this c #### Defined in -[src/channel/ws/ws_0_8.ts:346](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L346) +[src/channel/ws/ws_0_8.ts:346](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L346) --- @@ -500,7 +500,7 @@ A Promise that resolves with the WebSocket's `readyState` or a `CloseEvent` when #### Defined in -[src/channel/ws/ws_0_8.ts:359](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L359) +[src/channel/ws/ws_0_8.ts:359](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L359) --- @@ -525,7 +525,7 @@ A Promise that resolves with `true` if the unsubscription was successful. #### Defined in -[src/channel/ws/ws_0_8.ts:379](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L379) +[src/channel/ws/ws_0_8.ts:379](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L379) --- @@ -554,7 +554,7 @@ console.log('Successfully unsubscribed.'); #### Defined in -[src/channel/ws/ws_0_8.ts:399](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L399) +[src/channel/ws/ws_0_8.ts:399](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L399) --- @@ -571,7 +571,7 @@ This creates a new WebSocket instance and re-establishes listeners. #### Defined in -[src/channel/ws/ws_0_8.ts:415](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L415) +[src/channel/ws/ws_0_8.ts:415](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L415) --- @@ -585,7 +585,7 @@ This creates a new WebSocket instance and re-establishes listeners. #### Defined in -[src/channel/ws/ws_0_8.ts:425](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L425) +[src/channel/ws/ws_0_8.ts:425](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L425) --- @@ -599,7 +599,7 @@ This creates a new WebSocket instance and re-establishes listeners. #### Defined in -[src/channel/ws/ws_0_8.ts:433](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L433) +[src/channel/ws/ws_0_8.ts:433](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L433) --- @@ -613,7 +613,7 @@ This creates a new WebSocket instance and re-establishes listeners. #### Defined in -[src/channel/ws/ws_0_8.ts:453](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L453) +[src/channel/ws/ws_0_8.ts:453](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L453) --- @@ -633,7 +633,7 @@ This creates a new WebSocket instance and re-establishes listeners. #### Defined in -[src/channel/ws/ws_0_8.ts:495](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L495) +[src/channel/ws/ws_0_8.ts:495](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L495) --- @@ -653,7 +653,7 @@ This creates a new WebSocket instance and re-establishes listeners. #### Defined in -[src/channel/ws/ws_0_8.ts:507](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L507) +[src/channel/ws/ws_0_8.ts:507](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L507) --- @@ -677,7 +677,7 @@ A Promise that resolves with a `Subscription` object for new block headers. #### Defined in -[src/channel/ws/ws_0_8.ts:546](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L546) +[src/channel/ws/ws_0_8.ts:546](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L546) --- @@ -703,7 +703,7 @@ A Promise that resolves with a `Subscription` object for the specified events. #### Defined in -[src/channel/ws/ws_0_8.ts:566](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L566) +[src/channel/ws/ws_0_8.ts:566](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L566) --- @@ -728,7 +728,7 @@ A Promise that resolves with a `Subscription` object for the transaction's statu #### Defined in -[src/channel/ws/ws_0_8.ts:589](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L589) +[src/channel/ws/ws_0_8.ts:589](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L589) --- @@ -753,7 +753,7 @@ A Promise that resolves with a `Subscription` object for pending transactions. #### Defined in -[src/channel/ws/ws_0_8.ts:610](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L610) +[src/channel/ws/ws_0_8.ts:610](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L610) --- @@ -775,7 +775,7 @@ Internal method to remove subscription from active map. #### Defined in -[src/channel/ws/ws_0_8.ts:629](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L629) +[src/channel/ws/ws_0_8.ts:629](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L629) --- @@ -804,7 +804,7 @@ Adds a listener for a given event. #### Defined in -[src/channel/ws/ws_0_8.ts:638](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L638) +[src/channel/ws/ws_0_8.ts:638](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L638) --- @@ -833,4 +833,4 @@ Removes a listener for a given event. #### Defined in -[src/channel/ws/ws_0_8.ts:650](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/channel/ws/ws_0_8.ts#L650) +[src/channel/ws/ws_0_8.ts:650](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L650) diff --git a/www/versioned_docs/version-7.6.2/API/classes/WebSocketNotConnectedError.md b/www/versioned_docs/version-7.6.4/API/classes/WebSocketNotConnectedError.md similarity index 96% rename from www/versioned_docs/version-7.6.2/API/classes/WebSocketNotConnectedError.md rename to www/versioned_docs/version-7.6.4/API/classes/WebSocketNotConnectedError.md index 8f768fc02..60ede489b 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/WebSocketNotConnectedError.md +++ b/www/versioned_docs/version-7.6.4/API/classes/WebSocketNotConnectedError.md @@ -36,7 +36,7 @@ Thrown when an operation is attempted on a WebSocket that is not connected. #### Defined in -[src/utils/errors/index.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/errors/index.ts#L96) +[src/utils/errors/index.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/errors/index.ts#L96) ## Properties @@ -101,7 +101,7 @@ The name of the error, always 'WebSocketNotConnectedError'. #### Defined in -[src/utils/errors/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/errors/index.ts#L21) +[src/utils/errors/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/errors/index.ts#L21) --- diff --git a/www/versioned_docs/version-7.5.1/API/classes/_category_.yml b/www/versioned_docs/version-7.6.4/API/classes/_category_.yml similarity index 100% rename from www/versioned_docs/version-7.5.1/API/classes/_category_.yml rename to www/versioned_docs/version-7.6.4/API/classes/_category_.yml diff --git a/www/versioned_docs/version-7.6.2/API/classes/merkle.MerkleTree.md b/www/versioned_docs/version-7.6.4/API/classes/merkle.MerkleTree.md similarity index 95% rename from www/versioned_docs/version-7.6.2/API/classes/merkle.MerkleTree.md rename to www/versioned_docs/version-7.6.4/API/classes/merkle.MerkleTree.md index 2e603f838..de810d710 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/merkle.MerkleTree.md +++ b/www/versioned_docs/version-7.6.4/API/classes/merkle.MerkleTree.md @@ -43,7 +43,7 @@ const tree = new MerkleTree(leaves); #### Defined in -[src/utils/merkle.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/merkle.ts#L31) +[src/utils/merkle.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/merkle.ts#L31) ## Properties @@ -53,7 +53,7 @@ const tree = new MerkleTree(leaves); #### Defined in -[src/utils/merkle.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/merkle.ts#L5) +[src/utils/merkle.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/merkle.ts#L5) --- @@ -63,7 +63,7 @@ const tree = new MerkleTree(leaves); #### Defined in -[src/utils/merkle.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/merkle.ts#L7) +[src/utils/merkle.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/merkle.ts#L7) --- @@ -73,7 +73,7 @@ const tree = new MerkleTree(leaves); #### Defined in -[src/utils/merkle.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/merkle.ts#L9) +[src/utils/merkle.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/merkle.ts#L9) --- @@ -98,7 +98,7 @@ const tree = new MerkleTree(leaves); #### Defined in -[src/utils/merkle.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/merkle.ts#L11) +[src/utils/merkle.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/merkle.ts#L11) ## Methods @@ -135,7 +135,7 @@ const result2 = MerkleTree.hash('0xabc', '0xdef', customHashMethod); #### Defined in -[src/utils/merkle.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/merkle.ts#L76) +[src/utils/merkle.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/merkle.ts#L76) --- @@ -174,4 +174,4 @@ const result = tree.getProof('0x3'); #### Defined in -[src/utils/merkle.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/merkle.ts#L104) +[src/utils/merkle.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/merkle.ts#L104) diff --git a/www/versioned_docs/version-7.6.2/API/classes/provider-1.Block.md b/www/versioned_docs/version-7.6.4/API/classes/provider-1.Block.md similarity index 90% rename from www/versioned_docs/version-7.6.2/API/classes/provider-1.Block.md rename to www/versioned_docs/version-7.6.4/API/classes/provider-1.Block.md index 6150f45fd..748cb3a0b 100644 --- a/www/versioned_docs/version-7.6.2/API/classes/provider-1.Block.md +++ b/www/versioned_docs/version-7.6.4/API/classes/provider-1.Block.md @@ -44,7 +44,7 @@ Create a Block instance #### Defined in -[src/utils/provider.ts:220](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L220) +[src/utils/provider.ts:220](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L220) ## Properties @@ -58,7 +58,7 @@ if not null, contains the block hash #### Defined in -[src/utils/provider.ts:177](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L177) +[src/utils/provider.ts:177](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L177) --- @@ -72,7 +72,7 @@ if not null, contains the block number #### Defined in -[src/utils/provider.ts:182](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L182) +[src/utils/provider.ts:182](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L182) --- @@ -86,7 +86,7 @@ if not null, contains "pending" or "latest" #### Defined in -[src/utils/provider.ts:187](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L187) +[src/utils/provider.ts:187](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L187) ## Accessors @@ -109,7 +109,7 @@ const result = new provider.Block(123456n).queryIdentifier; #### Defined in -[src/utils/provider.ts:233](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L233) +[src/utils/provider.ts:233](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L233) --- @@ -132,7 +132,7 @@ const result = new provider.Block(56789).identifier; #### Defined in -[src/utils/provider.ts:254](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L254) +[src/utils/provider.ts:254](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L254) • `set` **identifier**(`_identifier`): `void` @@ -159,7 +159,7 @@ const result = myBlock.identifier; #### Defined in -[src/utils/provider.ts:276](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L276) +[src/utils/provider.ts:276](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L276) ## Methods @@ -179,7 +179,7 @@ const result = myBlock.identifier; #### Defined in -[src/utils/provider.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L189) +[src/utils/provider.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L189) --- @@ -193,7 +193,7 @@ const result = myBlock.identifier; #### Defined in -[src/utils/provider.ts:280](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L280) +[src/utils/provider.ts:280](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L280) --- @@ -207,4 +207,4 @@ const result = myBlock.identifier; #### Defined in -[src/utils/provider.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L282) +[src/utils/provider.ts:282](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L282) diff --git a/www/versioned_docs/version-7.5.1/API/index.md b/www/versioned_docs/version-7.6.4/API/index.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/index.md rename to www/versioned_docs/version-7.6.4/API/index.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/_category_.yml b/www/versioned_docs/version-7.6.4/API/interfaces/_category_.yml similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/_category_.yml rename to www/versioned_docs/version-7.6.4/API/interfaces/_category_.yml diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/ec.weierstrass.ProjConstructor.md b/www/versioned_docs/version-7.6.4/API/interfaces/ec.weierstrass.ProjConstructor.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/ec.weierstrass.ProjConstructor.md rename to www/versioned_docs/version-7.6.4/API/interfaces/ec.weierstrass.ProjConstructor.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/ec.weierstrass.ProjPointType.md b/www/versioned_docs/version-7.6.4/API/interfaces/ec.weierstrass.ProjPointType.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/ec.weierstrass.ProjPointType.md rename to www/versioned_docs/version-7.6.4/API/interfaces/ec.weierstrass.ProjPointType.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/ec.weierstrass.SignatureType.md b/www/versioned_docs/version-7.6.4/API/interfaces/ec.weierstrass.SignatureType.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/ec.weierstrass.SignatureType.md rename to www/versioned_docs/version-7.6.4/API/interfaces/ec.weierstrass.SignatureType.md diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.DeployContractResponse.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.DeployContractResponse.md similarity index 85% rename from www/versioned_docs/version-7.6.2/API/interfaces/types.DeployContractResponse.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.DeployContractResponse.md index ef4d3033f..a3ac03acf 100644 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.DeployContractResponse.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.DeployContractResponse.md @@ -15,7 +15,7 @@ custom_edit_url: null #### Defined in -[src/types/account.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L63) +[src/types/account.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L63) --- @@ -25,4 +25,4 @@ custom_edit_url: null #### Defined in -[src/types/account.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L64) +[src/types/account.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L64) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.EstimateFee.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.EstimateFee.md similarity index 79% rename from www/versioned_docs/version-7.6.2/API/interfaces/types.EstimateFee.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.EstimateFee.md index d566552b9..a966ed9f5 100644 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.EstimateFee.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.EstimateFee.md @@ -25,7 +25,7 @@ EstimateFeeResponse.overall_fee #### Defined in -[src/provider/types/response.type.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L48) +[src/provider/types/response.type.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L48) --- @@ -39,7 +39,7 @@ EstimateFeeResponse.unit #### Defined in -[src/provider/types/response.type.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L49) +[src/provider/types/response.type.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L49) --- @@ -53,7 +53,7 @@ EstimateFeeResponse.l1_gas_consumed #### Defined in -[src/provider/types/response.type.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L51) +[src/provider/types/response.type.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L51) --- @@ -67,7 +67,7 @@ EstimateFeeResponse.l1_gas_price #### Defined in -[src/provider/types/response.type.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L52) +[src/provider/types/response.type.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L52) --- @@ -81,7 +81,7 @@ EstimateFeeResponse.l2_gas_consumed #### Defined in -[src/provider/types/response.type.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L53) +[src/provider/types/response.type.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L53) --- @@ -95,7 +95,7 @@ EstimateFeeResponse.l2_gas_price #### Defined in -[src/provider/types/response.type.ts:54](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L54) +[src/provider/types/response.type.ts:54](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L54) --- @@ -109,7 +109,7 @@ EstimateFeeResponse.l1_data_gas_consumed #### Defined in -[src/provider/types/response.type.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L55) +[src/provider/types/response.type.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L55) --- @@ -123,7 +123,7 @@ EstimateFeeResponse.l1_data_gas_price #### Defined in -[src/provider/types/response.type.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L56) +[src/provider/types/response.type.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L56) --- @@ -137,7 +137,7 @@ EstimateFeeResponse.suggestedMaxFee #### Defined in -[src/provider/types/response.type.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L58) +[src/provider/types/response.type.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L58) --- @@ -151,4 +151,4 @@ EstimateFeeResponse.resourceBounds #### Defined in -[src/provider/types/response.type.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L59) +[src/provider/types/response.type.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L59) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.EstimateFeeDetails.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.EstimateFeeDetails.md similarity index 89% rename from www/versioned_docs/version-7.6.2/API/interfaces/types.EstimateFeeDetails.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.EstimateFeeDetails.md index 66c51c31b..56440b237 100644 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.EstimateFeeDetails.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.EstimateFeeDetails.md @@ -25,7 +25,7 @@ custom_edit_url: null #### Defined in -[src/types/account.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L38) +[src/types/account.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L38) --- @@ -39,7 +39,7 @@ custom_edit_url: null #### Defined in -[src/types/account.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L39) +[src/types/account.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L39) --- @@ -55,7 +55,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L43) +[src/types/account.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L43) --- @@ -69,7 +69,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L44) +[src/types/account.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L44) --- @@ -83,7 +83,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L45) +[src/types/account.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L45) --- @@ -97,7 +97,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L46) +[src/types/account.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L46) --- @@ -111,7 +111,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L47) +[src/types/account.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L47) --- @@ -125,7 +125,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L48) +[src/types/account.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L48) --- @@ -139,7 +139,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L49) +[src/types/account.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L49) --- @@ -153,7 +153,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L50) +[src/types/account.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L50) --- @@ -167,4 +167,4 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L51) +[src/types/account.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L51) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.OutsideCall.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.OutsideCall.md similarity index 77% rename from www/versioned_docs/version-7.6.2/API/interfaces/types.OutsideCall.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.OutsideCall.md index 65e42ae7a..0e495a9ee 100644 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.OutsideCall.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.OutsideCall.md @@ -15,7 +15,7 @@ custom_edit_url: null #### Defined in -[src/types/outsideExecution.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L14) +[src/types/outsideExecution.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L14) --- @@ -25,7 +25,7 @@ custom_edit_url: null #### Defined in -[src/types/outsideExecution.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L15) +[src/types/outsideExecution.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L15) --- @@ -35,4 +35,4 @@ custom_edit_url: null #### Defined in -[src/types/outsideExecution.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L16) +[src/types/outsideExecution.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L16) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.OutsideExecution.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.OutsideExecution.md similarity index 76% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.OutsideExecution.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.OutsideExecution.md index 4513c5ce2..5b89ca530 100644 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.OutsideExecution.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.OutsideExecution.md @@ -15,7 +15,7 @@ custom_edit_url: null #### Defined in -[src/types/outsideExecution.ts:20](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L20) +[src/types/outsideExecution.ts:20](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L20) --- @@ -25,7 +25,7 @@ custom_edit_url: null #### Defined in -[src/types/outsideExecution.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L21) +[src/types/outsideExecution.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L21) --- @@ -35,7 +35,7 @@ custom_edit_url: null #### Defined in -[src/types/outsideExecution.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L22) +[src/types/outsideExecution.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L22) --- @@ -45,7 +45,7 @@ custom_edit_url: null #### Defined in -[src/types/outsideExecution.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L23) +[src/types/outsideExecution.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L23) --- @@ -55,4 +55,4 @@ custom_edit_url: null #### Defined in -[src/types/outsideExecution.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L24) +[src/types/outsideExecution.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L24) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.OutsideExecutionOptions.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.OutsideExecutionOptions.md similarity index 84% rename from www/versioned_docs/version-7.6.2/API/interfaces/types.OutsideExecutionOptions.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.OutsideExecutionOptions.md index 69051ea27..117e45238 100644 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.OutsideExecutionOptions.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.OutsideExecutionOptions.md @@ -17,7 +17,7 @@ authorized executer of the transaction(s): Hex address or "ANY_CALLER" or shortS #### Defined in -[src/types/outsideExecution.ts:6](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L6) +[src/types/outsideExecution.ts:6](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L6) --- @@ -29,7 +29,7 @@ Unix timestamp of the beginning of the timeframe #### Defined in -[src/types/outsideExecution.ts:8](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L8) +[src/types/outsideExecution.ts:8](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L8) --- @@ -41,4 +41,4 @@ Unix timestamp of the end of the timeframe #### Defined in -[src/types/outsideExecution.ts:10](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L10) +[src/types/outsideExecution.ts:10](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L10) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.OutsideTransaction.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.OutsideTransaction.md similarity index 78% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.OutsideTransaction.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.OutsideTransaction.md index 30d79d66c..e34b89ba8 100644 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.OutsideTransaction.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.OutsideTransaction.md @@ -15,7 +15,7 @@ custom_edit_url: null #### Defined in -[src/types/outsideExecution.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L28) +[src/types/outsideExecution.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L28) --- @@ -25,7 +25,7 @@ custom_edit_url: null #### Defined in -[src/types/outsideExecution.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L29) +[src/types/outsideExecution.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L29) --- @@ -35,7 +35,7 @@ custom_edit_url: null #### Defined in -[src/types/outsideExecution.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L30) +[src/types/outsideExecution.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L30) --- @@ -45,4 +45,4 @@ custom_edit_url: null #### Defined in -[src/types/outsideExecution.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/outsideExecution.ts#L31) +[src/types/outsideExecution.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L31) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.PaymasterDetails.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.PaymasterDetails.md similarity index 85% rename from www/versioned_docs/version-7.6.2/API/interfaces/types.PaymasterDetails.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.PaymasterDetails.md index 8436c0063..dbf3159ae 100644 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.PaymasterDetails.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.PaymasterDetails.md @@ -15,7 +15,7 @@ custom_edit_url: null #### Defined in -[src/types/account.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L55) +[src/types/account.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L55) --- @@ -25,7 +25,7 @@ custom_edit_url: null #### Defined in -[src/types/account.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L56) +[src/types/account.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L56) --- @@ -35,4 +35,4 @@ custom_edit_url: null #### Defined in -[src/types/account.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L57) +[src/types/account.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L57) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.PaymasterOptions.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.PaymasterOptions.md similarity index 85% rename from www/versioned_docs/version-7.6.2/API/interfaces/types.PaymasterOptions.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.PaymasterOptions.md index 264de50ae..f6f5fcf06 100644 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.PaymasterOptions.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.PaymasterOptions.md @@ -25,7 +25,7 @@ PaymasterRpcOptions.nodeUrl #### Defined in -[src/types/paymaster/configuration.ts:6](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/configuration.ts#L6) +[src/types/paymaster/configuration.ts:6](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/configuration.ts#L6) --- @@ -39,7 +39,7 @@ PaymasterRpcOptions.default #### Defined in -[src/types/paymaster/configuration.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/configuration.ts#L7) +[src/types/paymaster/configuration.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/configuration.ts#L7) --- @@ -53,7 +53,7 @@ PaymasterRpcOptions.headers #### Defined in -[src/types/paymaster/configuration.ts:8](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/configuration.ts#L8) +[src/types/paymaster/configuration.ts:8](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/configuration.ts#L8) --- @@ -82,4 +82,4 @@ PaymasterRpcOptions.baseFetch #### Defined in -[src/types/paymaster/configuration.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/configuration.ts#L9) +[src/types/paymaster/configuration.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/configuration.ts#L9) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.PaymasterTimeBounds.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.PaymasterTimeBounds.md similarity index 79% rename from www/versioned_docs/version-7.6.2/API/interfaces/types.PaymasterTimeBounds.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.PaymasterTimeBounds.md index f5d6d9513..06c3a0eef 100644 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.PaymasterTimeBounds.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.PaymasterTimeBounds.md @@ -15,7 +15,7 @@ custom_edit_url: null #### Defined in -[src/types/paymaster/response.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L98) +[src/types/paymaster/response.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L98) --- @@ -25,4 +25,4 @@ custom_edit_url: null #### Defined in -[src/types/paymaster/response.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L99) +[src/types/paymaster/response.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L99) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.Program.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.Program.md similarity index 83% rename from www/versioned_docs/version-7.6.2/API/interfaces/types.Program.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.Program.md index 6dfad978c..ed8ad6d2d 100644 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.Program.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.Program.md @@ -15,7 +15,7 @@ custom_edit_url: null #### Defined in -[src/types/lib/contract/legacy.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L38) +[src/types/lib/contract/legacy.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L38) --- @@ -25,7 +25,7 @@ custom_edit_url: null #### Defined in -[src/types/lib/contract/legacy.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L39) +[src/types/lib/contract/legacy.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L39) --- @@ -35,7 +35,7 @@ custom_edit_url: null #### Defined in -[src/types/lib/contract/legacy.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L40) +[src/types/lib/contract/legacy.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L40) --- @@ -45,7 +45,7 @@ custom_edit_url: null #### Defined in -[src/types/lib/contract/legacy.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L41) +[src/types/lib/contract/legacy.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L41) --- @@ -55,7 +55,7 @@ custom_edit_url: null #### Defined in -[src/types/lib/contract/legacy.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L42) +[src/types/lib/contract/legacy.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L42) --- @@ -65,7 +65,7 @@ custom_edit_url: null #### Defined in -[src/types/lib/contract/legacy.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L56) +[src/types/lib/contract/legacy.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L56) --- @@ -75,7 +75,7 @@ custom_edit_url: null #### Defined in -[src/types/lib/contract/legacy.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L57) +[src/types/lib/contract/legacy.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L57) --- @@ -85,7 +85,7 @@ custom_edit_url: null #### Defined in -[src/types/lib/contract/legacy.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L58) +[src/types/lib/contract/legacy.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L58) --- @@ -95,7 +95,7 @@ custom_edit_url: null #### Defined in -[src/types/lib/contract/legacy.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L140) +[src/types/lib/contract/legacy.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L140) --- @@ -105,4 +105,4 @@ custom_edit_url: null #### Defined in -[src/types/lib/contract/legacy.ts:146](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L146) +[src/types/lib/contract/legacy.ts:146](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L146) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.ProviderOptions.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.ProviderOptions.md similarity index 81% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.ProviderOptions.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.ProviderOptions.md index a55b4638e..4769b2f7b 100644 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.ProviderOptions.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.ProviderOptions.md @@ -25,7 +25,7 @@ RpcProviderOptions.nodeUrl #### Defined in -[src/provider/types/configuration.type.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L13) +[src/provider/types/configuration.type.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L13) --- @@ -39,7 +39,7 @@ RpcProviderOptions.retries #### Defined in -[src/provider/types/configuration.type.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L14) +[src/provider/types/configuration.type.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L14) --- @@ -53,7 +53,7 @@ RpcProviderOptions.transactionRetryIntervalFallback #### Defined in -[src/provider/types/configuration.type.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L15) +[src/provider/types/configuration.type.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L15) --- @@ -67,7 +67,7 @@ RpcProviderOptions.headers #### Defined in -[src/provider/types/configuration.type.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L16) +[src/provider/types/configuration.type.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L16) --- @@ -81,7 +81,7 @@ RpcProviderOptions.blockIdentifier #### Defined in -[src/provider/types/configuration.type.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L17) +[src/provider/types/configuration.type.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L17) --- @@ -95,7 +95,7 @@ RpcProviderOptions.chainId #### Defined in -[src/provider/types/configuration.type.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L18) +[src/provider/types/configuration.type.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L18) --- @@ -109,7 +109,7 @@ RpcProviderOptions.specVersion #### Defined in -[src/provider/types/configuration.type.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L19) +[src/provider/types/configuration.type.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L19) --- @@ -123,7 +123,7 @@ RpcProviderOptions.default #### Defined in -[src/provider/types/configuration.type.ts:20](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L20) +[src/provider/types/configuration.type.ts:20](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L20) --- @@ -137,7 +137,7 @@ RpcProviderOptions.waitMode #### Defined in -[src/provider/types/configuration.type.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L21) +[src/provider/types/configuration.type.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L21) --- @@ -166,7 +166,7 @@ RpcProviderOptions.baseFetch #### Defined in -[src/provider/types/configuration.type.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L22) +[src/provider/types/configuration.type.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L22) --- @@ -180,7 +180,7 @@ RpcProviderOptions.feeMarginPercentage #### Defined in -[src/provider/types/configuration.type.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L23) +[src/provider/types/configuration.type.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L23) --- @@ -194,4 +194,4 @@ RpcProviderOptions.batch #### Defined in -[src/provider/types/configuration.type.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/provider/types/configuration.type.ts#L24) +[src/provider/types/configuration.type.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L24) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.BLOCK_NOT_FOUND.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.BLOCK_NOT_FOUND.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.BLOCK_NOT_FOUND.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.BLOCK_NOT_FOUND.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_ALREADY_DECLARED.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_ALREADY_DECLARED.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_ALREADY_DECLARED.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_ALREADY_DECLARED.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_HASH_NOT_FOUND.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_HASH_NOT_FOUND.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_HASH_NOT_FOUND.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CLASS_HASH_NOT_FOUND.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILATION_FAILED.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILATION_FAILED.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILATION_FAILED.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILATION_FAILED.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILED_CLASS_HASH_MISMATCH.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILED_CLASS_HASH_MISMATCH.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILED_CLASS_HASH_MISMATCH.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.COMPILED_CLASS_HASH_MISMATCH.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_ERROR.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_ERROR.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_ERROR.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_ERROR.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_NOT_FOUND.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_NOT_FOUND.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_NOT_FOUND.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.CONTRACT_NOT_FOUND.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.DUPLICATE_TX.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.DUPLICATE_TX.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.DUPLICATE_TX.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.DUPLICATE_TX.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.FAILED_TO_RECEIVE_TXN.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.FAILED_TO_RECEIVE_TXN.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.FAILED_TO_RECEIVE_TXN.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.FAILED_TO_RECEIVE_TXN.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_ACCOUNT_BALANCE.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_ACCOUNT_BALANCE.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_ACCOUNT_BALANCE.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_ACCOUNT_BALANCE.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_MAX_FEE.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_MAX_FEE.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_MAX_FEE.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INSUFFICIENT_MAX_FEE.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_BLOCK_HASH.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_BLOCK_HASH.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_BLOCK_HASH.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_BLOCK_HASH.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CALL_DATA.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CALL_DATA.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CALL_DATA.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CALL_DATA.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CONTINUATION_TOKEN.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CONTINUATION_TOKEN.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CONTINUATION_TOKEN.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_CONTINUATION_TOKEN.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_MESSAGE_SELECTOR.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_MESSAGE_SELECTOR.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_MESSAGE_SELECTOR.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_MESSAGE_SELECTOR.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TRANSACTION_NONCE.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TRANSACTION_NONCE.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TRANSACTION_NONCE.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TRANSACTION_NONCE.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TXN_INDEX.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TXN_INDEX.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TXN_INDEX.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.INVALID_TXN_INDEX.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NON_ACCOUNT.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NON_ACCOUNT.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NON_ACCOUNT.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NON_ACCOUNT.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_BLOCKS.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_BLOCKS.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_BLOCKS.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_BLOCKS.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_TRACE_AVAILABLE.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_TRACE_AVAILABLE.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_TRACE_AVAILABLE.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.NO_TRACE_AVAILABLE.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.PAGE_SIZE_TOO_BIG.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.PAGE_SIZE_TOO_BIG.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.PAGE_SIZE_TOO_BIG.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.PAGE_SIZE_TOO_BIG.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TOO_MANY_KEYS_IN_FILTER.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TOO_MANY_KEYS_IN_FILTER.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TOO_MANY_KEYS_IN_FILTER.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TOO_MANY_KEYS_IN_FILTER.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TRANSACTION_EXECUTION_ERROR.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TRANSACTION_EXECUTION_ERROR.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TRANSACTION_EXECUTION_ERROR.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TRANSACTION_EXECUTION_ERROR.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TXN_HASH_NOT_FOUND.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TXN_HASH_NOT_FOUND.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TXN_HASH_NOT_FOUND.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.TXN_HASH_NOT_FOUND.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNEXPECTED_ERROR.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNEXPECTED_ERROR.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNEXPECTED_ERROR.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNEXPECTED_ERROR.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_CONTRACT_CLASS_VERSION.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_CONTRACT_CLASS_VERSION.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_CONTRACT_CLASS_VERSION.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_CONTRACT_CLASS_VERSION.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_TX_VERSION.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_TX_VERSION.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_TX_VERSION.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.UNSUPPORTED_TX_VERSION.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.VALIDATION_FAILURE.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.VALIDATION_FAILURE.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.API.Errors.VALIDATION_FAILURE.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.API.Errors.VALIDATION_FAILURE.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.API_VERSION_NOT_SUPPORTED.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AccountDeploymentData.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AccountDeploymentData.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AccountDeploymentData.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AccountDeploymentData.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionParameters.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionParameters.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionParameters.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionParameters.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddDeclareTransactionResult.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionParameters.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionParameters.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionParameters.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionParameters.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddInvokeTransactionResult.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddStarknetChainParameters.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddStarknetChainParameters.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddStarknetChainParameters.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.AddStarknetChainParameters.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.ApiVersionRequest.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.INVALID_REQUEST_PAYLOAD.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.NOT_ERC20.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.NOT_ERC20.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.NOT_ERC20.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.NOT_ERC20.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RequestAccountsParameters.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RequestAccountsParameters.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RequestAccountsParameters.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RequestAccountsParameters.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.RpcTypeToMessageMap.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetDomain.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetDomain.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetDomain.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetDomain.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.StarknetWindowObject.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.SwitchStarknetChainParameters.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.SwitchStarknetChainParameters.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.SwitchStarknetChainParameters.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.SwitchStarknetChainParameters.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNKNOWN_ERROR.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNLISTED_NETWORK.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNLISTED_NETWORK.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNLISTED_NETWORK.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.UNLISTED_NETWORK.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.USER_REFUSED_OP.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WalletEventHandlers.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WatchAssetParameters.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WatchAssetParameters.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WatchAssetParameters.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC07.WALLET_API.WatchAssetParameters.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.BLOCK_NOT_FOUND.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_ALREADY_DECLARED.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_ALREADY_DECLARED.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_ALREADY_DECLARED.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_ALREADY_DECLARED.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_HASH_NOT_FOUND.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_HASH_NOT_FOUND.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_HASH_NOT_FOUND.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.CLASS_HASH_NOT_FOUND.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_ERROR.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_ERROR.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_ERROR.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_ERROR.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_FAILED.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_FAILED.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_FAILED.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.COMPILATION_FAILED.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.COMPILED_CLASS_HASH_MISMATCH.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.COMPILED_CLASS_HASH_MISMATCH.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.COMPILED_CLASS_HASH_MISMATCH.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.COMPILED_CLASS_HASH_MISMATCH.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_CLASS_SIZE_IS_TOO_LARGE.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_ERROR.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_ERROR.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_ERROR.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_ERROR.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_NOT_FOUND.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_NOT_FOUND.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_NOT_FOUND.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.CONTRACT_NOT_FOUND.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.DUPLICATE_TX.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.DUPLICATE_TX.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.DUPLICATE_TX.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.DUPLICATE_TX.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.ENTRYPOINT_NOT_FOUND.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.ENTRYPOINT_NOT_FOUND.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.ENTRYPOINT_NOT_FOUND.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.ENTRYPOINT_NOT_FOUND.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.FAILED_TO_RECEIVE_TXN.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.FAILED_TO_RECEIVE_TXN.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.FAILED_TO_RECEIVE_TXN.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.FAILED_TO_RECEIVE_TXN.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_ACCOUNT_BALANCE.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_ACCOUNT_BALANCE.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_ACCOUNT_BALANCE.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_ACCOUNT_BALANCE.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_RESOURCES_FOR_VALIDATE.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_RESOURCES_FOR_VALIDATE.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_RESOURCES_FOR_VALIDATE.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.INSUFFICIENT_RESOURCES_FOR_VALIDATE.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_CONTINUATION_TOKEN.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_CONTINUATION_TOKEN.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_CONTINUATION_TOKEN.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_CONTINUATION_TOKEN.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_SUBSCRIPTION_ID.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TRANSACTION_NONCE.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TRANSACTION_NONCE.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TRANSACTION_NONCE.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TRANSACTION_NONCE.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TXN_INDEX.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TXN_INDEX.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TXN_INDEX.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.INVALID_TXN_INDEX.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.NON_ACCOUNT.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.NON_ACCOUNT.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.NON_ACCOUNT.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.NON_ACCOUNT.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.NO_BLOCKS.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.NO_BLOCKS.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.NO_BLOCKS.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.NO_BLOCKS.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.NO_TRACE_AVAILABLE.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.NO_TRACE_AVAILABLE.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.NO_TRACE_AVAILABLE.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.NO_TRACE_AVAILABLE.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.PAGE_SIZE_TOO_BIG.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.PAGE_SIZE_TOO_BIG.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.PAGE_SIZE_TOO_BIG.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.PAGE_SIZE_TOO_BIG.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.STORAGE_PROOF_NOT_SUPPORTED.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.STORAGE_PROOF_NOT_SUPPORTED.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.STORAGE_PROOF_NOT_SUPPORTED.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.STORAGE_PROOF_NOT_SUPPORTED.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_ADDRESSES_IN_FILTER.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_BLOCKS_BACK.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.TOO_MANY_KEYS_IN_FILTER.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.TRANSACTION_EXECUTION_ERROR.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.TRANSACTION_EXECUTION_ERROR.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.TRANSACTION_EXECUTION_ERROR.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.TRANSACTION_EXECUTION_ERROR.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.TXN_HASH_NOT_FOUND.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.TXN_HASH_NOT_FOUND.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.TXN_HASH_NOT_FOUND.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.TXN_HASH_NOT_FOUND.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.UNEXPECTED_ERROR.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.UNEXPECTED_ERROR.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.UNEXPECTED_ERROR.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.UNEXPECTED_ERROR.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_CONTRACT_CLASS_VERSION.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_CONTRACT_CLASS_VERSION.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_CONTRACT_CLASS_VERSION.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_CONTRACT_CLASS_VERSION.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_TX_VERSION.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_TX_VERSION.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_TX_VERSION.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.UNSUPPORTED_TX_VERSION.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.VALIDATION_FAILURE.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.VALIDATION_FAILURE.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.API.VALIDATION_FAILURE.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.API.VALIDATION_FAILURE.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.CLASS_HASH_NOT_SUPPORTED.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.CLASS_HASH_NOT_SUPPORTED.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.CLASS_HASH_NOT_SUPPORTED.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.CLASS_HASH_NOT_SUPPORTED.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ADDRESS.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ADDRESS.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ADDRESS.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ADDRESS.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_CLASS_HASH.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_CLASS_HASH.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_CLASS_HASH.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_CLASS_HASH.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_DEPLOYMENT_DATA.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_DEPLOYMENT_DATA.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_DEPLOYMENT_DATA.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_DEPLOYMENT_DATA.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ID.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ID.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ID.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_ID.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_SIGNATURE.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_SIGNATURE.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_SIGNATURE.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_SIGNATURE.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_TIME_BOUNDS.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_TIME_BOUNDS.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_TIME_BOUNDS.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.INVALID_TIME_BOUNDS.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.MAX_AMOUNT_TOO_LOW.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.MAX_AMOUNT_TOO_LOW.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.MAX_AMOUNT_TOO_LOW.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.MAX_AMOUNT_TOO_LOW.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TOKEN_NOT_SUPPORTED.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TOKEN_NOT_SUPPORTED.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TOKEN_NOT_SUPPORTED.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TOKEN_NOT_SUPPORTED.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TRANSACTION_EXECUTION_ERROR.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TRANSACTION_EXECUTION_ERROR.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TRANSACTION_EXECUTION_ERROR.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.TRANSACTION_EXECUTION_ERROR.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.UNKNOWN_ERROR.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.UNKNOWN_ERROR.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.UNKNOWN_ERROR.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.PAYMASTER_API.UNKNOWN_ERROR.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ACCOUNT_ALREADY_DEPLOYED.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.API_VERSION_NOT_SUPPORTED.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AccountDeploymentData.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AccountDeploymentData.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AccountDeploymentData.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AccountDeploymentData.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionParameters.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionParameters.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionParameters.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionParameters.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionResult.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionResult.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionResult.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddDeclareTransactionResult.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionParameters.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionParameters.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionParameters.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionParameters.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionResult.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionResult.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionResult.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddInvokeTransactionResult.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddStarknetChainParameters.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddStarknetChainParameters.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddStarknetChainParameters.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.AddStarknetChainParameters.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.ApiVersionRequest.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.INVALID_REQUEST_PAYLOAD.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.NOT_ERC20.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.NOT_ERC20.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.NOT_ERC20.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.NOT_ERC20.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RequestAccountsParameters.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RequestAccountsParameters.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RequestAccountsParameters.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RequestAccountsParameters.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.RpcTypeToMessageMap.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetDomain.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetDomain.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetDomain.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetDomain.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetWindowObject.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetWindowObject.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetWindowObject.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.StarknetWindowObject.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.SwitchStarknetChainParameters.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.SwitchStarknetChainParameters.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.SwitchStarknetChainParameters.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.SwitchStarknetChainParameters.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.TypedData.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.TypedData.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.TypedData.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.TypedData.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNKNOWN_ERROR.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNLISTED_NETWORK.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNLISTED_NETWORK.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNLISTED_NETWORK.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.UNLISTED_NETWORK.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.USER_REFUSED_OP.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WalletEventHandlers.md diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WatchAssetParameters.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WatchAssetParameters.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WatchAssetParameters.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.RPC.RPCSPEC08.WALLET_API.WatchAssetParameters.md diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.TokenData.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.TokenData.md similarity index 76% rename from www/versioned_docs/version-7.6.2/API/interfaces/types.TokenData.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.TokenData.md index f067a68e8..65dba4d42 100644 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.TokenData.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.TokenData.md @@ -15,7 +15,7 @@ custom_edit_url: null #### Defined in -[src/types/paymaster/response.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L42) +[src/types/paymaster/response.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L42) --- @@ -25,7 +25,7 @@ custom_edit_url: null #### Defined in -[src/types/paymaster/response.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L43) +[src/types/paymaster/response.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L43) --- @@ -35,4 +35,4 @@ custom_edit_url: null #### Defined in -[src/types/paymaster/response.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L44) +[src/types/paymaster/response.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L44) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.Uint256.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.Uint256.md similarity index 84% rename from www/versioned_docs/version-7.6.2/API/interfaces/types.Uint256.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.Uint256.md index 793ba6aed..00918c566 100644 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.Uint256.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.Uint256.md @@ -17,7 +17,7 @@ Represents an integer in the range [0, 2^256) #### Defined in -[src/types/lib/index.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L34) +[src/types/lib/index.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L34) --- @@ -27,4 +27,4 @@ Represents an integer in the range [0, 2^256) #### Defined in -[src/types/lib/index.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L36) +[src/types/lib/index.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L36) diff --git a/www/versioned_docs/version-7.5.1/API/interfaces/types.Uint512.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.Uint512.md similarity index 82% rename from www/versioned_docs/version-7.5.1/API/interfaces/types.Uint512.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.Uint512.md index d52b9117b..268d40142 100644 --- a/www/versioned_docs/version-7.5.1/API/interfaces/types.Uint512.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.Uint512.md @@ -17,7 +17,7 @@ Represents an integer in the range [0, 2^256) #### Defined in -[src/types/lib/index.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L44) +[src/types/lib/index.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L44) --- @@ -27,7 +27,7 @@ Represents an integer in the range [0, 2^256) #### Defined in -[src/types/lib/index.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L45) +[src/types/lib/index.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L45) --- @@ -37,7 +37,7 @@ Represents an integer in the range [0, 2^256) #### Defined in -[src/types/lib/index.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L46) +[src/types/lib/index.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L46) --- @@ -47,4 +47,4 @@ Represents an integer in the range [0, 2^256) #### Defined in -[src/types/lib/index.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/lib/index.ts#L48) +[src/types/lib/index.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L48) diff --git a/www/versioned_docs/version-7.6.2/API/interfaces/types.UniversalDetails.md b/www/versioned_docs/version-7.6.4/API/interfaces/types.UniversalDetails.md similarity index 84% rename from www/versioned_docs/version-7.6.2/API/interfaces/types.UniversalDetails.md rename to www/versioned_docs/version-7.6.4/API/interfaces/types.UniversalDetails.md index fb833fe2b..933e48288 100644 --- a/www/versioned_docs/version-7.6.2/API/interfaces/types.UniversalDetails.md +++ b/www/versioned_docs/version-7.6.4/API/interfaces/types.UniversalDetails.md @@ -21,7 +21,7 @@ custom_edit_url: null #### Defined in -[src/types/account.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L38) +[src/types/account.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L38) --- @@ -31,7 +31,7 @@ custom_edit_url: null #### Defined in -[src/types/account.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L39) +[src/types/account.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L39) --- @@ -43,7 +43,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L43) +[src/types/account.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L43) --- @@ -53,7 +53,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L44) +[src/types/account.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L44) --- @@ -63,7 +63,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L45) +[src/types/account.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L45) --- @@ -73,7 +73,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L46) +[src/types/account.ts:46](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L46) --- @@ -83,7 +83,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L47) +[src/types/account.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L47) --- @@ -93,7 +93,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L48) +[src/types/account.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L48) --- @@ -103,7 +103,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L49) +[src/types/account.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L49) --- @@ -113,7 +113,7 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L50) +[src/types/account.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L50) --- @@ -123,4 +123,4 @@ Max fee to pay for V2 transaction #### Defined in -[src/types/account.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L51) +[src/types/account.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L51) diff --git a/www/versioned_docs/version-7.6.2/API/modules.md b/www/versioned_docs/version-7.6.4/API/modules.md similarity index 95% rename from www/versioned_docs/version-7.6.2/API/modules.md rename to www/versioned_docs/version-7.6.4/API/modules.md index 6b9aeed83..9797c54d3 100644 --- a/www/versioned_docs/version-7.6.2/API/modules.md +++ b/www/versioned_docs/version-7.6.4/API/modules.md @@ -1,6 +1,6 @@ --- id: 'modules' -title: 'Starknet.js API - v7.6.2' +title: 'Starknet.js API - v7.6.4' sidebar_label: 'Exports' sidebar_position: 0.5 custom_edit_url: null @@ -1629,7 +1629,7 @@ Re-exports [PaymasterTimeBounds](interfaces/types.PaymasterTimeBounds.md) #### Defined in -[src/contract/default.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L35) +[src/contract/default.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L35) --- @@ -1651,7 +1651,7 @@ Re-exports [PaymasterTimeBounds](interfaces/types.PaymasterTimeBounds.md) #### Defined in -[src/contract/contractFactory.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/contractFactory.ts#L15) +[src/contract/contractFactory.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/contractFactory.ts#L15) --- @@ -1674,7 +1674,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/channel/ws/ws_0_8.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/channel/ws/ws_0_8.ts#L45) +[src/channel/ws/ws_0_8.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/channel/ws/ws_0_8.ts#L45) --- @@ -1693,7 +1693,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/batch/index.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/batch/index.ts#L5) +[src/utils/batch/index.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/batch/index.ts#L5) --- @@ -1703,7 +1703,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/calldata/enum/CairoCustomEnum.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoCustomEnum.ts#L3) +[src/utils/calldata/enum/CairoCustomEnum.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoCustomEnum.ts#L3) --- @@ -1713,9 +1713,9 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/calldata/enum/CairoOption.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoOption.ts#L4) +[src/utils/calldata/enum/CairoOption.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoOption.ts#L4) -[src/utils/calldata/enum/CairoOption.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoOption.ts#L9) +[src/utils/calldata/enum/CairoOption.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoOption.ts#L9) --- @@ -1725,9 +1725,9 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/calldata/enum/CairoResult.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoResult.ts#L4) +[src/utils/calldata/enum/CairoResult.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoResult.ts#L4) -[src/utils/calldata/enum/CairoResult.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoResult.ts#L9) +[src/utils/calldata/enum/CairoResult.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoResult.ts#L9) --- @@ -1737,9 +1737,9 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/global/logger.type.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/logger.type.ts#L3) +[src/global/logger.type.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/logger.type.ts#L3) -[src/global/logger.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/logger.type.ts#L12) +[src/global/logger.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/logger.type.ts#L12) --- @@ -1749,7 +1749,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/global/logger.type.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/logger.type.ts#L14) +[src/global/logger.type.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/logger.type.ts#L14) ## Variables @@ -1759,7 +1759,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/paymaster/index.ts:6](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/paymaster/index.ts#L6) +[src/paymaster/index.ts:6](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/paymaster/index.ts#L6) --- @@ -1769,7 +1769,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/provider/index.ts:8](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/index.ts#L8) +[src/provider/index.ts:8](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/index.ts#L8) --- @@ -1779,7 +1779,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/cairoDataTypes/uint256.ts:10](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L10) +[src/utils/cairoDataTypes/uint256.ts:10](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L10) --- @@ -1789,7 +1789,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/cairoDataTypes/uint256.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L11) +[src/utils/cairoDataTypes/uint256.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L11) --- @@ -1799,7 +1799,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/cairoDataTypes/uint256.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L12) +[src/utils/cairoDataTypes/uint256.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L12) --- @@ -1809,7 +1809,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/cairoDataTypes/uint256.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L13) +[src/utils/cairoDataTypes/uint256.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L13) --- @@ -1819,7 +1819,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/cairoDataTypes/uint256.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L14) +[src/utils/cairoDataTypes/uint256.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L14) --- @@ -1829,7 +1829,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/cairoDataTypes/uint256.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L15) +[src/utils/cairoDataTypes/uint256.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L15) --- @@ -1839,7 +1839,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/cairoDataTypes/uint256.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint256.ts#L16) +[src/utils/cairoDataTypes/uint256.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint256.ts#L16) --- @@ -1849,7 +1849,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/cairoDataTypes/uint512.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L11) +[src/utils/cairoDataTypes/uint512.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L11) --- @@ -1859,7 +1859,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/cairoDataTypes/uint512.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L12) +[src/utils/cairoDataTypes/uint512.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L12) --- @@ -1869,7 +1869,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/cairoDataTypes/uint512.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/cairoDataTypes/uint512.ts#L13) +[src/utils/cairoDataTypes/uint512.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/cairoDataTypes/uint512.ts#L13) --- @@ -1886,9 +1886,9 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/calldata/enum/CairoOption.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoOption.ts#L4) +[src/utils/calldata/enum/CairoOption.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoOption.ts#L4) -[src/utils/calldata/enum/CairoOption.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoOption.ts#L9) +[src/utils/calldata/enum/CairoOption.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoOption.ts#L9) --- @@ -1905,9 +1905,9 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/utils/calldata/enum/CairoResult.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoResult.ts#L4) +[src/utils/calldata/enum/CairoResult.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoResult.ts#L4) -[src/utils/calldata/enum/CairoResult.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/enum/CairoResult.ts#L9) +[src/utils/calldata/enum/CairoResult.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/enum/CairoResult.ts#L9) --- @@ -1917,7 +1917,7 @@ Options for configuring the WebSocketChannel. #### Defined in -[src/global/config.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/config.ts#L69) +[src/global/config.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/config.ts#L69) --- @@ -1937,7 +1937,7 @@ FATAL: 1, #### Defined in -[src/global/logger.ts:166](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/logger.ts#L166) +[src/global/logger.ts:166](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/logger.ts#L166) --- @@ -1958,9 +1958,9 @@ FATAL: 1, #### Defined in -[src/global/logger.type.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/logger.type.ts#L3) +[src/global/logger.type.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/logger.type.ts#L3) -[src/global/logger.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/logger.type.ts#L12) +[src/global/logger.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/logger.type.ts#L12) ## Functions @@ -1981,7 +1981,7 @@ FATAL: 1, #### Defined in -[src/contract/default.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/contract/default.ts#L96) +[src/contract/default.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/contract/default.ts#L96) --- @@ -2020,7 +2020,7 @@ const result = getLedgerPathBuffer111(0); #### Defined in -[src/signer/ledgerSigner111.ts:362](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner111.ts#L362) +[src/signer/ledgerSigner111.ts:362](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner111.ts#L362) --- @@ -2058,7 +2058,7 @@ const result = getLedgerPathBuffer211(0); #### Defined in -[src/signer/ledgerSigner221.ts:644](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/signer/ledgerSigner221.ts#L644) +[src/signer/ledgerSigner221.ts:644](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/signer/ledgerSigner221.ts#L644) --- @@ -2101,7 +2101,7 @@ const result = provider.isV3Tx(invocation); #### Defined in -[src/utils/resolve.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/resolve.ts#L35) +[src/utils/resolve.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/resolve.ts#L35) --- @@ -2136,7 +2136,7 @@ const result = provider.isVersion('0.7', '0.7.1'); #### Defined in -[src/utils/resolve.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/resolve.ts#L56) +[src/utils/resolve.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/resolve.ts#L56) --- @@ -2160,7 +2160,7 @@ version is "0.7.1" \| "0.8.1" #### Defined in -[src/utils/resolve.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/resolve.ts#L66) +[src/utils/resolve.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/resolve.ts#L66) --- @@ -2183,7 +2183,7 @@ ex. 0.8.1 -> 0.8.\* #### Defined in -[src/utils/resolve.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/resolve.ts#L79) +[src/utils/resolve.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/resolve.ts#L79) --- @@ -2206,7 +2206,7 @@ ex. '0.8.1' -> 'v0_8', '0.8' -> 'v0_8' #### Defined in -[src/utils/resolve.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/resolve.ts#L93) +[src/utils/resolve.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/resolve.ts#L93) --- @@ -2238,7 +2238,7 @@ const result = provider.isPendingBlock(block); #### Defined in -[src/utils/resolve.ts:109](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/resolve.ts#L109) +[src/utils/resolve.ts:109](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/resolve.ts#L109) --- @@ -2271,7 +2271,7 @@ const result = provider.isPendingTransaction(txR); #### Defined in -[src/utils/resolve.ts:125](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/resolve.ts#L125) +[src/utils/resolve.ts:125](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/resolve.ts#L125) --- @@ -2303,7 +2303,7 @@ const result = provider.isPendingStateUpdate(state); #### Defined in -[src/utils/resolve.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/resolve.ts#L140) +[src/utils/resolve.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/resolve.ts#L140) --- @@ -2346,7 +2346,7 @@ const result = [ #### Defined in -[src/utils/address.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/address.ts#L28) +[src/utils/address.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/address.ts#L28) --- @@ -2393,7 +2393,7 @@ const result = [ #### Defined in -[src/utils/address.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/address.ts#L52) +[src/utils/address.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/address.ts#L52) --- @@ -2426,7 +2426,7 @@ const result = getChecksumAddress(address); #### Defined in -[src/utils/address.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/address.ts#L77) +[src/utils/address.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/address.ts#L77) --- @@ -2459,7 +2459,7 @@ const result = validateChecksumAddress(address); #### Defined in -[src/utils/address.ts:107](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/address.ts#L107) +[src/utils/address.ts:107](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/address.ts#L107) --- @@ -2526,7 +2526,7 @@ const parsedField = parseCalldataField(argsIterator, abiEntry, abiStructs, abiEn #### Defined in -[src/utils/calldata/requestParser.ts:352](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/calldata/requestParser.ts#L352) +[src/utils/calldata/requestParser.ts:352](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/requestParser.ts#L352) --- @@ -2557,7 +2557,7 @@ const result = isSierra(contract); #### Defined in -[src/utils/contract.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/contract.ts#L26) +[src/utils/contract.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/contract.ts#L26) --- @@ -2597,7 +2597,7 @@ const result = extractContractHashes(contract); #### Defined in -[src/utils/contract.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/contract.ts#L50) +[src/utils/contract.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/contract.ts#L50) --- @@ -2619,7 +2619,7 @@ Helper to redeclare response Cairo0 contract #### Defined in -[src/utils/contract.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/contract.ts#L75) +[src/utils/contract.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/contract.ts#L75) --- @@ -2649,4 +2649,4 @@ units('1', 'strk'); // '1000000000000000000' fri #### Defined in -[src/utils/units.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/units.ts#L11) +[src/utils/units.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/units.ts#L11) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/RPC07.md b/www/versioned_docs/version-7.6.4/API/namespaces/RPC07.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/RPC07.md rename to www/versioned_docs/version-7.6.4/API/namespaces/RPC07.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/RPC08.md b/www/versioned_docs/version-7.6.4/API/namespaces/RPC08.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/RPC08.md rename to www/versioned_docs/version-7.6.4/API/namespaces/RPC08.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/_category_.yml b/www/versioned_docs/version-7.6.4/API/namespaces/_category_.yml similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/_category_.yml rename to www/versioned_docs/version-7.6.4/API/namespaces/_category_.yml diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/byteArray.md b/www/versioned_docs/version-7.6.4/API/namespaces/byteArray.md similarity index 92% rename from www/versioned_docs/version-7.5.1/API/namespaces/byteArray.md rename to www/versioned_docs/version-7.6.4/API/namespaces/byteArray.md index 5d5116e8a..6ea0df89b 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/byteArray.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/byteArray.md @@ -39,7 +39,7 @@ const result: String = stringFromByteArray(myByteArray); // ABCDEFGHI #### Defined in -[src/utils/calldata/byteArray.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/byteArray.ts#L19) +[src/utils/calldata/byteArray.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/byteArray.ts#L19) --- @@ -76,4 +76,4 @@ pending_word_len: 9 #### Defined in -[src/utils/calldata/byteArray.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/byteArray.ts#L48) +[src/utils/calldata/byteArray.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/byteArray.ts#L48) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/cairo.md b/www/versioned_docs/version-7.6.4/API/namespaces/cairo.md similarity index 89% rename from www/versioned_docs/version-7.5.1/API/namespaces/cairo.md rename to www/versioned_docs/version-7.6.4/API/namespaces/cairo.md index c7cf35846..6d29a800b 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/cairo.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/cairo.md @@ -34,7 +34,7 @@ const isCairo1: boolean = isCairo1Abi(myAbi: Abi); #### Defined in -[src/utils/calldata/cairo.ts:179](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L179) +[src/utils/calldata/cairo.ts:179](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L179) --- @@ -65,7 +65,7 @@ const result = cairo.isTypeNonZero('core::zeroable::NonZero::'); #### Defined in -[src/utils/calldata/cairo.ts:198](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L198) +[src/utils/calldata/cairo.ts:198](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L198) --- @@ -90,7 +90,7 @@ string #### Defined in -[src/utils/calldata/cairo.ts:208](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L208) +[src/utils/calldata/cairo.ts:208](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L208) --- @@ -114,7 +114,7 @@ format: felt-string #### Defined in -[src/utils/calldata/cairo.ts:277](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L277) +[src/utils/calldata/cairo.ts:277](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L277) --- @@ -138,7 +138,7 @@ Checks if the given name ends with "\_len". #### Defined in -[src/utils/calldata/cairo.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L25) +[src/utils/calldata/cairo.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L25) --- @@ -162,7 +162,7 @@ Checks if a given type is felt. #### Defined in -[src/utils/calldata/cairo.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L32) +[src/utils/calldata/cairo.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L32) --- @@ -186,7 +186,7 @@ Checks if the given type is an array type. #### Defined in -[src/utils/calldata/cairo.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L39) +[src/utils/calldata/cairo.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L39) --- @@ -210,7 +210,7 @@ Checks if the given type is a tuple type. #### Defined in -[src/utils/calldata/cairo.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L50) +[src/utils/calldata/cairo.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L50) --- @@ -234,7 +234,7 @@ Checks whether a given type is a named tuple. #### Defined in -[src/utils/calldata/cairo.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L57) +[src/utils/calldata/cairo.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L57) --- @@ -259,7 +259,7 @@ Checks if a given type is a struct. #### Defined in -[src/utils/calldata/cairo.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L65) +[src/utils/calldata/cairo.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L65) --- @@ -284,7 +284,7 @@ Checks if a given type is an enum. #### Defined in -[src/utils/calldata/cairo.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L73) +[src/utils/calldata/cairo.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L73) --- @@ -308,7 +308,7 @@ Determines if the given type is an Option type. #### Defined in -[src/utils/calldata/cairo.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L80) +[src/utils/calldata/cairo.ts:80](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L80) --- @@ -332,7 +332,7 @@ Checks whether a given type starts with 'core::result::Result::'. #### Defined in -[src/utils/calldata/cairo.ts:87](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L87) +[src/utils/calldata/cairo.ts:87](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L87) --- @@ -356,7 +356,7 @@ Checks if the given value is a valid Uint type. #### Defined in -[src/utils/calldata/cairo.ts:94](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L94) +[src/utils/calldata/cairo.ts:94](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L94) --- @@ -380,7 +380,7 @@ Checks if the given type is `uint256`. #### Defined in -[src/utils/calldata/cairo.ts:102](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L102) +[src/utils/calldata/cairo.ts:102](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L102) --- @@ -404,7 +404,7 @@ Checks if the given type is a literal type. #### Defined in -[src/utils/calldata/cairo.ts:109](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L109) +[src/utils/calldata/cairo.ts:109](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L109) --- @@ -428,7 +428,7 @@ Checks if the given type is a boolean type. #### Defined in -[src/utils/calldata/cairo.ts:116](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L116) +[src/utils/calldata/cairo.ts:116](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L116) --- @@ -452,7 +452,7 @@ Checks if the provided type is equal to 'core::starknet::contract_address::Contr #### Defined in -[src/utils/calldata/cairo.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L122) +[src/utils/calldata/cairo.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L122) --- @@ -476,7 +476,7 @@ Determines if the given type is an Ethereum address type. #### Defined in -[src/utils/calldata/cairo.ts:129](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L129) +[src/utils/calldata/cairo.ts:129](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L129) --- @@ -500,7 +500,7 @@ Checks if the given type is 'core::bytes_31::bytes31'. #### Defined in -[src/utils/calldata/cairo.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L136) +[src/utils/calldata/cairo.ts:136](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L136) --- @@ -524,7 +524,7 @@ Checks if the given type is equal to the 'core::byte_array::ByteArray'. #### Defined in -[src/utils/calldata/cairo.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L143) +[src/utils/calldata/cairo.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L143) --- @@ -548,7 +548,7 @@ Checks if the given type is equal to the u96 type #### Defined in -[src/utils/calldata/cairo.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L151) +[src/utils/calldata/cairo.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L151) --- @@ -568,7 +568,7 @@ Checks if the given type is equal to the u96 type #### Defined in -[src/utils/calldata/cairo.ts:154](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L154) +[src/utils/calldata/cairo.ts:154](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L154) --- @@ -588,7 +588,7 @@ Checks if the given type is equal to the u96 type #### Defined in -[src/utils/calldata/cairo.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L156) +[src/utils/calldata/cairo.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L156) --- @@ -614,7 +614,7 @@ Works also for core::zeroable::NonZero type. #### Defined in -[src/utils/calldata/cairo.ts:164](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L164) +[src/utils/calldata/cairo.ts:164](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L164) --- @@ -642,7 +642,7 @@ uint256('892349863487563453485768723498'); #### Defined in -[src/utils/calldata/cairo.ts:245](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L245) +[src/utils/calldata/cairo.ts:245](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L245) --- @@ -672,7 +672,7 @@ uint512('345745685892349863487563453485768723498'); #### Defined in -[src/utils/calldata/cairo.ts:258](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L258) +[src/utils/calldata/cairo.ts:258](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L258) --- @@ -700,4 +700,4 @@ tuple(1, '0x101', 16); #### Defined in -[src/utils/calldata/cairo.ts:269](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/calldata/cairo.ts#L269) +[src/utils/calldata/cairo.ts:269](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/calldata/cairo.ts#L269) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/constants.md b/www/versioned_docs/version-7.6.4/API/namespaces/constants.md similarity index 84% rename from www/versioned_docs/version-7.6.2/API/namespaces/constants.md rename to www/versioned_docs/version-7.6.4/API/namespaces/constants.md index 94074e0b5..2a8f11caf 100644 --- a/www/versioned_docs/version-7.6.2/API/namespaces/constants.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/constants.md @@ -16,9 +16,9 @@ Utils #### Defined in -[src/global/constants.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L56) +[src/global/constants.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L56) -[src/global/constants.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L60) +[src/global/constants.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L60) --- @@ -28,9 +28,9 @@ Utils #### Defined in -[src/global/constants.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L63) +[src/global/constants.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L63) -[src/global/constants.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L67) +[src/global/constants.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L67) --- @@ -40,9 +40,9 @@ Utils #### Defined in -[src/global/constants.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L70) +[src/global/constants.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L70) -[src/global/constants.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L74) +[src/global/constants.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L74) --- @@ -52,9 +52,9 @@ Utils #### Defined in -[src/global/constants.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L77) +[src/global/constants.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L77) -[src/global/constants.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L84) +[src/global/constants.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L84) --- @@ -64,9 +64,9 @@ Utils #### Defined in -[src/global/constants.ts:90](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L90) +[src/global/constants.ts:90](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L90) -[src/global/constants.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L96) +[src/global/constants.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L96) --- @@ -76,7 +76,7 @@ Utils #### Defined in -[src/global/constants.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L99) +[src/global/constants.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L99) ## Variables @@ -86,7 +86,7 @@ Utils #### Defined in -[src/utils/encode.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L3) +[src/utils/encode.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L3) --- @@ -98,7 +98,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L12) +[src/global/constants.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L12) --- @@ -121,7 +121,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L19) +[src/global/constants.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L19) --- @@ -131,7 +131,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L21) +[src/global/constants.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L21) --- @@ -141,7 +141,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L22) +[src/global/constants.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L22) --- @@ -151,7 +151,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L23) +[src/global/constants.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L23) --- @@ -161,7 +161,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L24) +[src/global/constants.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L24) --- @@ -171,7 +171,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L25) +[src/global/constants.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L25) --- @@ -181,7 +181,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L28) +[src/global/constants.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L28) --- @@ -191,7 +191,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L29) +[src/global/constants.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L29) --- @@ -208,7 +208,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L33) +[src/global/constants.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L33) --- @@ -225,7 +225,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L34) +[src/global/constants.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L34) --- @@ -242,7 +242,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L35) +[src/global/constants.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L35) --- @@ -259,7 +259,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L37) +[src/global/constants.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L37) --- @@ -269,7 +269,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L42) +[src/global/constants.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L42) --- @@ -279,7 +279,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L43) +[src/global/constants.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L43) --- @@ -289,7 +289,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L45) +[src/global/constants.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L45) --- @@ -299,7 +299,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L50) +[src/global/constants.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L50) --- @@ -309,7 +309,7 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L52) +[src/global/constants.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L52) --- @@ -326,9 +326,9 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L56) +[src/global/constants.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L56) -[src/global/constants.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L60) +[src/global/constants.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L60) --- @@ -345,9 +345,9 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L63) +[src/global/constants.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L63) -[src/global/constants.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L67) +[src/global/constants.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L67) --- @@ -364,9 +364,9 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L70) +[src/global/constants.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L70) -[src/global/constants.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L74) +[src/global/constants.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L74) --- @@ -386,9 +386,9 @@ Cairo Felt support storing max 31 character #### Defined in -[src/global/constants.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L77) +[src/global/constants.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L77) -[src/global/constants.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L84) +[src/global/constants.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L84) --- @@ -409,9 +409,9 @@ dot format rpc versions #### Defined in -[src/global/constants.ts:90](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L90) +[src/global/constants.ts:90](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L90) -[src/global/constants.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L96) +[src/global/constants.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L96) --- @@ -433,7 +433,7 @@ dot format rpc versions #### Defined in -[src/global/constants.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L104) +[src/global/constants.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L104) --- @@ -450,7 +450,7 @@ dot format rpc versions #### Defined in -[src/global/constants.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L138) +[src/global/constants.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L138) --- @@ -467,7 +467,7 @@ dot format rpc versions #### Defined in -[src/global/constants.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L143) +[src/global/constants.ts:143](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L143) --- @@ -488,4 +488,4 @@ dot format rpc versions #### Defined in -[src/global/constants.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/global/constants.ts#L149) +[src/global/constants.ts:149](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/global/constants.ts#L149) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/ec.md b/www/versioned_docs/version-7.6.4/API/namespaces/ec.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/ec.md rename to www/versioned_docs/version-7.6.4/API/namespaces/ec.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/ec.starkCurve.md b/www/versioned_docs/version-7.6.4/API/namespaces/ec.starkCurve.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/ec.starkCurve.md rename to www/versioned_docs/version-7.6.4/API/namespaces/ec.starkCurve.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/ec.starkCurve.poseidonSmall.md b/www/versioned_docs/version-7.6.4/API/namespaces/ec.starkCurve.poseidonSmall.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/ec.starkCurve.poseidonSmall.md rename to www/versioned_docs/version-7.6.4/API/namespaces/ec.starkCurve.poseidonSmall.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/ec.weierstrass.md b/www/versioned_docs/version-7.6.4/API/namespaces/ec.weierstrass.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/ec.weierstrass.md rename to www/versioned_docs/version-7.6.4/API/namespaces/ec.weierstrass.md diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/encode.md b/www/versioned_docs/version-7.6.4/API/namespaces/encode.md similarity index 94% rename from www/versioned_docs/version-7.6.2/API/namespaces/encode.md rename to www/versioned_docs/version-7.6.4/API/namespaces/encode.md index 2d52c6974..3c97c1238 100644 --- a/www/versioned_docs/version-7.6.2/API/namespaces/encode.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/encode.md @@ -46,7 +46,7 @@ const result = encode.arrayBufferToString(buffer); #### Defined in -[src/utils/encode.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L29) +[src/utils/encode.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L29) --- @@ -80,7 +80,7 @@ const result = encode.utf8ToArray(myString); #### Defined in -[src/utils/encode.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L48) +[src/utils/encode.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L48) --- @@ -112,7 +112,7 @@ const result = encode.atobUniversal(base64String); #### Defined in -[src/utils/encode.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L65) +[src/utils/encode.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L65) --- @@ -144,7 +144,7 @@ const result = encode.btoaUniversal(buffer); #### Defined in -[src/utils/encode.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L82) +[src/utils/encode.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L82) --- @@ -176,7 +176,7 @@ const result = encode.buf2hex(buffer); #### Defined in -[src/utils/encode.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L99) +[src/utils/encode.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L99) --- @@ -208,7 +208,7 @@ const result = encode.removeHexPrefix(hexStringWithPrefix); #### Defined in -[src/utils/encode.ts:115](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L115) +[src/utils/encode.ts:115](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L115) --- @@ -240,7 +240,7 @@ const result = encode.addHexPrefix(plainHexString); #### Defined in -[src/utils/encode.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L131) +[src/utils/encode.ts:131](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L131) --- @@ -277,7 +277,7 @@ const result = encode.padLeft(myString, 10); #### Defined in -[src/utils/encode.ts:188](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L188) +[src/utils/encode.ts:188](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L188) --- @@ -315,7 +315,7 @@ const result = encode.calcByteLength(myString, 4); #### Defined in -[src/utils/encode.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L212) +[src/utils/encode.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L212) --- @@ -354,7 +354,7 @@ const result = encode.sanitizeBytes(myString); #### Defined in -[src/utils/encode.ts:239](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L239) +[src/utils/encode.ts:239](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L239) --- @@ -389,7 +389,7 @@ const result = encode.sanitizeHex(unevenHex); #### Defined in -[src/utils/encode.ts:262](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L262) +[src/utils/encode.ts:262](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L262) --- @@ -423,7 +423,7 @@ const result = encode.concatenateArrayBuffer([path0buff, path1buff]); #### Defined in -[src/utils/encode.ts:304](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L304) +[src/utils/encode.ts:304](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L304) --- @@ -457,4 +457,4 @@ const result = encode.pascalToSnake(pascalString); #### Defined in -[src/utils/encode.ts:283](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/encode.ts#L283) +[src/utils/encode.ts:283](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/encode.ts#L283) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/eth.md b/www/versioned_docs/version-7.6.4/API/namespaces/eth.md similarity index 94% rename from www/versioned_docs/version-7.5.1/API/namespaces/eth.md rename to www/versioned_docs/version-7.6.4/API/namespaces/eth.md index f7a3f1c24..cf1bec709 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/eth.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/eth.md @@ -29,7 +29,7 @@ const myPK: string = randomAddress(); #### Defined in -[src/utils/eth.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/eth.ts#L18) +[src/utils/eth.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/eth.ts#L18) --- @@ -60,4 +60,4 @@ const myEthAddress: string = validateAndParseEthAddress('0x8359E4B0152ed5A731162 #### Defined in -[src/utils/eth.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/eth.ts#L32) +[src/utils/eth.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/eth.ts#L32) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/events.md b/www/versioned_docs/version-7.6.4/API/namespaces/events.md similarity index 95% rename from www/versioned_docs/version-7.5.1/API/namespaces/events.md rename to www/versioned_docs/version-7.6.4/API/namespaces/events.md index 66d9fd8dc..51254f011 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/events.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/events.md @@ -34,7 +34,7 @@ true if this Abi Entry is related to an event #### Defined in -[src/utils/events/index.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/events/index.ts#L36) +[src/utils/events/index.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/events/index.ts#L36) --- @@ -77,7 +77,7 @@ const result = events.getAbiEvents(abi); #### Defined in -[src/utils/events/index.ts:154](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/events/index.ts#L154) +[src/utils/events/index.ts:154](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/events/index.ts#L154) --- @@ -118,7 +118,7 @@ const result = events.parseEvents(myEvents, abiEvents, abiStructs, abiEnums); #### Defined in -[src/utils/events/index.ts:196](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/events/index.ts#L196) +[src/utils/events/index.ts:196](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/events/index.ts#L196) --- @@ -143,4 +143,4 @@ parsed UDC event data #### Defined in -[src/utils/events/index.ts:265](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/events/index.ts#L265) +[src/utils/events/index.ts:265](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/events/index.ts#L265) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/hash.md b/www/versioned_docs/version-7.6.4/API/namespaces/hash.md similarity index 93% rename from www/versioned_docs/version-7.6.2/API/namespaces/hash.md rename to www/versioned_docs/version-7.6.4/API/namespaces/hash.md index 31df37d88..91ace0cb3 100644 --- a/www/versioned_docs/version-7.6.2/API/namespaces/hash.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/hash.md @@ -39,7 +39,7 @@ const result = keccakBn('0xabc'); #### Defined in -[src/utils/hash/selector.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/selector.ts#L21) +[src/utils/hash/selector.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/selector.ts#L21) --- @@ -71,7 +71,7 @@ const result = starknetKeccak('test').toString(); #### Defined in -[src/utils/hash/selector.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/selector.ts#L50) +[src/utils/hash/selector.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/selector.ts#L50) --- @@ -103,7 +103,7 @@ const result = getSelectorFromName('myFunction'); #### Defined in -[src/utils/hash/selector.ts:68](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/selector.ts#L68) +[src/utils/hash/selector.ts:68](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/selector.ts#L68) --- @@ -143,7 +143,7 @@ const selector4: string = getSelector(123456n); #### Defined in -[src/utils/hash/selector.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/selector.ts#L93) +[src/utils/hash/selector.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/selector.ts#L93) --- @@ -174,7 +174,7 @@ const result = hash.solidityUint256PackedKeccak256(['0x100', '200', 300, 400n]); #### Defined in -[src/utils/hash/selector.ts:110](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/selector.ts#L110) +[src/utils/hash/selector.ts:110](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/selector.ts#L110) --- @@ -220,7 +220,7 @@ const result = hash.getL2MessageHash(l1FromAddress, l2ToAddress, l2Selector, pay #### Defined in -[src/utils/hash/selector.ts:145](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/selector.ts#L145) +[src/utils/hash/selector.ts:145](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/selector.ts#L145) --- @@ -262,7 +262,7 @@ const result = hash.getL1MessageHash(fromL2Address, toL1Address, payload); #### Defined in -[src/utils/hash/selector.ts:183](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/selector.ts#L183) +[src/utils/hash/selector.ts:183](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/selector.ts#L183) --- @@ -282,7 +282,7 @@ const result = hash.getL1MessageHash(fromL2Address, toL1Address, payload); #### Defined in -[src/utils/hash/transactionHash/index.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/index.ts#L61) +[src/utils/hash/transactionHash/index.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/index.ts#L61) --- @@ -302,7 +302,7 @@ const result = hash.getL1MessageHash(fromL2Address, toL1Address, payload); #### Defined in -[src/utils/hash/transactionHash/index.ts:121](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/index.ts#L121) +[src/utils/hash/transactionHash/index.ts:121](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/index.ts#L121) --- @@ -322,7 +322,7 @@ const result = hash.getL1MessageHash(fromL2Address, toL1Address, payload); #### Defined in -[src/utils/hash/transactionHash/index.ts:188](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/index.ts#L188) +[src/utils/hash/transactionHash/index.ts:188](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/index.ts#L188) --- @@ -376,7 +376,7 @@ const result = hash.calculateL2MessageTxHash( #### Defined in -[src/utils/hash/transactionHash/v2.ts:158](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/transactionHash/v2.ts#L158) +[src/utils/hash/transactionHash/v2.ts:158](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v2.ts#L158) --- @@ -397,7 +397,7 @@ const result = hash.calculateL2MessageTxHash( #### Defined in -[src/utils/hash/classHash.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/classHash.ts#L28) +[src/utils/hash/classHash.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/classHash.ts#L28) --- @@ -418,7 +418,7 @@ const result = hash.calculateL2MessageTxHash( #### Defined in -[src/utils/hash/classHash.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/classHash.ts#L32) +[src/utils/hash/classHash.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/classHash.ts#L32) --- @@ -449,7 +449,7 @@ const result = hash.computeHashOnElements(['0xabc', '0x123', '0xabc123']); #### Defined in -[src/utils/hash/classHash.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/classHash.ts#L48) +[src/utils/hash/classHash.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/classHash.ts#L48) --- @@ -469,7 +469,7 @@ const result = hash.computeHashOnElements(['0xabc', '0x123', '0xabc123']); #### Defined in -[src/utils/hash/classHash.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/classHash.ts#L56) +[src/utils/hash/classHash.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/classHash.ts#L56) --- @@ -508,7 +508,7 @@ const result = hash.calculateContractAddressFromHash( #### Defined in -[src/utils/hash/classHash.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/classHash.ts#L74) +[src/utils/hash/classHash.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/classHash.ts#L74) --- @@ -539,7 +539,7 @@ const result = hash.formatSpaces("{'onchain':true,'isStarknet':true}"); #### Defined in -[src/utils/hash/classHash.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/classHash.ts#L117) +[src/utils/hash/classHash.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/classHash.ts#L117) --- @@ -571,7 +571,7 @@ const result = hash.computeHintedClassHash(compiledCairo0); #### Defined in -[src/utils/hash/classHash.ts:145](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/classHash.ts#L145) +[src/utils/hash/classHash.ts:145](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/classHash.ts#L145) --- @@ -603,7 +603,7 @@ const result = hash.computeLegacyContractClassHash(compiledCairo0); #### Defined in -[src/utils/hash/classHash.ts:163](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/classHash.ts#L163) +[src/utils/hash/classHash.ts:163](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/classHash.ts#L163) --- @@ -637,7 +637,7 @@ const result = hash.hashByteCodeSegments(compiledCasm); #### Defined in -[src/utils/hash/classHash.ts:231](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/classHash.ts#L231) +[src/utils/hash/classHash.ts:231](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/classHash.ts#L231) --- @@ -669,7 +669,7 @@ const result = hash.computeCompiledClassHash(compiledCasm); #### Defined in -[src/utils/hash/classHash.ts:253](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/classHash.ts#L253) +[src/utils/hash/classHash.ts:253](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/classHash.ts#L253) --- @@ -701,7 +701,7 @@ const result = hash.computeSierraContractClassHash(compiledSierra); #### Defined in -[src/utils/hash/classHash.ts:307](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/classHash.ts#L307) +[src/utils/hash/classHash.ts:307](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/classHash.ts#L307) --- @@ -733,7 +733,7 @@ const result = hash.computeContractClassHash(compiledSierra); #### Defined in -[src/utils/hash/classHash.ts:351](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/classHash.ts#L351) +[src/utils/hash/classHash.ts:351](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/classHash.ts#L351) --- @@ -764,4 +764,4 @@ const result = hash.computeHashOnElements(['0xabc', '0x123', '0xabc123']); #### Defined in -[src/utils/hash/classHash.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/hash/classHash.ts#L48) +[src/utils/hash/classHash.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/classHash.ts#L48) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/hash.poseidon.md b/www/versioned_docs/version-7.6.4/API/namespaces/hash.poseidon.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/hash.poseidon.md rename to www/versioned_docs/version-7.6.4/API/namespaces/hash.poseidon.md diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/json.md b/www/versioned_docs/version-7.6.4/API/namespaces/json.md similarity index 96% rename from www/versioned_docs/version-7.6.2/API/namespaces/json.md rename to www/versioned_docs/version-7.6.4/API/namespaces/json.md index 552b15474..179f8181a 100644 --- a/www/versioned_docs/version-7.6.2/API/namespaces/json.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/json.md @@ -39,7 +39,7 @@ const result = parse(str); #### Defined in -[src/utils/json.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/json.ts#L27) +[src/utils/json.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/json.ts#L27) --- @@ -71,7 +71,7 @@ const result = parseAlwaysAsBig(str); #### Defined in -[src/utils/json.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/json.ts#L41) +[src/utils/json.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/json.ts#L41) --- @@ -109,4 +109,4 @@ const result = stringify(value); #### Defined in -[src/utils/json.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/json.ts#L62) +[src/utils/json.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/json.ts#L62) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/merkle.md b/www/versioned_docs/version-7.6.4/API/namespaces/merkle.md similarity index 97% rename from www/versioned_docs/version-7.5.1/API/namespaces/merkle.md rename to www/versioned_docs/version-7.6.4/API/namespaces/merkle.md index 666a5811e..b97bb89b8 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/merkle.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/merkle.md @@ -48,4 +48,4 @@ const result = proofMerklePath(tree.root, '0x3', [ #### Defined in -[src/utils/merkle.ts:148](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/merkle.ts#L148) +[src/utils/merkle.ts:148](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/merkle.ts#L148) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/num.md b/www/versioned_docs/version-7.6.4/API/namespaces/num.md similarity index 94% rename from www/versioned_docs/version-7.5.1/API/namespaces/num.md rename to www/versioned_docs/version-7.6.4/API/namespaces/num.md index 3e4d06e4a..7f05b29a9 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/num.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/num.md @@ -40,7 +40,7 @@ const result2 = isHex(hexString2); #### Defined in -[src/utils/num.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L26) +[src/utils/num.ts:26](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L26) --- @@ -72,7 +72,7 @@ const result = toBigInt(str); #### Defined in -[src/utils/num.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L42) +[src/utils/num.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L42) --- @@ -95,7 +95,7 @@ in case of undefined return undefined #### Defined in -[src/utils/num.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L50) +[src/utils/num.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L50) --- @@ -126,7 +126,7 @@ toHex('200'); // '0xc8' #### Defined in -[src/utils/num.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L65) +[src/utils/num.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L65) --- @@ -163,7 +163,7 @@ toStorageKey('test'); // 'Error' #### Defined in -[src/utils/num.ts:89](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L89) +[src/utils/num.ts:89](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L89) --- @@ -197,7 +197,7 @@ toHex64('test'); // 'Error' #### Defined in -[src/utils/num.ts:107](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L107) +[src/utils/num.ts:107](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L107) --- @@ -228,7 +228,7 @@ hexToDecimalString('c8'); // '200' #### Defined in -[src/utils/num.ts:124](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L124) +[src/utils/num.ts:124](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L124) --- @@ -258,7 +258,7 @@ cleanHex('0x00023AB'); // '0x23ab' #### Defined in -[src/utils/num.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L138) +[src/utils/num.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L138) --- @@ -300,7 +300,7 @@ assertInRange(input2, 5, 20, 'value'); #### Defined in -[src/utils/num.ts:161](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L161) +[src/utils/num.ts:161](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L161) --- @@ -332,7 +332,7 @@ const result = bigNumberishArrayToDecimalStringArray(data); #### Defined in -[src/utils/num.ts:190](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L190) +[src/utils/num.ts:190](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L190) --- @@ -364,7 +364,7 @@ const result = bigNumberishArrayToHexadecimalStringArray(data); #### Defined in -[src/utils/num.ts:206](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L206) +[src/utils/num.ts:206](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L206) --- @@ -396,7 +396,7 @@ isStringWholeNumber('test'); // false #### Defined in -[src/utils/num.ts:222](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L222) +[src/utils/num.ts:222](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L222) --- @@ -434,7 +434,7 @@ const result2 = getDecimalString('Hello'); #### Defined in -[src/utils/num.ts:241](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L241) +[src/utils/num.ts:241](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L241) --- @@ -472,7 +472,7 @@ const result2 = getHexString('Hello'); #### Defined in -[src/utils/num.ts:266](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L266) +[src/utils/num.ts:266](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L266) --- @@ -504,7 +504,7 @@ const result = getHexStringArray(data); #### Defined in -[src/utils/num.ts:288](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L288) +[src/utils/num.ts:288](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L288) --- @@ -538,7 +538,7 @@ const result2 = toCairoBool(false); #### Defined in -[src/utils/num.ts:306](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L306) +[src/utils/num.ts:306](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L306) --- @@ -578,7 +578,7 @@ result = hexToBytes('test'); #### Defined in -[src/utils/num.ts:327](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L327) +[src/utils/num.ts:327](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L327) --- @@ -614,7 +614,7 @@ addPercent(200, -150); // -100n #### Defined in -[src/utils/num.ts:353](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L353) +[src/utils/num.ts:353](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L353) --- @@ -648,7 +648,7 @@ const path2Buffer = num.stringToSha256ToArrayBuff4(ledgerPathApplicationName); #### Defined in -[src/utils/num.ts:371](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L371) +[src/utils/num.ts:371](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L371) --- @@ -680,7 +680,7 @@ const res = num.isBigNumberish('ZERO'); #### Defined in -[src/utils/num.ts:389](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L389) +[src/utils/num.ts:389](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L389) --- @@ -702,4 +702,4 @@ Alias of ToHex #### Defined in -[src/utils/num.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/num.ts#L65) +[src/utils/num.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/num.ts#L65) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/outsideExecution.md b/www/versioned_docs/version-7.6.4/API/namespaces/outsideExecution.md similarity index 96% rename from www/versioned_docs/version-7.6.2/API/namespaces/outsideExecution.md rename to www/versioned_docs/version-7.6.4/API/namespaces/outsideExecution.md index 1e5997094..fc4b20ef0 100644 --- a/www/versioned_docs/version-7.6.2/API/namespaces/outsideExecution.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/outsideExecution.md @@ -24,7 +24,7 @@ custom_edit_url: null #### Defined in -[src/utils/outsideExecution.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/outsideExecution.ts#L17) +[src/utils/outsideExecution.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/outsideExecution.ts#L17) --- @@ -64,7 +64,7 @@ const result = outsideExecution.getOutsideCall(call1); #### Defined in -[src/utils/outsideExecution.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/outsideExecution.ts#L47) +[src/utils/outsideExecution.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/outsideExecution.ts#L47) --- @@ -119,7 +119,7 @@ const result: TypedData = outsideExecution.getTypedData( #### Defined in -[src/utils/outsideExecution.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/outsideExecution.ts#L117) +[src/utils/outsideExecution.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/outsideExecution.ts#L117) --- @@ -165,7 +165,7 @@ const result: Calldata = outsideExecution.buildExecuteFromOutsideCallData(outsid #### Defined in -[src/utils/outsideExecution.ts:175](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/outsideExecution.ts#L175) +[src/utils/outsideExecution.ts:175](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/outsideExecution.ts#L175) --- @@ -212,4 +212,4 @@ const result: Call[] = outsideExecution.buildExecuteFromOutsideCall(outsideTrans #### Defined in -[src/utils/outsideExecution.ts:209](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/outsideExecution.ts#L209) +[src/utils/outsideExecution.ts:209](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/outsideExecution.ts#L209) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/paymaster.md b/www/versioned_docs/version-7.6.4/API/namespaces/paymaster.md similarity index 95% rename from www/versioned_docs/version-7.6.2/API/namespaces/paymaster.md rename to www/versioned_docs/version-7.6.4/API/namespaces/paymaster.md index 790fc6c8b..634cc2000 100644 --- a/www/versioned_docs/version-7.6.2/API/namespaces/paymaster.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/paymaster.md @@ -31,7 +31,7 @@ Throws an error if the calls are not strictly equal. #### Defined in -[src/utils/paymaster.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/paymaster.ts#L67) +[src/utils/paymaster.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/paymaster.ts#L67) --- @@ -56,7 +56,7 @@ default node url #### Defined in -[src/utils/paymaster.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/paymaster.ts#L17) +[src/utils/paymaster.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/paymaster.ts#L17) --- @@ -79,4 +79,4 @@ default node url #### Defined in -[src/utils/paymaster.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/paymaster.ts#L133) +[src/utils/paymaster.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/paymaster.ts#L133) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/provider-1.md b/www/versioned_docs/version-7.6.4/API/namespaces/provider-1.md similarity index 94% rename from www/versioned_docs/version-7.6.2/API/namespaces/provider-1.md rename to www/versioned_docs/version-7.6.4/API/namespaces/provider-1.md index 2410cb7c5..0a73d2ed1 100644 --- a/www/versioned_docs/version-7.6.2/API/namespaces/provider-1.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/provider-1.md @@ -18,7 +18,7 @@ custom_edit_url: null #### Defined in -[src/utils/provider.ts:155](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L155) +[src/utils/provider.ts:155](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L155) ## Functions @@ -46,7 +46,7 @@ await provider.wait(1000); // 1000 milliseconds == 1 second #### Defined in -[src/utils/provider.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L32) +[src/utils/provider.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L32) --- @@ -90,7 +90,7 @@ const result = provider.createSierraContractClass({ #### Defined in -[src/utils/provider.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L62) +[src/utils/provider.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L62) --- @@ -132,7 +132,7 @@ const result = provider.parseContract({ #### Defined in -[src/utils/provider.ts:92](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L92) +[src/utils/provider.ts:92](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L92) --- @@ -154,7 +154,7 @@ return Defaults RPC Nodes endpoints #### Defined in -[src/utils/provider.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L135) +[src/utils/provider.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L135) --- @@ -172,7 +172,7 @@ available RPC versions #### Defined in -[src/utils/provider.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L151) +[src/utils/provider.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L151) --- @@ -206,4 +206,4 @@ const result = provider.getDefaultNodeUrl(constants.NetworkName.SN_MAIN, false); #### Defined in -[src/utils/provider.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/provider.ts#L117) +[src/utils/provider.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/provider.ts#L117) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/selector.md b/www/versioned_docs/version-7.6.4/API/namespaces/selector.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/selector.md rename to www/versioned_docs/version-7.6.4/API/namespaces/selector.md diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/shortString.md b/www/versioned_docs/version-7.6.4/API/namespaces/shortString.md similarity index 92% rename from www/versioned_docs/version-7.6.2/API/namespaces/shortString.md rename to www/versioned_docs/version-7.6.4/API/namespaces/shortString.md index 2bc9e7f73..94b27df1d 100644 --- a/www/versioned_docs/version-7.6.2/API/namespaces/shortString.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/shortString.md @@ -37,7 +37,7 @@ const result = shortString.isASCII('Hello, 世界!'); #### Defined in -[src/utils/shortString.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/shortString.ts#L18) +[src/utils/shortString.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/shortString.ts#L18) --- @@ -68,7 +68,7 @@ const result = shortString.isShortString('Hello, world!'); #### Defined in -[src/utils/shortString.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/shortString.ts#L33) +[src/utils/shortString.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/shortString.ts#L33) --- @@ -101,7 +101,7 @@ const result = shortString.isDecimalString('12a45'); #### Defined in -[src/utils/shortString.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/shortString.ts#L49) +[src/utils/shortString.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/shortString.ts#L49) --- @@ -134,7 +134,7 @@ const result = shortString.isText('0x7aec92f706'); #### Defined in -[src/utils/shortString.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/shortString.ts#L65) +[src/utils/shortString.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/shortString.ts#L65) --- @@ -167,7 +167,7 @@ const result = shortString.splitLongString( #### Defined in -[src/utils/shortString.ts:103](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/shortString.ts#L103) +[src/utils/shortString.ts:103](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/shortString.ts#L103) --- @@ -198,7 +198,7 @@ const result = shortString.encodeShortString('uri/pict/t38.jpg'); #### Defined in -[src/utils/shortString.ts:118](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/shortString.ts#L118) +[src/utils/shortString.ts:118](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/shortString.ts#L118) --- @@ -229,7 +229,7 @@ const result = shortString.decodeShortString('0x7572692f706963742f7433382e6a7067 #### Defined in -[src/utils/shortString.ts:134](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/shortString.ts#L134) +[src/utils/shortString.ts:134](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/shortString.ts#L134) --- @@ -260,7 +260,7 @@ const result = shortString.isShortText('Hello, world!'); #### Defined in -[src/utils/shortString.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/shortString.ts#L79) +[src/utils/shortString.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/shortString.ts#L79) --- @@ -293,4 +293,4 @@ const result = shortString.isLongText( #### Defined in -[src/utils/shortString.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/shortString.ts#L91) +[src/utils/shortString.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/shortString.ts#L91) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/src5.md b/www/versioned_docs/version-7.6.4/API/namespaces/src5.md similarity index 97% rename from www/versioned_docs/version-7.5.1/API/namespaces/src5.md rename to www/versioned_docs/version-7.6.4/API/namespaces/src5.md index 0462a9ffc..49fb6063b 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/src5.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/src5.md @@ -39,4 +39,4 @@ const result = src5.supportsInterface(myProvider, accountContractAddress, snip9I #### Defined in -[src/utils/src5.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/src5.ts#L19) +[src/utils/src5.ts:19](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/src5.ts#L19) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/stark.md b/www/versioned_docs/version-7.6.4/API/namespaces/stark.md similarity index 94% rename from www/versioned_docs/version-7.5.1/API/namespaces/stark.md rename to www/versioned_docs/version-7.6.4/API/namespaces/stark.md index fc20617d5..9334b69c2 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/stark.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/stark.md @@ -14,7 +14,7 @@ custom_edit_url: null #### Defined in -[src/utils/stark/index.ts:232](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L232) +[src/utils/stark/index.ts:232](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L232) ## Functions @@ -48,7 +48,7 @@ const result = stark.compressProgram(contractCairo0); #### Defined in -[src/utils/stark/index.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L70) +[src/utils/stark/index.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L70) --- @@ -97,7 +97,7 @@ const result = stark.decompressProgram(compressedCairo0); #### Defined in -[src/utils/stark/index.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L104) +[src/utils/stark/index.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L104) --- @@ -122,7 +122,7 @@ const result = stark.randomAddress(); #### Defined in -[src/utils/stark/index.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L119) +[src/utils/stark/index.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L119) --- @@ -159,7 +159,7 @@ const result = stark.formatSignature(signature); #### Defined in -[src/utils/stark/index.ts:137](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L137) +[src/utils/stark/index.ts:137](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L137) --- @@ -196,7 +196,7 @@ const result = stark.signatureToDecimalArray(signature); #### Defined in -[src/utils/stark/index.ts:163](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L163) +[src/utils/stark/index.ts:163](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L163) --- @@ -233,7 +233,7 @@ const result = stark.signatureToHexArray(signature); #### Defined in -[src/utils/stark/index.ts:180](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L180) +[src/utils/stark/index.ts:180](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L180) --- @@ -265,7 +265,7 @@ const result = stark.estimatedFeeToMaxFee('8982300000000', 50); #### Defined in -[src/utils/stark/index.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L195) +[src/utils/stark/index.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L195) --- @@ -295,7 +295,7 @@ If the estimate object is undefined or does not have the required properties. #### Defined in -[src/utils/stark/index.ts:210](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L210) +[src/utils/stark/index.ts:210](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L210) --- @@ -330,7 +330,7 @@ Mock zero fee response #### Defined in -[src/utils/stark/index.ts:237](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L237) +[src/utils/stark/index.ts:237](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L237) --- @@ -365,7 +365,7 @@ const result = stark.intDAM(RPC.EDataAvailabilityMode.L1); #### Defined in -[src/utils/stark/index.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L264) +[src/utils/stark/index.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L264) --- @@ -405,7 +405,7 @@ const result = stark.toTransactionVersion( #### Defined in -[src/utils/stark/index.ts:283](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L283) +[src/utils/stark/index.ts:283](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L283) --- @@ -440,7 +440,7 @@ const result = stark.toFeeVersion(2); #### Defined in -[src/utils/stark/index.ts:311](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L311) +[src/utils/stark/index.ts:311](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L311) --- @@ -483,7 +483,7 @@ const result = stark.v3Details(detail); #### Defined in -[src/utils/stark/index.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L345) +[src/utils/stark/index.ts:345](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L345) --- @@ -518,7 +518,7 @@ const result = stark.reduceV2(constants.TRANSACTION_VERSION.V2); #### Defined in -[src/utils/stark/index.ts:370](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L370) +[src/utils/stark/index.ts:370](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L370) --- @@ -551,4 +551,4 @@ const result = ec.getFullPublicKey( #### Defined in -[src/utils/stark/index.ts:386](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/stark/index.ts#L386) +[src/utils/stark/index.ts:386](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/stark/index.ts#L386) diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/starknetId.md b/www/versioned_docs/version-7.6.4/API/namespaces/starknetId.md similarity index 94% rename from www/versioned_docs/version-7.6.2/API/namespaces/starknetId.md rename to www/versioned_docs/version-7.6.4/API/namespaces/starknetId.md index 9cf6f9e2b..3ac29dfeb 100644 --- a/www/versioned_docs/version-7.6.2/API/namespaces/starknetId.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/starknetId.md @@ -21,7 +21,7 @@ custom_edit_url: null #### Defined in -[src/utils/starknetId.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L127) +[src/utils/starknetId.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L127) --- @@ -38,7 +38,7 @@ custom_edit_url: null #### Defined in -[src/utils/starknetId.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L157) +[src/utils/starknetId.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L157) --- @@ -48,7 +48,7 @@ custom_edit_url: null #### Defined in -[src/utils/starknetId.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L189) +[src/utils/starknetId.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L189) --- @@ -65,7 +65,7 @@ custom_edit_url: null #### Defined in -[src/utils/starknetId.ts:217](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L217) +[src/utils/starknetId.ts:217](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L217) --- @@ -82,7 +82,7 @@ custom_edit_url: null #### Defined in -[src/utils/starknetId.ts:247](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L247) +[src/utils/starknetId.ts:247](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L247) --- @@ -99,7 +99,7 @@ custom_edit_url: null #### Defined in -[src/utils/starknetId.ts:279](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L279) +[src/utils/starknetId.ts:279](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L279) ## Functions @@ -130,7 +130,7 @@ const result = starknetId.useDecoded([3015206943634620n]); #### Defined in -[src/utils/starknetId.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L33) +[src/utils/starknetId.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L33) --- @@ -161,7 +161,7 @@ const result = starknetId.useEncoded('starknet.js'); #### Defined in -[src/utils/starknetId.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L85) +[src/utils/starknetId.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L85) --- @@ -196,7 +196,7 @@ const result = starknetId.getStarknetIdContract(constants.StarknetChainId.SN_SEP #### Defined in -[src/utils/starknetId.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L144) +[src/utils/starknetId.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L144) --- @@ -231,7 +231,7 @@ const result = starknetId.getStarknetIdIdentityContract(constants.StarknetChainI #### Defined in -[src/utils/starknetId.ts:176](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L176) +[src/utils/starknetId.ts:176](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L176) --- @@ -266,7 +266,7 @@ const result = starknetId.getStarknetIdMulticallContract(constants.StarknetChain #### Defined in -[src/utils/starknetId.ts:204](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L204) +[src/utils/starknetId.ts:204](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L204) --- @@ -301,7 +301,7 @@ const result = starknetId.getStarknetIdVerifierContract(constants.StarknetChainI #### Defined in -[src/utils/starknetId.ts:234](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L234) +[src/utils/starknetId.ts:234](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L234) --- @@ -336,7 +336,7 @@ const result = starknetId.getStarknetIdPfpContract(constants.StarknetChainId.SN_ #### Defined in -[src/utils/starknetId.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L264) +[src/utils/starknetId.ts:264](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L264) --- @@ -371,7 +371,7 @@ const result = starknetId.getStarknetIdPopContract(constants.StarknetChainId.SN_ #### Defined in -[src/utils/starknetId.ts:296](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L296) +[src/utils/starknetId.ts:296](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L296) --- @@ -412,7 +412,7 @@ const result: CairoCustomEnum = starknetId.execution(undefined, [1, 2, 3], undef #### Defined in -[src/utils/starknetId.ts:331](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L331) +[src/utils/starknetId.ts:331](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L331) --- @@ -446,7 +446,7 @@ const result: CairoCustomEnum = starknetId.dynamicFelt(undefined, [1, 2]); #### Defined in -[src/utils/starknetId.ts:357](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L357) +[src/utils/starknetId.ts:357](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L357) --- @@ -485,7 +485,7 @@ const result: CairoCustomEnum = starknetId.dynamicCallData(undefined, [1, 2], un #### Defined in -[src/utils/starknetId.ts:385](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L385) +[src/utils/starknetId.ts:385](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L385) --- @@ -519,4 +519,4 @@ const result2 = starknetId.isStarkDomain('invalid-domain'); #### Defined in -[src/utils/starknetId.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/starknetId.ts#L411) +[src/utils/starknetId.ts:411](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/starknetId.ts#L411) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/transaction.md b/www/versioned_docs/version-7.6.4/API/namespaces/transaction.md similarity index 97% rename from www/versioned_docs/version-7.5.1/API/namespaces/transaction.md rename to www/versioned_docs/version-7.6.4/API/namespaces/transaction.md index 918f55f4d..017384096 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/transaction.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/transaction.md @@ -56,7 +56,7 @@ const result = transaction.buildUDCCall(payload, address); #### Defined in -[src/utils/transaction.ts:200](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transaction.ts#L200) +[src/utils/transaction.ts:200](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transaction.ts#L200) --- @@ -91,7 +91,7 @@ const result = transaction.getVersionsByType('fee'); #### Defined in -[src/utils/transaction.ts:256](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transaction.ts#L256) +[src/utils/transaction.ts:256](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transaction.ts#L256) --- @@ -147,7 +147,7 @@ const result = transaction.transformCallsToMulticallArrays(calls); #### Defined in -[src/utils/transaction.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transaction.ts#L48) +[src/utils/transaction.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transaction.ts#L48) --- @@ -194,7 +194,7 @@ const result = transaction.fromCallsToExecuteCalldata(calls); #### Defined in -[src/utils/transaction.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transaction.ts#L93) +[src/utils/transaction.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transaction.ts#L93) --- @@ -241,7 +241,7 @@ const result = transaction.fromCallsToExecuteCalldata_cairo1(calls); #### Defined in -[src/utils/transaction.ts:125](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transaction.ts#L125) +[src/utils/transaction.ts:125](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transaction.ts#L125) --- @@ -289,4 +289,4 @@ const result = transaction.getExecuteCalldata(calls, '1'); #### Defined in -[src/utils/transaction.ts:166](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/transaction.ts#L166) +[src/utils/transaction.ts:166](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transaction.ts#L166) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/typedData.md b/www/versioned_docs/version-7.6.4/API/namespaces/typedData.md similarity index 92% rename from www/versioned_docs/version-7.5.1/API/namespaces/typedData.md rename to www/versioned_docs/version-7.6.4/API/namespaces/typedData.md index 1b82b90a0..2b419088e 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/typedData.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/typedData.md @@ -26,7 +26,7 @@ data is TypedData #### Defined in -[src/utils/typedData.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/typedData.ts#L99) +[src/utils/typedData.ts:102](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/typedData.ts#L102) --- @@ -61,7 +61,7 @@ const result2 = prepareSelector('myFunction'); #### Defined in -[src/utils/typedData.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/typedData.ts#L122) +[src/utils/typedData.ts:125](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/typedData.ts#L125) --- @@ -97,7 +97,7 @@ const result2 = isMerkleTreeType(type2); #### Defined in -[src/utils/typedData.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/typedData.ts#L144) +[src/utils/typedData.ts:147](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/typedData.ts#L147) --- @@ -126,7 +126,7 @@ The array of dependencies. #### Defined in -[src/utils/typedData.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/typedData.ts#L160) +[src/utils/typedData.ts:163](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/typedData.ts#L163) --- @@ -161,7 +161,7 @@ const result = encodeType(typedDataExample.types, 'Mail'); #### Defined in -[src/utils/typedData.ts:242](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/typedData.ts#L242) +[src/utils/typedData.ts:245](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/typedData.ts#L245) --- @@ -196,7 +196,7 @@ const result = getTypeHash(typedDataExample.types, 'StarkNetDomain'); #### Defined in -[src/utils/typedData.ts:301](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/typedData.ts#L301) +[src/utils/typedData.ts:304](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/typedData.ts#L304) --- @@ -237,7 +237,7 @@ const result1 = encodeValue({}, 'felt', selectorHash); #### Defined in -[src/utils/typedData.ts:332](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/typedData.ts#L332) +[src/utils/typedData.ts:335](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/typedData.ts#L335) --- @@ -271,7 +271,7 @@ The ABI compatible types and corresponding values. #### Defined in -[src/utils/typedData.ts:470](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/typedData.ts#L470) +[src/utils/typedData.ts:473](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/typedData.ts#L473) --- @@ -319,7 +319,7 @@ const result = getStructHash( #### Defined in -[src/utils/typedData.ts:525](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/typedData.ts#L525) +[src/utils/typedData.ts:528](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/typedData.ts#L528) --- @@ -398,7 +398,7 @@ const result = getMessageHash(typedDataStringExample, exampleAddress); #### Defined in -[src/utils/typedData.ts:592](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/typedData.ts#L592) +[src/utils/typedData.ts:595](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/typedData.ts#L595) --- @@ -438,7 +438,7 @@ const result2 = typedData.verifyMessage(messageHash, sign, fullPubK); #### Defined in -[src/utils/typedData.ts:629](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/typedData.ts#L629) +[src/utils/typedData.ts:632](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/typedData.ts#L632) ▸ **verifyMessage**(`message`, `signature`, `fullPublicKey`): `boolean` @@ -456,4 +456,4 @@ const result2 = typedData.verifyMessage(messageHash, sign, fullPubK); #### Defined in -[src/utils/typedData.ts:635](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/typedData.ts#L635) +[src/utils/typedData.ts:638](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/typedData.ts#L638) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.JRPC.md b/www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.JRPC.md similarity index 83% rename from www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.JRPC.md rename to www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.JRPC.md index bb24b3a3a..e1c9fea62 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.JRPC.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.JRPC.md @@ -24,7 +24,7 @@ custom_edit_url: null #### Defined in -[src/types/api/jsonrpc/index.ts:1](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/api/jsonrpc/index.ts#L1) +[src/types/api/jsonrpc/index.ts:1](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/api/jsonrpc/index.ts#L1) --- @@ -34,7 +34,7 @@ custom_edit_url: null #### Defined in -[src/types/api/jsonrpc/index.ts:8](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/api/jsonrpc/index.ts#L8) +[src/types/api/jsonrpc/index.ts:8](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/api/jsonrpc/index.ts#L8) --- @@ -50,7 +50,7 @@ custom_edit_url: null #### Defined in -[src/types/api/jsonrpc/index.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/api/jsonrpc/index.ts#L13) +[src/types/api/jsonrpc/index.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/api/jsonrpc/index.ts#L13) --- @@ -66,7 +66,7 @@ custom_edit_url: null #### Defined in -[src/types/api/jsonrpc/index.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/api/jsonrpc/index.ts#L17) +[src/types/api/jsonrpc/index.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/api/jsonrpc/index.ts#L17) --- @@ -84,7 +84,7 @@ custom_edit_url: null #### Defined in -[src/types/api/jsonrpc/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/api/jsonrpc/index.ts#L21) +[src/types/api/jsonrpc/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/api/jsonrpc/index.ts#L21) --- @@ -94,4 +94,4 @@ custom_edit_url: null #### Defined in -[src/types/api/jsonrpc/index.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/types/api/jsonrpc/index.ts#L27) +[src/types/api/jsonrpc/index.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/api/jsonrpc/index.ts#L27) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC07.API.Errors.md b/www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC07.API.Errors.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC07.API.Errors.md rename to www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC07.API.Errors.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC07.API.SPEC.md b/www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC07.API.SPEC.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC07.API.SPEC.md rename to www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC07.API.SPEC.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC07.API.md b/www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC07.API.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC07.API.md rename to www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC07.API.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC07.WALLET_API.md b/www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC07.WALLET_API.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC07.WALLET_API.md rename to www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC07.WALLET_API.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC07.md b/www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC07.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC07.md rename to www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC07.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC08.API.CONTRACT.md b/www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC08.API.CONTRACT.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC08.API.CONTRACT.md rename to www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC08.API.CONTRACT.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC08.API.md b/www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC08.API.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC08.API.md rename to www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC08.API.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md b/www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md rename to www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC08.PAYMASTER_API.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC08.WALLET_API.md b/www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC08.WALLET_API.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC08.WALLET_API.md rename to www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC08.WALLET_API.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC08.md b/www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC08.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.RPCSPEC08.md rename to www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.RPCSPEC08.md diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.md b/www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.md similarity index 100% rename from www/versioned_docs/version-7.5.1/API/namespaces/types.RPC.md rename to www/versioned_docs/version-7.6.4/API/namespaces/types.RPC.md diff --git a/www/versioned_docs/version-7.6.2/API/namespaces/types.md b/www/versioned_docs/version-7.6.4/API/namespaces/types.md similarity index 86% rename from www/versioned_docs/version-7.6.2/API/namespaces/types.md rename to www/versioned_docs/version-7.6.4/API/namespaces/types.md index 3d71eadc4..34b50ba14 100644 --- a/www/versioned_docs/version-7.6.2/API/namespaces/types.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/types.md @@ -73,7 +73,7 @@ Re-exports [TypedData](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md #### Defined in -[src/types/lib/index.ts:10](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L10) +[src/types/lib/index.ts:10](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L10) --- @@ -83,7 +83,7 @@ Re-exports [TypedData](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md #### Defined in -[src/types/lib/index.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L11) +[src/types/lib/index.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L11) --- @@ -93,7 +93,7 @@ Re-exports [TypedData](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md #### Defined in -[src/types/lib/index.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L12) +[src/types/lib/index.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L12) --- @@ -103,7 +103,7 @@ Re-exports [TypedData](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md #### Defined in -[src/types/lib/index.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L14) +[src/types/lib/index.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L14) --- @@ -121,7 +121,7 @@ Re-exports [TypedData](../interfaces/types.RPC.RPCSPEC07.WALLET_API.TypedData.md #### Defined in -[src/types/lib/index.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L16) +[src/types/lib/index.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L16) --- @@ -135,7 +135,7 @@ decimal-string array #### Defined in -[src/types/lib/index.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L27) +[src/types/lib/index.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L27) --- @@ -149,7 +149,7 @@ use CallData.compile() to convert to Calldata #### Defined in -[src/types/lib/index.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L56) +[src/types/lib/index.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L56) --- @@ -161,7 +161,7 @@ Hexadecimal-string array #### Defined in -[src/types/lib/index.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L61) +[src/types/lib/index.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L61) --- @@ -177,7 +177,7 @@ Hexadecimal-string array #### Defined in -[src/types/lib/index.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L63) +[src/types/lib/index.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L63) --- @@ -193,7 +193,7 @@ Hexadecimal-string array #### Defined in -[src/types/lib/index.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L65) +[src/types/lib/index.ts:65](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L65) --- @@ -203,7 +203,7 @@ Hexadecimal-string array #### Defined in -[src/types/lib/index.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L67) +[src/types/lib/index.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L67) --- @@ -217,7 +217,7 @@ Hexadecimal-string array #### Defined in -[src/types/lib/index.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L69) +[src/types/lib/index.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L69) --- @@ -227,7 +227,7 @@ Hexadecimal-string array #### Defined in -[src/types/lib/index.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L73) +[src/types/lib/index.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L73) --- @@ -237,7 +237,7 @@ Hexadecimal-string array #### Defined in -[src/types/lib/index.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L75) +[src/types/lib/index.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L75) --- @@ -256,7 +256,7 @@ Hexadecimal-string array #### Defined in -[src/types/lib/index.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L77) +[src/types/lib/index.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L77) --- @@ -275,7 +275,7 @@ Hexadecimal-string array #### Defined in -[src/types/lib/index.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L84) +[src/types/lib/index.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L84) --- @@ -285,7 +285,7 @@ Hexadecimal-string array #### Defined in -[src/types/lib/index.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L91) +[src/types/lib/index.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L91) --- @@ -304,7 +304,7 @@ Hexadecimal-string array #### Defined in -[src/types/lib/index.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L98) +[src/types/lib/index.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L98) --- @@ -316,7 +316,7 @@ DeclareContractPayload with classHash or contract defined #### Defined in -[src/types/lib/index.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L108) +[src/types/lib/index.ts:108](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L108) --- @@ -335,7 +335,7 @@ DeclareContractPayload with classHash or contract defined #### Defined in -[src/types/lib/index.ts:110](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L110) +[src/types/lib/index.ts:110](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L110) --- @@ -345,7 +345,7 @@ DeclareContractPayload with classHash or contract defined #### Defined in -[src/types/lib/index.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L117) +[src/types/lib/index.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L117) --- @@ -364,7 +364,7 @@ DeclareContractPayload with classHash or contract defined #### Defined in -[src/types/lib/index.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L120) +[src/types/lib/index.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L120) --- @@ -382,7 +382,7 @@ DeclareContractPayload with classHash or contract defined #### Defined in -[src/types/lib/index.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L127) +[src/types/lib/index.ts:127](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L127) --- @@ -392,7 +392,7 @@ DeclareContractPayload with classHash or contract defined #### Defined in -[src/types/lib/index.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L133) +[src/types/lib/index.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L133) --- @@ -402,7 +402,7 @@ DeclareContractPayload with classHash or contract defined #### Defined in -[src/types/lib/index.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L135) +[src/types/lib/index.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L135) --- @@ -412,7 +412,7 @@ DeclareContractPayload with classHash or contract defined #### Defined in -[src/types/lib/index.ts:137](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L137) +[src/types/lib/index.ts:137](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L137) --- @@ -422,7 +422,7 @@ DeclareContractPayload with classHash or contract defined #### Defined in -[src/types/lib/index.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L138) +[src/types/lib/index.ts:138](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L138) --- @@ -432,7 +432,7 @@ DeclareContractPayload with classHash or contract defined #### Defined in -[src/types/lib/index.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L140) +[src/types/lib/index.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L140) --- @@ -455,7 +455,7 @@ DeclareContractPayload with classHash or contract defined #### Defined in -[src/types/lib/index.ts:146](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L146) +[src/types/lib/index.ts:146](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L146) --- @@ -476,7 +476,7 @@ Contain all additional details params #### Defined in -[src/types/lib/index.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L160) +[src/types/lib/index.ts:160](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L160) --- @@ -486,7 +486,7 @@ Contain all additional details params #### Defined in -[src/types/lib/index.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L167) +[src/types/lib/index.ts:167](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L167) --- @@ -496,9 +496,9 @@ Contain all additional details params #### Defined in -[src/types/lib/index.ts:171](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L171) +[src/types/lib/index.ts:171](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L171) -[src/types/lib/index.ts:178](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L178) +[src/types/lib/index.ts:178](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L178) --- @@ -508,9 +508,9 @@ Contain all additional details params #### Defined in -[src/types/lib/index.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L195) +[src/types/lib/index.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L195) -[src/types/lib/index.ts:202](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L202) +[src/types/lib/index.ts:202](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L202) --- @@ -520,9 +520,9 @@ Contain all additional details params #### Defined in -[src/types/lib/index.ts:204](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L204) +[src/types/lib/index.ts:204](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L204) -[src/types/lib/index.ts:210](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L210) +[src/types/lib/index.ts:210](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L210) --- @@ -532,9 +532,9 @@ Contain all additional details params #### Defined in -[src/types/lib/index.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L212) +[src/types/lib/index.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L212) -[src/types/lib/index.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L219) +[src/types/lib/index.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L219) --- @@ -544,9 +544,9 @@ Contain all additional details params #### Defined in -[src/types/lib/index.ts:221](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L221) +[src/types/lib/index.ts:221](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L221) -[src/types/lib/index.ts:226](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L226) +[src/types/lib/index.ts:226](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L226) --- @@ -556,7 +556,7 @@ Contain all additional details params #### Defined in -[src/types/lib/index.ts:228](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L228) +[src/types/lib/index.ts:228](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L228) --- @@ -574,7 +574,7 @@ null return 'pending' block tag #### Defined in -[src/types/lib/index.ts:239](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L239) +[src/types/lib/index.ts:239](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L239) --- @@ -584,7 +584,7 @@ null return 'pending' block tag #### Defined in -[src/types/lib/index.ts:241](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L241) +[src/types/lib/index.ts:241](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L241) --- @@ -596,7 +596,7 @@ items used by AccountInvocations #### Defined in -[src/types/lib/index.ts:246](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L246) +[src/types/lib/index.ts:246](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L246) --- @@ -608,7 +608,7 @@ Complete invocations array with account details (internal type from account -> p #### Defined in -[src/types/lib/index.ts:256](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L256) +[src/types/lib/index.ts:256](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L256) --- @@ -620,7 +620,7 @@ Invocations array user provide to bulk method (simulate) #### Defined in -[src/types/lib/index.ts:261](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L261) +[src/types/lib/index.ts:261](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L261) --- @@ -637,7 +637,7 @@ Invocations array user provide to bulk method (simulate) #### Defined in -[src/types/lib/index.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L272) +[src/types/lib/index.ts:272](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L272) --- @@ -651,7 +651,7 @@ Invocations array user provide to bulk method (simulate) #### Defined in -[src/types/lib/index.ts:274](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L274) +[src/types/lib/index.ts:274](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L274) --- @@ -665,7 +665,7 @@ Invocations array user provide to bulk method (simulate) #### Defined in -[src/types/lib/index.ts:277](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L277) +[src/types/lib/index.ts:277](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L277) --- @@ -683,7 +683,7 @@ Invocations array user provide to bulk method (simulate) #### Defined in -[src/types/lib/index.ts:281](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L281) +[src/types/lib/index.ts:281](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L281) --- @@ -702,7 +702,7 @@ Invocations array user provide to bulk method (simulate) #### Defined in -[src/types/lib/index.ts:287](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L287) +[src/types/lib/index.ts:287](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L287) --- @@ -719,7 +719,7 @@ Invocations array user provide to bulk method (simulate) #### Defined in -[src/types/lib/index.ts:294](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L294) +[src/types/lib/index.ts:294](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L294) --- @@ -736,7 +736,7 @@ Invocations array user provide to bulk method (simulate) #### Defined in -[src/types/lib/index.ts:299](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L299) +[src/types/lib/index.ts:299](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L299) --- @@ -755,7 +755,7 @@ Represent Contract version #### Defined in -[src/types/lib/index.ts:307](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L307) +[src/types/lib/index.ts:307](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L307) --- @@ -769,7 +769,7 @@ CompressedCompiledContract #### Defined in -[src/types/lib/contract/index.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/index.ts#L11) +[src/types/lib/contract/index.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/index.ts#L11) --- @@ -781,7 +781,7 @@ format produced after compile .cairo to .json #### Defined in -[src/types/lib/contract/index.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/index.ts#L16) +[src/types/lib/contract/index.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/index.ts#L16) --- @@ -793,7 +793,7 @@ Compressed or decompressed Cairo0 or Cairo1 Contract #### Defined in -[src/types/lib/contract/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/index.ts#L21) +[src/types/lib/contract/index.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/index.ts#L21) --- @@ -803,9 +803,9 @@ Compressed or decompressed Cairo0 or Cairo1 Contract #### Defined in -[src/types/lib/contract/index.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/index.ts#L24) +[src/types/lib/contract/index.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/index.ts#L24) -[src/types/lib/contract/index.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/index.ts#L30) +[src/types/lib/contract/index.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/index.ts#L30) --- @@ -817,7 +817,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L4) +[src/types/lib/contract/abi.ts:4](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L4) --- @@ -834,7 +834,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L7) +[src/types/lib/contract/abi.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L7) --- @@ -852,7 +852,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L9) +[src/types/lib/contract/abi.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L9) --- @@ -873,7 +873,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L14) +[src/types/lib/contract/abi.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L14) --- @@ -887,7 +887,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L23) +[src/types/lib/contract/abi.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L23) --- @@ -906,7 +906,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L25) +[src/types/lib/contract/abi.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L25) --- @@ -920,7 +920,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L32) +[src/types/lib/contract/abi.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L32) --- @@ -938,7 +938,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L33) +[src/types/lib/contract/abi.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L33) --- @@ -952,7 +952,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L39) +[src/types/lib/contract/abi.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L39) --- @@ -971,7 +971,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L40) +[src/types/lib/contract/abi.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L40) --- @@ -985,7 +985,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L53) +[src/types/lib/contract/abi.ts:53](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L53) --- @@ -995,7 +995,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L57) +[src/types/lib/contract/abi.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L57) --- @@ -1005,7 +1005,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L60) +[src/types/lib/contract/abi.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L60) --- @@ -1015,7 +1015,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L62) +[src/types/lib/contract/abi.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L62) --- @@ -1025,7 +1025,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L67) +[src/types/lib/contract/abi.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L67) --- @@ -1044,7 +1044,7 @@ ABI #### Defined in -[src/types/lib/contract/abi.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/abi.ts#L72) +[src/types/lib/contract/abi.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/abi.ts#L72) --- @@ -1064,7 +1064,7 @@ format produced after compressing 'program' property #### Defined in -[src/types/lib/contract/legacy.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L7) +[src/types/lib/contract/legacy.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L7) --- @@ -1076,7 +1076,7 @@ format produced after compiling .cairo to .json #### Defined in -[src/types/lib/contract/legacy.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L16) +[src/types/lib/contract/legacy.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L16) --- @@ -1088,7 +1088,7 @@ SUBTYPES #### Defined in -[src/types/lib/contract/legacy.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L21) +[src/types/lib/contract/legacy.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L21) --- @@ -1098,7 +1098,7 @@ SUBTYPES #### Defined in -[src/types/lib/contract/legacy.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L22) +[src/types/lib/contract/legacy.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L22) --- @@ -1108,7 +1108,7 @@ SUBTYPES #### Defined in -[src/types/lib/contract/legacy.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L23) +[src/types/lib/contract/legacy.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L23) --- @@ -1126,7 +1126,7 @@ SUBTYPES #### Defined in -[src/types/lib/contract/legacy.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L25) +[src/types/lib/contract/legacy.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L25) --- @@ -1144,7 +1144,7 @@ SUBTYPES #### Defined in -[src/types/lib/contract/legacy.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/legacy.ts#L31) +[src/types/lib/contract/legacy.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/legacy.ts#L31) --- @@ -1168,7 +1168,7 @@ SYSTEM TYPES #### Defined in -[src/types/lib/contract/sierra.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/sierra.ts#L5) +[src/types/lib/contract/sierra.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/sierra.ts#L5) --- @@ -1192,7 +1192,7 @@ sierra_program is hex array #### Defined in -[src/types/lib/contract/sierra.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/sierra.ts#L21) +[src/types/lib/contract/sierra.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/sierra.ts#L21) --- @@ -1206,7 +1206,7 @@ CompressedCompiledSierra #### Defined in -[src/types/lib/contract/sierra.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/sierra.ts#L34) +[src/types/lib/contract/sierra.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/sierra.ts#L34) --- @@ -1216,7 +1216,7 @@ CompressedCompiledSierra #### Defined in -[src/types/lib/contract/sierra.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/sierra.ts#L38) +[src/types/lib/contract/sierra.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/sierra.ts#L38) --- @@ -1228,7 +1228,7 @@ SUBTYPES #### Defined in -[src/types/lib/contract/sierra.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/sierra.ts#L41) +[src/types/lib/contract/sierra.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/sierra.ts#L41) --- @@ -1238,7 +1238,7 @@ SUBTYPES #### Defined in -[src/types/lib/contract/sierra.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/sierra.ts#L42) +[src/types/lib/contract/sierra.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/sierra.ts#L42) --- @@ -1256,7 +1256,7 @@ SUBTYPES #### Defined in -[src/types/lib/contract/sierra.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/sierra.ts#L44) +[src/types/lib/contract/sierra.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/sierra.ts#L44) --- @@ -1274,7 +1274,7 @@ SUBTYPES #### Defined in -[src/types/lib/contract/sierra.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/sierra.ts#L50) +[src/types/lib/contract/sierra.ts:50](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/sierra.ts#L50) --- @@ -1291,7 +1291,7 @@ SUBTYPES #### Defined in -[src/types/lib/contract/sierra.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/sierra.ts#L56) +[src/types/lib/contract/sierra.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/sierra.ts#L56) --- @@ -1308,7 +1308,7 @@ SUBTYPES #### Defined in -[src/provider/types/configuration.type.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L7) +[src/provider/types/configuration.type.ts:7](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L7) --- @@ -1335,7 +1335,7 @@ SUBTYPES #### Defined in -[src/provider/types/configuration.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/configuration.type.ts#L12) +[src/provider/types/configuration.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/configuration.type.ts#L12) --- @@ -1345,7 +1345,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L31) +[src/provider/types/response.type.ts:31](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L31) --- @@ -1355,7 +1355,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L32) +[src/provider/types/response.type.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L32) --- @@ -1365,7 +1365,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L33) +[src/provider/types/response.type.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L33) --- @@ -1375,7 +1375,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L35) +[src/provider/types/response.type.ts:35](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L35) --- @@ -1385,7 +1385,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L37) +[src/provider/types/response.type.ts:37](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L37) --- @@ -1395,7 +1395,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L38) +[src/provider/types/response.type.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L38) --- @@ -1405,7 +1405,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L39) +[src/provider/types/response.type.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L39) --- @@ -1415,7 +1415,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L40) +[src/provider/types/response.type.ts:40](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L40) --- @@ -1425,7 +1425,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L41) +[src/provider/types/response.type.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L41) --- @@ -1435,7 +1435,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L42) +[src/provider/types/response.type.ts:42](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L42) --- @@ -1445,7 +1445,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L43) +[src/provider/types/response.type.ts:43](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L43) --- @@ -1455,7 +1455,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L45) +[src/provider/types/response.type.ts:45](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L45) --- @@ -1480,7 +1480,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L47) +[src/provider/types/response.type.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L47) --- @@ -1490,7 +1490,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L62) +[src/provider/types/response.type.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L62) --- @@ -1500,7 +1500,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L64) +[src/provider/types/response.type.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L64) --- @@ -1510,7 +1510,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L66) +[src/provider/types/response.type.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L66) --- @@ -1520,7 +1520,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:68](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L68) +[src/provider/types/response.type.ts:68](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L68) --- @@ -1530,7 +1530,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L70) +[src/provider/types/response.type.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L70) --- @@ -1540,7 +1540,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L72) +[src/provider/types/response.type.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L72) --- @@ -1550,7 +1550,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L75) +[src/provider/types/response.type.ts:75](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L75) --- @@ -1560,7 +1560,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L77) +[src/provider/types/response.type.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L77) --- @@ -1570,7 +1570,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L82) +[src/provider/types/response.type.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L82) --- @@ -1580,7 +1580,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L84) +[src/provider/types/response.type.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L84) --- @@ -1590,7 +1590,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L85) +[src/provider/types/response.type.ts:85](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L85) --- @@ -1600,7 +1600,7 @@ SUBTYPES #### Defined in -[src/provider/types/response.type.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L86) +[src/provider/types/response.type.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L86) --- @@ -1618,7 +1618,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/response.type.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/response.type.ts#L97) +[src/provider/types/response.type.ts:97](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/response.type.ts#L97) --- @@ -1634,7 +1634,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L9) +[src/provider/types/spec.type.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L9) --- @@ -1650,7 +1650,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L12) +[src/provider/types/spec.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L12) --- @@ -1660,9 +1660,9 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L57) +[src/provider/types/spec.type.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L57) -[src/provider/types/spec.type.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L58) +[src/provider/types/spec.type.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L58) --- @@ -1672,9 +1672,9 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L60) +[src/provider/types/spec.type.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L60) -[src/provider/types/spec.type.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L61) +[src/provider/types/spec.type.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L61) --- @@ -1684,9 +1684,9 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L63) +[src/provider/types/spec.type.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L63) -[src/provider/types/spec.type.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L64) +[src/provider/types/spec.type.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L64) --- @@ -1696,7 +1696,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L67) +[src/provider/types/spec.type.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L67) --- @@ -1706,7 +1706,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:68](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L68) +[src/provider/types/spec.type.ts:68](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L68) --- @@ -1716,7 +1716,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L69) +[src/provider/types/spec.type.ts:69](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L69) --- @@ -1726,7 +1726,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L70) +[src/provider/types/spec.type.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L70) --- @@ -1736,7 +1736,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L72) +[src/provider/types/spec.type.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L72) --- @@ -1746,7 +1746,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L73) +[src/provider/types/spec.type.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L73) --- @@ -1756,7 +1756,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L74) +[src/provider/types/spec.type.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L74) --- @@ -1766,7 +1766,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L76) +[src/provider/types/spec.type.ts:76](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L76) --- @@ -1776,7 +1776,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L77) +[src/provider/types/spec.type.ts:77](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L77) --- @@ -1786,7 +1786,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:90](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L90) +[src/provider/types/spec.type.ts:90](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L90) --- @@ -1796,7 +1796,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L93) +[src/provider/types/spec.type.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L93) --- @@ -1806,7 +1806,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L96) +[src/provider/types/spec.type.ts:96](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L96) --- @@ -1816,7 +1816,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L99) +[src/provider/types/spec.type.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L99) --- @@ -1826,7 +1826,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L104) +[src/provider/types/spec.type.ts:104](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L104) --- @@ -1836,7 +1836,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:105](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L105) +[src/provider/types/spec.type.ts:105](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L105) --- @@ -1846,7 +1846,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:106](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L106) +[src/provider/types/spec.type.ts:106](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L106) --- @@ -1856,7 +1856,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:110](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L110) +[src/provider/types/spec.type.ts:110](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L110) --- @@ -1866,7 +1866,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:111](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L111) +[src/provider/types/spec.type.ts:111](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L111) --- @@ -1876,7 +1876,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:116](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L116) +[src/provider/types/spec.type.ts:116](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L116) --- @@ -1886,7 +1886,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L117) +[src/provider/types/spec.type.ts:117](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L117) --- @@ -1896,7 +1896,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:118](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L118) +[src/provider/types/spec.type.ts:118](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L118) --- @@ -1906,9 +1906,9 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L119) +[src/provider/types/spec.type.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L119) -[src/provider/types/spec.type.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L120) +[src/provider/types/spec.type.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L120) --- @@ -1918,9 +1918,9 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:121](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L121) +[src/provider/types/spec.type.ts:121](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L121) -[src/provider/types/spec.type.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L122) +[src/provider/types/spec.type.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L122) --- @@ -1930,7 +1930,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:123](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L123) +[src/provider/types/spec.type.ts:123](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L123) --- @@ -1940,7 +1940,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:124](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L124) +[src/provider/types/spec.type.ts:124](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L124) --- @@ -1950,7 +1950,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:126](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L126) +[src/provider/types/spec.type.ts:126](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L126) --- @@ -1960,7 +1960,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:130](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L130) +[src/provider/types/spec.type.ts:130](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L130) --- @@ -1970,7 +1970,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L133) +[src/provider/types/spec.type.ts:133](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L133) --- @@ -1980,7 +1980,7 @@ CompiledSierra without '.sierra_program_debug_info' #### Defined in -[src/provider/types/spec.type.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L140) +[src/provider/types/spec.type.ts:140](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L140) --- @@ -1992,7 +1992,7 @@ overhead percentage on estimate fee #### Defined in -[src/provider/types/spec.type.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L151) +[src/provider/types/spec.type.ts:151](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L151) --- @@ -2018,7 +2018,7 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L156) +[src/provider/types/spec.type.ts:156](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L156) --- @@ -2036,7 +2036,7 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:171](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L171) +[src/provider/types/spec.type.ts:171](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L171) --- @@ -2046,7 +2046,7 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:179](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L179) +[src/provider/types/spec.type.ts:179](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L179) --- @@ -2056,7 +2056,7 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:181](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L181) +[src/provider/types/spec.type.ts:181](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L181) --- @@ -2066,7 +2066,7 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:186](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L186) +[src/provider/types/spec.type.ts:186](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L186) --- @@ -2076,7 +2076,7 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:187](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L187) +[src/provider/types/spec.type.ts:187](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L187) --- @@ -2086,7 +2086,7 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:188](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L188) +[src/provider/types/spec.type.ts:188](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L188) --- @@ -2096,7 +2096,7 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L189) +[src/provider/types/spec.type.ts:189](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L189) --- @@ -2106,7 +2106,7 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:193](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L193) +[src/provider/types/spec.type.ts:193](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L193) --- @@ -2116,9 +2116,9 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:194](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L194) +[src/provider/types/spec.type.ts:194](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L194) -[src/provider/types/spec.type.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L195) +[src/provider/types/spec.type.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L195) --- @@ -2128,9 +2128,9 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:196](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L196) +[src/provider/types/spec.type.ts:196](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L196) -[src/provider/types/spec.type.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L197) +[src/provider/types/spec.type.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L197) --- @@ -2140,7 +2140,7 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:198](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L198) +[src/provider/types/spec.type.ts:198](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L198) --- @@ -2150,7 +2150,7 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:202](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L202) +[src/provider/types/spec.type.ts:202](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L202) --- @@ -2160,7 +2160,7 @@ percentage overhead on estimated fee #### Defined in -[src/provider/types/spec.type.ts:203](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L203) +[src/provider/types/spec.type.ts:203](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L203) --- @@ -2177,7 +2177,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/account.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L22) +[src/types/account.ts:22](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L22) --- @@ -2187,7 +2187,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/account.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L27) +[src/types/account.ts:27](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L27) --- @@ -2197,7 +2197,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/account.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L30) +[src/types/account.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L30) --- @@ -2214,7 +2214,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/account.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L67) +[src/types/account.ts:67](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L67) --- @@ -2238,7 +2238,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/account.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L72) +[src/types/account.ts:72](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L72) --- @@ -2255,7 +2255,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/account.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L84) +[src/types/account.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L84) --- @@ -2265,7 +2265,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/account.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L91) +[src/types/account.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L91) --- @@ -2275,7 +2275,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/account.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L98) +[src/types/account.ts:98](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L98) --- @@ -2296,7 +2296,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/account.ts:116](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/account.ts#L116) +[src/types/account.ts:116](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/account.ts#L116) --- @@ -2306,7 +2306,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/cairoEnum.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/cairoEnum.ts#L3) +[src/types/cairoEnum.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/cairoEnum.ts#L3) --- @@ -2316,9 +2316,9 @@ percentage overhead on estimated fee #### Defined in -[src/types/calldata.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L3) +[src/types/calldata.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L3) -[src/types/calldata.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L9) +[src/types/calldata.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L9) --- @@ -2328,9 +2328,9 @@ percentage overhead on estimated fee #### Defined in -[src/types/calldata.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L11) +[src/types/calldata.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L11) -[src/types/calldata.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L21) +[src/types/calldata.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L21) --- @@ -2340,9 +2340,9 @@ percentage overhead on estimated fee #### Defined in -[src/types/calldata.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L23) +[src/types/calldata.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L23) -[src/types/calldata.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L30) +[src/types/calldata.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L30) --- @@ -2372,7 +2372,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/contract.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/contract.ts#L13) +[src/types/contract.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/contract.ts#L13) --- @@ -2396,7 +2396,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/contract.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/contract.ts#L14) +[src/types/contract.ts:14](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/contract.ts#L14) --- @@ -2406,7 +2406,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/contract.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/contract.ts#L16) +[src/types/contract.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/contract.ts#L16) --- @@ -2416,7 +2416,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/contract.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/contract.ts#L30) +[src/types/contract.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/contract.ts#L30) --- @@ -2426,7 +2426,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/contract.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/contract.ts#L41) +[src/types/contract.ts:41](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/contract.ts#L41) --- @@ -2436,7 +2436,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/contract.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/contract.ts#L57) +[src/types/contract.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/contract.ts#L57) --- @@ -2446,7 +2446,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/contract.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/contract.ts#L86) +[src/types/contract.ts:86](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/contract.ts#L86) --- @@ -2456,7 +2456,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/contract.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/contract.ts#L91) +[src/types/contract.ts:91](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/contract.ts#L91) --- @@ -2466,7 +2466,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/contract.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/contract.ts#L93) +[src/types/contract.ts:93](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/contract.ts#L93) --- @@ -2476,7 +2476,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/contract.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/contract.ts#L99) +[src/types/contract.ts:99](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/contract.ts#L99) --- @@ -2534,7 +2534,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/errors.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/errors.ts#L5) +[src/types/errors.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/errors.ts#L5) --- @@ -2544,7 +2544,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/errors.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/errors.ts#L51) +[src/types/errors.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/errors.ts#L51) --- @@ -2554,9 +2554,9 @@ percentage overhead on estimated fee #### Defined in -[src/types/outsideExecution.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L78) +[src/types/outsideExecution.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L78) -[src/types/outsideExecution.ts:83](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L83) +[src/types/outsideExecution.ts:83](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L83) --- @@ -2566,7 +2566,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/signer.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/signer.ts#L11) +[src/types/signer.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/signer.ts#L11) --- @@ -2587,7 +2587,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/signer.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/signer.ts#L16) +[src/types/signer.ts:16](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/signer.ts#L16) --- @@ -2597,7 +2597,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/signer.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/signer.ts#L25) +[src/types/signer.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/signer.ts#L25) --- @@ -2607,7 +2607,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/signer.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/signer.ts#L32) +[src/types/signer.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/signer.ts#L32) --- @@ -2617,7 +2617,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/signer.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/signer.ts#L36) +[src/types/signer.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/signer.ts#L36) --- @@ -2627,7 +2627,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/signer.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/signer.ts#L44) +[src/types/signer.ts:44](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/signer.ts#L44) --- @@ -2637,7 +2637,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/signer.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/signer.ts#L52) +[src/types/signer.ts:52](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/signer.ts#L52) --- @@ -2647,7 +2647,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/signer.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/signer.ts#L56) +[src/types/signer.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/signer.ts#L56) --- @@ -2657,7 +2657,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/signer.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/signer.ts#L63) +[src/types/signer.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/signer.ts#L63) --- @@ -2682,7 +2682,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/signer.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/signer.ts#L70) +[src/types/signer.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/signer.ts#L70) --- @@ -2700,7 +2700,7 @@ percentage overhead on estimated fee #### Defined in -[src/utils/transactionReceipt/transactionReceipt.type.ts:6](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.type.ts#L6) +[src/utils/transactionReceipt/transactionReceipt.type.ts:6](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.type.ts#L6) --- @@ -2710,7 +2710,7 @@ percentage overhead on estimated fee #### Defined in -[src/utils/transactionReceipt/transactionReceipt.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.type.ts#L12) +[src/utils/transactionReceipt/transactionReceipt.type.ts:12](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.type.ts#L12) --- @@ -2720,7 +2720,7 @@ percentage overhead on estimated fee #### Defined in -[src/utils/transactionReceipt/transactionReceipt.type.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.type.ts#L13) +[src/utils/transactionReceipt/transactionReceipt.type.ts:13](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.type.ts#L13) --- @@ -2730,7 +2730,7 @@ percentage overhead on estimated fee #### Defined in -[src/utils/transactionReceipt/transactionReceipt.type.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.type.ts#L15) +[src/utils/transactionReceipt/transactionReceipt.type.ts:15](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.type.ts#L15) --- @@ -2740,7 +2740,7 @@ percentage overhead on estimated fee #### Defined in -[src/utils/transactionReceipt/transactionReceipt.type.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.type.ts#L18) +[src/utils/transactionReceipt/transactionReceipt.type.ts:18](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.type.ts#L18) --- @@ -2750,7 +2750,7 @@ percentage overhead on estimated fee #### Defined in -[src/utils/transactionReceipt/transactionReceipt.type.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.type.ts#L21) +[src/utils/transactionReceipt/transactionReceipt.type.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.type.ts#L21) --- @@ -2766,7 +2766,7 @@ percentage overhead on estimated fee #### Defined in -[src/utils/transactionReceipt/transactionReceipt.type.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/utils/transactionReceipt/transactionReceipt.type.ts#L28) +[src/utils/transactionReceipt/transactionReceipt.type.ts:28](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/transactionReceipt/transactionReceipt.type.ts#L28) --- @@ -2785,7 +2785,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/configuration.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/configuration.ts#L5) +[src/types/paymaster/configuration.ts:5](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/configuration.ts#L5) --- @@ -2805,7 +2805,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L9) +[src/types/paymaster/response.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L9) --- @@ -2824,7 +2824,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L17) +[src/types/paymaster/response.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L17) --- @@ -2843,7 +2843,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L23) +[src/types/paymaster/response.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L23) --- @@ -2863,7 +2863,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L29) +[src/types/paymaster/response.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L29) --- @@ -2873,7 +2873,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L36) +[src/types/paymaster/response.ts:36](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L36) --- @@ -2890,7 +2890,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L47) +[src/types/paymaster/response.ts:47](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L47) --- @@ -2907,7 +2907,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L51) +[src/types/paymaster/response.ts:51](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L51) --- @@ -2924,7 +2924,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L55) +[src/types/paymaster/response.ts:55](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L55) --- @@ -2942,7 +2942,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L59) +[src/types/paymaster/response.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L59) --- @@ -2952,7 +2952,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L64) +[src/types/paymaster/response.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L64) --- @@ -2969,7 +2969,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L66) +[src/types/paymaster/response.ts:66](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L66) --- @@ -2986,7 +2986,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L70) +[src/types/paymaster/response.ts:70](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L70) --- @@ -3004,7 +3004,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L74) +[src/types/paymaster/response.ts:74](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L74) --- @@ -3022,7 +3022,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L79) +[src/types/paymaster/response.ts:79](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L79) --- @@ -3032,7 +3032,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L84) +[src/types/paymaster/response.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L84) --- @@ -3042,7 +3042,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:89](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L89) +[src/types/paymaster/response.ts:89](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L89) --- @@ -3060,7 +3060,7 @@ percentage overhead on estimated fee #### Defined in -[src/types/paymaster/response.ts:90](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/paymaster/response.ts#L90) +[src/types/paymaster/response.ts:90](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/paymaster/response.ts#L90) ## Variables @@ -3079,9 +3079,9 @@ percentage overhead on estimated fee #### Defined in -[src/types/lib/index.ts:171](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L171) +[src/types/lib/index.ts:171](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L171) -[src/types/lib/index.ts:178](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L178) +[src/types/lib/index.ts:178](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L178) --- @@ -3103,9 +3103,9 @@ to be #deprecated #### Defined in -[src/types/lib/index.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L195) +[src/types/lib/index.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L195) -[src/types/lib/index.ts:202](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L202) +[src/types/lib/index.ts:202](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L202) --- @@ -3123,9 +3123,9 @@ to be #deprecated #### Defined in -[src/types/lib/index.ts:204](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L204) +[src/types/lib/index.ts:204](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L204) -[src/types/lib/index.ts:210](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L210) +[src/types/lib/index.ts:210](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L210) --- @@ -3144,9 +3144,9 @@ to be #deprecated #### Defined in -[src/types/lib/index.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L212) +[src/types/lib/index.ts:212](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L212) -[src/types/lib/index.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L219) +[src/types/lib/index.ts:219](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L219) --- @@ -3163,9 +3163,9 @@ to be #deprecated #### Defined in -[src/types/lib/index.ts:221](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L221) +[src/types/lib/index.ts:221](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L221) -[src/types/lib/index.ts:226](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/index.ts#L226) +[src/types/lib/index.ts:226](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/index.ts#L226) --- @@ -3183,9 +3183,9 @@ to be #deprecated #### Defined in -[src/types/lib/contract/index.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/index.ts#L24) +[src/types/lib/contract/index.ts:24](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/index.ts#L24) -[src/types/lib/contract/index.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/lib/contract/index.ts#L30) +[src/types/lib/contract/index.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/lib/contract/index.ts#L30) --- @@ -3208,9 +3208,9 @@ to be #deprecated #### Defined in -[src/provider/types/spec.type.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L57) +[src/provider/types/spec.type.ts:57](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L57) -[src/provider/types/spec.type.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L58) +[src/provider/types/spec.type.ts:58](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L58) --- @@ -3231,9 +3231,9 @@ to be #deprecated #### Defined in -[src/provider/types/spec.type.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L60) +[src/provider/types/spec.type.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L60) -[src/provider/types/spec.type.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L61) +[src/provider/types/spec.type.ts:61](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L61) --- @@ -3250,9 +3250,9 @@ to be #deprecated #### Defined in -[src/provider/types/spec.type.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L63) +[src/provider/types/spec.type.ts:63](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L63) -[src/provider/types/spec.type.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L64) +[src/provider/types/spec.type.ts:64](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L64) --- @@ -3269,9 +3269,9 @@ to be #deprecated #### Defined in -[src/provider/types/spec.type.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L119) +[src/provider/types/spec.type.ts:119](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L119) -[src/provider/types/spec.type.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L120) +[src/provider/types/spec.type.ts:120](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L120) --- @@ -3288,9 +3288,9 @@ to be #deprecated #### Defined in -[src/provider/types/spec.type.ts:121](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L121) +[src/provider/types/spec.type.ts:121](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L121) -[src/provider/types/spec.type.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L122) +[src/provider/types/spec.type.ts:122](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L122) --- @@ -3309,9 +3309,9 @@ to be #deprecated #### Defined in -[src/provider/types/spec.type.ts:194](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L194) +[src/provider/types/spec.type.ts:194](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L194) -[src/provider/types/spec.type.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L195) +[src/provider/types/spec.type.ts:195](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L195) --- @@ -3328,9 +3328,9 @@ to be #deprecated #### Defined in -[src/provider/types/spec.type.ts:196](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L196) +[src/provider/types/spec.type.ts:196](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L196) -[src/provider/types/spec.type.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L197) +[src/provider/types/spec.type.ts:197](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L197) --- @@ -3348,9 +3348,9 @@ to be #deprecated #### Defined in -[src/types/calldata.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L3) +[src/types/calldata.ts:3](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L3) -[src/types/calldata.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L9) +[src/types/calldata.ts:9](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L9) --- @@ -3372,9 +3372,9 @@ to be #deprecated #### Defined in -[src/types/calldata.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L11) +[src/types/calldata.ts:11](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L11) -[src/types/calldata.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L21) +[src/types/calldata.ts:21](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L21) --- @@ -3393,9 +3393,9 @@ to be #deprecated #### Defined in -[src/types/calldata.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L23) +[src/types/calldata.ts:23](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L23) -[src/types/calldata.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L30) +[src/types/calldata.ts:30](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L30) --- @@ -3405,7 +3405,7 @@ to be #deprecated #### Defined in -[src/types/calldata.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L32) +[src/types/calldata.ts:32](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L32) --- @@ -3415,7 +3415,7 @@ to be #deprecated #### Defined in -[src/types/calldata.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/calldata.ts#L33) +[src/types/calldata.ts:33](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/calldata.ts#L33) --- @@ -3433,7 +3433,7 @@ to be #deprecated #### Defined in -[src/types/outsideExecution.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L34) +[src/types/outsideExecution.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L34) --- @@ -3451,7 +3451,7 @@ to be #deprecated #### Defined in -[src/types/outsideExecution.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L56) +[src/types/outsideExecution.ts:56](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L56) --- @@ -3469,9 +3469,9 @@ to be #deprecated #### Defined in -[src/types/outsideExecution.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L78) +[src/types/outsideExecution.ts:78](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L78) -[src/types/outsideExecution.ts:83](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/types/outsideExecution.ts#L83) +[src/types/outsideExecution.ts:83](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/types/outsideExecution.ts#L83) ## Functions @@ -3491,7 +3491,7 @@ entry is FEE_ESTIMATE #### Defined in -[src/provider/types/spec.type.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L135) +[src/provider/types/spec.type.ts:135](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L135) --- @@ -3511,4 +3511,4 @@ entry is RESOURCE_BOUNDS_MAPPING #### Defined in -[src/provider/types/spec.type.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.6.2/src/provider/types/spec.type.ts#L144) +[src/provider/types/spec.type.ts:144](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/provider/types/spec.type.ts#L144) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/uint256.md b/www/versioned_docs/version-7.6.4/API/namespaces/uint256.md similarity index 94% rename from www/versioned_docs/version-7.5.1/API/namespaces/uint256.md rename to www/versioned_docs/version-7.6.4/API/namespaces/uint256.md index afc16fb17..a49c3c1b2 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/uint256.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/uint256.md @@ -37,7 +37,7 @@ const result = uint256.uint256ToBN(uint256Value); #### Defined in -[src/utils/uint256.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/uint256.ts#L17) +[src/utils/uint256.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/uint256.ts#L17) --- @@ -71,7 +71,7 @@ const result1 = uint256.isUint256(-1); #### Defined in -[src/utils/uint256.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/uint256.ts#L34) +[src/utils/uint256.ts:34](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/uint256.ts#L34) --- @@ -103,4 +103,4 @@ const result = uint256.bnToUint256(1000000000n); #### Defined in -[src/utils/uint256.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/uint256.ts#L49) +[src/utils/uint256.ts:49](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/uint256.ts#L49) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/v2hash.md b/www/versioned_docs/version-7.6.4/API/namespaces/v2hash.md similarity index 95% rename from www/versioned_docs/version-7.5.1/API/namespaces/v2hash.md rename to www/versioned_docs/version-7.6.4/API/namespaces/v2hash.md index 8844cbfca..41038ee50 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/v2hash.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/v2hash.md @@ -34,7 +34,7 @@ format: hex-string - pedersen hash #### Defined in -[src/utils/hash/transactionHash/v2.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v2.ts#L17) +[src/utils/hash/transactionHash/v2.ts:17](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v2.ts#L17) --- @@ -67,7 +67,7 @@ format: hex-string #### Defined in -[src/utils/hash/transactionHash/v2.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v2.ts#L29) +[src/utils/hash/transactionHash/v2.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v2.ts#L29) --- @@ -97,7 +97,7 @@ format: hex-string #### Defined in -[src/utils/hash/transactionHash/v2.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v2.ts#L59) +[src/utils/hash/transactionHash/v2.ts:59](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v2.ts#L59) --- @@ -128,7 +128,7 @@ format: hex-string #### Defined in -[src/utils/hash/transactionHash/v2.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v2.ts#L84) +[src/utils/hash/transactionHash/v2.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v2.ts#L84) --- @@ -157,4 +157,4 @@ format: hex-string #### Defined in -[src/utils/hash/transactionHash/v2.ts:112](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v2.ts#L112) +[src/utils/hash/transactionHash/v2.ts:112](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v2.ts#L112) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/v3hash.md b/www/versioned_docs/version-7.6.4/API/namespaces/v3hash.md similarity index 94% rename from www/versioned_docs/version-7.5.1/API/namespaces/v3hash.md rename to www/versioned_docs/version-7.6.4/API/namespaces/v3hash.md index 56e924b5e..b7d2049d5 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/v3hash.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/v3hash.md @@ -25,7 +25,7 @@ custom_edit_url: null #### Defined in -[src/utils/hash/transactionHash/v3.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v3.ts#L29) +[src/utils/hash/transactionHash/v3.ts:29](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v3.ts#L29) --- @@ -49,7 +49,7 @@ encoded data #### Defined in -[src/utils/hash/transactionHash/v3.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v3.ts#L38) +[src/utils/hash/transactionHash/v3.ts:38](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v3.ts#L38) --- @@ -73,7 +73,7 @@ encoded data #### Defined in -[src/utils/hash/transactionHash/v3.ts:54](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v3.ts#L54) +[src/utils/hash/transactionHash/v3.ts:54](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v3.ts#L54) --- @@ -93,7 +93,7 @@ encoded data #### Defined in -[src/utils/hash/transactionHash/v3.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v3.ts#L62) +[src/utils/hash/transactionHash/v3.ts:62](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v3.ts#L62) --- @@ -116,7 +116,7 @@ hash tip and resource bounds (2 bound parameters) V3 RPC 0.7 #### Defined in -[src/utils/hash/transactionHash/v3.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v3.ts#L73) +[src/utils/hash/transactionHash/v3.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v3.ts#L73) --- @@ -139,7 +139,7 @@ hash tip and resource bounds (3 bounds params) V3 RPC 0.8 #### Defined in -[src/utils/hash/transactionHash/v3.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v3.ts#L82) +[src/utils/hash/transactionHash/v3.ts:82](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v3.ts#L82) --- @@ -169,7 +169,7 @@ hash tip and resource bounds (3 bounds params) V3 RPC 0.8 #### Defined in -[src/utils/hash/transactionHash/v3.ts:89](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v3.ts#L89) +[src/utils/hash/transactionHash/v3.ts:89](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v3.ts#L89) --- @@ -204,7 +204,7 @@ format: hex-string #### Defined in -[src/utils/hash/transactionHash/v3.ts:124](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v3.ts#L124) +[src/utils/hash/transactionHash/v3.ts:124](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v3.ts#L124) --- @@ -239,7 +239,7 @@ format: hex-string #### Defined in -[src/utils/hash/transactionHash/v3.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v3.ts#L157) +[src/utils/hash/transactionHash/v3.ts:157](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v3.ts#L157) --- @@ -273,4 +273,4 @@ format: hex-string #### Defined in -[src/utils/hash/transactionHash/v3.ts:190](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/utils/hash/transactionHash/v3.ts#L190) +[src/utils/hash/transactionHash/v3.ts:190](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/utils/hash/transactionHash/v3.ts#L190) diff --git a/www/versioned_docs/version-7.5.1/API/namespaces/wallet.md b/www/versioned_docs/version-7.6.4/API/namespaces/wallet.md similarity index 95% rename from www/versioned_docs/version-7.5.1/API/namespaces/wallet.md rename to www/versioned_docs/version-7.6.4/API/namespaces/wallet.md index c86708e14..a7f3d38f9 100644 --- a/www/versioned_docs/version-7.5.1/API/namespaces/wallet.md +++ b/www/versioned_docs/version-7.6.4/API/namespaces/wallet.md @@ -29,7 +29,7 @@ allowed accounts addresses #### Defined in -[src/wallet/connect.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/connect.ts#L25) +[src/wallet/connect.ts:25](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/connect.ts#L25) --- @@ -53,7 +53,7 @@ allowed accounts addresses #### Defined in -[src/wallet/connect.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/connect.ts#L39) +[src/wallet/connect.ts:39](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/connect.ts#L39) --- @@ -78,7 +78,7 @@ boolean #### Defined in -[src/wallet/connect.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/connect.ts#L48) +[src/wallet/connect.ts:48](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/connect.ts#L48) --- @@ -103,7 +103,7 @@ boolean #### Defined in -[src/wallet/connect.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/connect.ts#L60) +[src/wallet/connect.ts:60](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/connect.ts#L60) --- @@ -128,7 +128,7 @@ boolean #### Defined in -[src/wallet/connect.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/connect.ts#L73) +[src/wallet/connect.ts:73](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/connect.ts#L73) --- @@ -152,7 +152,7 @@ The current Starknet chain ID. #### Defined in -[src/wallet/connect.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/connect.ts#L84) +[src/wallet/connect.ts:84](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/connect.ts#L84) --- @@ -176,7 +176,7 @@ The deployment data result. #### Defined in -[src/wallet/connect.ts:92](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/connect.ts#L92) +[src/wallet/connect.ts:92](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/connect.ts#L92) --- @@ -201,7 +201,7 @@ The result of adding the invoke transaction. #### Defined in -[src/wallet/connect.ts:101](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/connect.ts#L101) +[src/wallet/connect.ts:101](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/connect.ts#L101) --- @@ -226,7 +226,7 @@ The result of adding the declare transaction. #### Defined in -[src/wallet/connect.ts:113](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/connect.ts#L113) +[src/wallet/connect.ts:113](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/connect.ts#L113) --- @@ -251,7 +251,7 @@ An array of signatures as strings. #### Defined in -[src/wallet/connect.ts:126](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/connect.ts#L126) +[src/wallet/connect.ts:126](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/connect.ts#L126) --- @@ -275,7 +275,7 @@ An array of supported specification strings. #### Defined in -[src/wallet/connect.ts:134](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/connect.ts#L134) +[src/wallet/connect.ts:134](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/connect.ts#L134) --- @@ -299,7 +299,7 @@ When the accounts are changed, the specified callback function will be called. #### Defined in -[src/wallet/connect.ts:147](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/connect.ts#L147) +[src/wallet/connect.ts:147](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/connect.ts#L147) --- @@ -322,4 +322,4 @@ Register a callback function to be called when the network is changed. #### Defined in -[src/wallet/connect.ts:161](https://github.com/starknet-io/starknet.js/blob/v7.5.1/src/wallet/connect.ts#L161) +[src/wallet/connect.ts:161](https://github.com/starknet-io/starknet.js/blob/v7.6.4/src/wallet/connect.ts#L161) diff --git a/www/docs/guides/L1message.md b/www/versioned_docs/version-7.6.4/guides/L1message.md similarity index 100% rename from www/docs/guides/L1message.md rename to www/versioned_docs/version-7.6.4/guides/L1message.md diff --git a/www/versioned_docs/version-7.5.1/guides/_category_.json b/www/versioned_docs/version-7.6.4/guides/_category_.json similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/_category_.json rename to www/versioned_docs/version-7.6.4/guides/_category_.json diff --git a/www/docs/guides/automatic_cairo_ABI_parsing.md b/www/versioned_docs/version-7.6.4/guides/automatic_cairo_ABI_parsing.md similarity index 100% rename from www/docs/guides/automatic_cairo_ABI_parsing.md rename to www/versioned_docs/version-7.6.4/guides/automatic_cairo_ABI_parsing.md diff --git a/www/docs/guides/cairo_enum.md b/www/versioned_docs/version-7.6.4/guides/cairo_enum.md similarity index 100% rename from www/docs/guides/cairo_enum.md rename to www/versioned_docs/version-7.6.4/guides/cairo_enum.md diff --git a/www/versioned_docs/version-7.5.1/guides/configuration.md b/www/versioned_docs/version-7.6.4/guides/configuration.md similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/configuration.md rename to www/versioned_docs/version-7.6.4/guides/configuration.md diff --git a/www/docs/guides/connect_account.md b/www/versioned_docs/version-7.6.4/guides/connect_account.md similarity index 100% rename from www/docs/guides/connect_account.md rename to www/versioned_docs/version-7.6.4/guides/connect_account.md diff --git a/www/docs/guides/connect_contract.md b/www/versioned_docs/version-7.6.4/guides/connect_contract.md similarity index 100% rename from www/docs/guides/connect_contract.md rename to www/versioned_docs/version-7.6.4/guides/connect_contract.md diff --git a/www/docs/guides/connect_network.md b/www/versioned_docs/version-7.6.4/guides/connect_network.md similarity index 100% rename from www/docs/guides/connect_network.md rename to www/versioned_docs/version-7.6.4/guides/connect_network.md diff --git a/www/docs/guides/create_account.md b/www/versioned_docs/version-7.6.4/guides/create_account.md similarity index 100% rename from www/docs/guides/create_account.md rename to www/versioned_docs/version-7.6.4/guides/create_account.md diff --git a/www/docs/guides/create_contract.md b/www/versioned_docs/version-7.6.4/guides/create_contract.md similarity index 100% rename from www/docs/guides/create_contract.md rename to www/versioned_docs/version-7.6.4/guides/create_contract.md diff --git a/www/docs/guides/define_call_message.md b/www/versioned_docs/version-7.6.4/guides/define_call_message.md similarity index 100% rename from www/docs/guides/define_call_message.md rename to www/versioned_docs/version-7.6.4/guides/define_call_message.md diff --git a/www/versioned_docs/version-7.5.1/guides/doc_scripts/deployBraavos.ts b/www/versioned_docs/version-7.6.4/guides/doc_scripts/deployBraavos.ts similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/doc_scripts/deployBraavos.ts rename to www/versioned_docs/version-7.6.4/guides/doc_scripts/deployBraavos.ts diff --git a/www/versioned_docs/version-7.6.2/guides/estimate_fees.md b/www/versioned_docs/version-7.6.4/guides/estimate_fees.md similarity index 99% rename from www/versioned_docs/version-7.6.2/guides/estimate_fees.md rename to www/versioned_docs/version-7.6.4/guides/estimate_fees.md index 6401fe41c..bed0ba9a4 100644 --- a/www/versioned_docs/version-7.6.2/guides/estimate_fees.md +++ b/www/versioned_docs/version-7.6.4/guides/estimate_fees.md @@ -154,7 +154,8 @@ config.set('feeMarginPercentage', { - Values are additional percentage: 75 means 75% additional fees. - To get back to normal values: set all values to 50. - ::: + +::: Example for declaring, with 80% additional fees: diff --git a/www/docs/guides/events.md b/www/versioned_docs/version-7.6.4/guides/events.md similarity index 100% rename from www/docs/guides/events.md rename to www/versioned_docs/version-7.6.4/guides/events.md diff --git a/www/docs/guides/interact.md b/www/versioned_docs/version-7.6.4/guides/interact.md similarity index 100% rename from www/docs/guides/interact.md rename to www/versioned_docs/version-7.6.4/guides/interact.md diff --git a/www/versioned_docs/version-7.5.1/guides/intro.md b/www/versioned_docs/version-7.6.4/guides/intro.md similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/intro.md rename to www/versioned_docs/version-7.6.4/guides/intro.md diff --git a/www/versioned_docs/version-7.5.1/guides/migrate.md b/www/versioned_docs/version-7.6.4/guides/migrate.md similarity index 94% rename from www/versioned_docs/version-7.5.1/guides/migrate.md rename to www/versioned_docs/version-7.6.4/guides/migrate.md index cffa4ec04..47e1609fa 100644 --- a/www/versioned_docs/version-7.5.1/guides/migrate.md +++ b/www/versioned_docs/version-7.6.4/guides/migrate.md @@ -75,9 +75,23 @@ const account0 = new Account( const res = await account0.execute(myCall, { version: 1 }); ``` +## Contract method options + +In previous versions, the named `Contract` instance methods that correspond to the methods of the Cairo smart contract allow an additional `ContractOptions` parameter. + +Support for this parameter has been removed, and the `Contract` methods accept only parameters that align with the parameters of the smart contract. The same functionality is achieved by chaining the [`withOptions`](../API/classes/Contract#withoptions) method before the mapped contract methods. + +```typescript +// v6 +const result = await myContract.some_method(arg1, arg2, options); + +// v7 +const result = await myContract.withOptions(options).some_method(arg1, arg2); +``` + ## Transaction receipt -In the `ReceiptTx` class, the status [`isRejected`](https://starknetjs.com/docs/6.23.1/API/classes/ReceiptTx#isrejected) has been removed. +In the `ReceiptTx` class, the status [`isRejected`](../../6.24.1/API/classes/ReceiptTx#isrejected) has been removed. ## Removed deprecated functionalities diff --git a/www/docs/guides/multiCall.md b/www/versioned_docs/version-7.6.4/guides/multiCall.md similarity index 100% rename from www/docs/guides/multiCall.md rename to www/versioned_docs/version-7.6.4/guides/multiCall.md diff --git a/www/docs/guides/outsideExecution.md b/www/versioned_docs/version-7.6.4/guides/outsideExecution.md similarity index 100% rename from www/docs/guides/outsideExecution.md rename to www/versioned_docs/version-7.6.4/guides/outsideExecution.md diff --git a/www/versioned_docs/version-7.6.2/guides/paymaster.md b/www/versioned_docs/version-7.6.4/guides/paymaster.md similarity index 94% rename from www/versioned_docs/version-7.6.2/guides/paymaster.md rename to www/versioned_docs/version-7.6.4/guides/paymaster.md index 98cc98ce4..8aa086ac3 100644 --- a/www/versioned_docs/version-7.6.2/guides/paymaster.md +++ b/www/versioned_docs/version-7.6.4/guides/paymaster.md @@ -2,7 +2,7 @@ sidebar_position: 20 --- -# Execute calls using paymaster +# Execute calls using Paymaster ## Overview @@ -11,7 +11,7 @@ STRK. :::info -There are 2 types of paymaster transaction: +There are 2 types of Paymaster transactions: - `default` when the account is paying the fees. - `sponsored` when a dApp wants to cover the gas fees on behalf of users. @@ -40,7 +40,7 @@ By default, a random service is selected in the list of available services: const myPaymasterRpc = new PaymasterRpc({ default: true }); ``` -If you want a specific paymaster service: +If you want a specific Paymaster service: ```typescript const myPaymasterRpc = new PaymasterRpc({ nodeUrl: 'https://sepolia.paymaster.avnu.fi' }); @@ -52,9 +52,9 @@ Current available services are: | :--: | :--------------------------------: | :-------------------------------: | | AVNU | https://starknet.paymaster.avnu.fi | https://sepolia.paymaster.avnu.fi | -## Account with paymaster feature +## Account with Paymaster feature -To instantiate a new account compatible with paymaster: +To instantiate a new account compatible with Paymaster: ```typescript const myAccount = new Account( @@ -95,7 +95,7 @@ console.log(supported); ## Sending a Transaction with a Paymaster -To send a [`Call`](./define_call_message.md#call-or-call) (result of [`myContract.populate()`](./define_call_message.md#object-with-abi-conformity-check) or `myCallData.compile()`), here for a `default` paymaster transaction: +To send a [`Call`](./define_call_message.md#call-or-call) (result of [`myContract.populate()`](./define_call_message.md#object-with-abi-conformity-check) or `myCallData.compile()`), here for a `default` Paymaster transaction: ```typescript const gasToken = '0x53b40a647cedfca6ca84f542a0fe36736031905a9639a7f19a3c1e66bfd5080'; // USDC in Testnet @@ -112,14 +112,14 @@ const res = await myAccount.executePaymasterTransaction( const txR = await myProvider.waitForTransaction(res.transaction_hash); ``` -### Sponsored paymaster +### Sponsored Paymaster -For a sponsored transaction, use : +For a sponsored transaction, use: ```typescript const myPaymasterRpc = new PaymasterRpc({ nodeUrl: 'https://sepolia.paymaster.avnu.fi', - headers: { 'api-key': process.env.PAYMASTER_API_KEY }, + headers: { 'x-paymaster-api-key': process.env.PAYMASTER_API_KEY }, }); const myAccount = new Account( myProvider, @@ -200,7 +200,7 @@ Here are the available methods: | `isAvailable() ` | Returns `true` if the Paymaster service is up and running. | | ` getSupportedTokens()` | Returns the accepted tokens and their price in STRK. | | `buildTransaction(...) ` | Builds the required data (could include a typed data to sign) for the execution | -| `executeTransaction(...)` | Calls the paymasters service to execute the transaction | +| `executeTransaction(...)` | Calls the Paymaster service to execute the transaction | ## Examples diff --git a/www/versioned_docs/version-7.5.1/guides/pictures/ERC20.png b/www/versioned_docs/version-7.6.4/guides/pictures/ERC20.png similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/pictures/ERC20.png rename to www/versioned_docs/version-7.6.4/guides/pictures/ERC20.png diff --git a/www/docs/guides/pictures/Interact_contract.png b/www/versioned_docs/version-7.6.4/guides/pictures/Interact_contract.png similarity index 100% rename from www/docs/guides/pictures/Interact_contract.png rename to www/versioned_docs/version-7.6.4/guides/pictures/Interact_contract.png diff --git a/www/versioned_docs/version-7.5.1/guides/pictures/LedgerConnectivity.png b/www/versioned_docs/version-7.6.4/guides/pictures/LedgerConnectivity.png similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/pictures/LedgerConnectivity.png rename to www/versioned_docs/version-7.6.4/guides/pictures/LedgerConnectivity.png diff --git a/www/versioned_docs/version-7.5.1/guides/pictures/LedgerTitle.png b/www/versioned_docs/version-7.6.4/guides/pictures/LedgerTitle.png similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/pictures/LedgerTitle.png rename to www/versioned_docs/version-7.6.4/guides/pictures/LedgerTitle.png diff --git a/www/versioned_docs/version-7.5.1/guides/pictures/SelectWallet.png b/www/versioned_docs/version-7.6.4/guides/pictures/SelectWallet.png similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/pictures/SelectWallet.png rename to www/versioned_docs/version-7.6.4/guides/pictures/SelectWallet.png diff --git a/www/versioned_docs/version-7.5.1/guides/pictures/WalletAccountArchitecture.png b/www/versioned_docs/version-7.6.4/guides/pictures/WalletAccountArchitecture.png similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/pictures/WalletAccountArchitecture.png rename to www/versioned_docs/version-7.6.4/guides/pictures/WalletAccountArchitecture.png diff --git a/www/versioned_docs/version-7.5.1/guides/pictures/addToken.png b/www/versioned_docs/version-7.6.4/guides/pictures/addToken.png similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/pictures/addToken.png rename to www/versioned_docs/version-7.6.4/guides/pictures/addToken.png diff --git a/www/docs/guides/pictures/createContract.png b/www/versioned_docs/version-7.6.4/guides/pictures/createContract.png similarity index 100% rename from www/docs/guides/pictures/createContract.png rename to www/versioned_docs/version-7.6.4/guides/pictures/createContract.png diff --git a/www/versioned_docs/version-7.6.2/guides/pictures/encodeFn2.png b/www/versioned_docs/version-7.6.4/guides/pictures/encodeFn2.png similarity index 100% rename from www/versioned_docs/version-7.6.2/guides/pictures/encodeFn2.png rename to www/versioned_docs/version-7.6.4/guides/pictures/encodeFn2.png diff --git a/www/versioned_docs/version-7.5.1/guides/pictures/executeTx.png b/www/versioned_docs/version-7.6.4/guides/pictures/executeTx.png similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/pictures/executeTx.png rename to www/versioned_docs/version-7.6.4/guides/pictures/executeTx.png diff --git a/www/docs/guides/pictures/starknet-js-chart.png b/www/versioned_docs/version-7.6.4/guides/pictures/starknet-js-chart.png similarity index 100% rename from www/docs/guides/pictures/starknet-js-chart.png rename to www/versioned_docs/version-7.6.4/guides/pictures/starknet-js-chart.png diff --git a/www/versioned_docs/version-7.5.1/guides/pictures/switchNetwork.png b/www/versioned_docs/version-7.6.4/guides/pictures/switchNetwork.png similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/pictures/switchNetwork.png rename to www/versioned_docs/version-7.6.4/guides/pictures/switchNetwork.png diff --git a/www/docs/guides/signature.md b/www/versioned_docs/version-7.6.4/guides/signature.md similarity index 100% rename from www/docs/guides/signature.md rename to www/versioned_docs/version-7.6.4/guides/signature.md diff --git a/www/docs/guides/use_ERC20.md b/www/versioned_docs/version-7.6.4/guides/use_ERC20.md similarity index 100% rename from www/docs/guides/use_ERC20.md rename to www/versioned_docs/version-7.6.4/guides/use_ERC20.md diff --git a/www/docs/guides/walletAccount.md b/www/versioned_docs/version-7.6.4/guides/walletAccount.md similarity index 100% rename from www/docs/guides/walletAccount.md rename to www/versioned_docs/version-7.6.4/guides/walletAccount.md diff --git a/www/versioned_docs/version-7.5.1/guides/websocket_channel.md b/www/versioned_docs/version-7.6.4/guides/websocket_channel.md similarity index 100% rename from www/versioned_docs/version-7.5.1/guides/websocket_channel.md rename to www/versioned_docs/version-7.6.4/guides/websocket_channel.md diff --git a/www/docs/guides/what_s_starknet.js.md b/www/versioned_docs/version-7.6.4/guides/what_s_starknet.js.md similarity index 99% rename from www/docs/guides/what_s_starknet.js.md rename to www/versioned_docs/version-7.6.4/guides/what_s_starknet.js.md index 1a214e776..92bee94e2 100644 --- a/www/docs/guides/what_s_starknet.js.md +++ b/www/versioned_docs/version-7.6.4/guides/what_s_starknet.js.md @@ -13,13 +13,11 @@ Starknet.js is a library that helps connect your website or your Decentralized A Some important topics that have to be understood: - You can connect your DAPP to several networks: - - [Starknet Mainnet](https://starkscan.co) (Layer 2 of [Ethereum network](https://etherscan.io/) ). - [Starknet Testnet](https://sepolia.starkscan.co/) (Layer 2 of [Sepolia network](https://sepolia.etherscan.io/) (testnet of Ethereum)). - [Starknet Devnet](https://github.com/0xSpaceShard/starknet-devnet) (your local Starknet network, for developers). and also to some more specific solutions: - - private customized version of Starknet. - local Starknet node (connected to mainnet or testnet). diff --git a/www/versioned_sidebars/version-7.6.2-sidebars.json b/www/versioned_sidebars/version-7.6.2-sidebars.json deleted file mode 100644 index cff0c94e1..000000000 --- a/www/versioned_sidebars/version-7.6.2-sidebars.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "defaultSidebar": [ - { - "type": "autogenerated", - "dirName": "." - } - ] -} diff --git a/www/versioned_sidebars/version-7.5.1-sidebars.json b/www/versioned_sidebars/version-7.6.4-sidebars.json similarity index 100% rename from www/versioned_sidebars/version-7.5.1-sidebars.json rename to www/versioned_sidebars/version-7.6.4-sidebars.json diff --git a/www/versions.json b/www/versions.json index 4fabceb01..84c152191 100644 --- a/www/versions.json +++ b/www/versions.json @@ -1 +1 @@ -["7.6.2", "7.5.1", "6.24.1", "6.23.1", "6.11.0"] +["7.6.4", "6.24.1", "6.23.1", "6.11.0"]